03:46:50.521 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:00.071 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:47:20.522 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:50.523 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:00.072 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:48:20.524 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:50.525 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:00.073 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:49:20.526 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:50.527 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:00.074 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:50:20.528 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:50.529 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:00.075 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:51:20.530 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:50.531 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:00.076 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:52:20.532 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:50.533 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:00.077 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:53:20.534 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:50.535 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:00.078 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:54:20.536 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:50.537 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:00.079 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:55:20.538 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:50.539 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:00.080 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:56:20.540 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:50.541 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:00.081 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:57:20.542 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:50.544 [info] {"source":"oban","duration":882,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:00.082 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:58:20.545 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:50.546 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:00.083 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 03:59:20.547 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:50.548 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:00.084 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:00:20.549 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:50.551 [info] {"source":"oban","duration":1183,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:00.085 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:01:20.554 [info] {"source":"oban","duration":2512,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:50.557 [info] {"source":"oban","duration":2553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:00.086 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:02:20.559 [info] {"source":"oban","duration":1235,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:50.561 [info] {"source":"oban","duration":921,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:00.087 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:03:20.562 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:50.563 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:00.088 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:04:20.564 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:50.566 [info] {"source":"oban","duration":896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:00.089 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:05:20.567 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:50.568 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:00.090 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:06:20.569 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:50.571 [info] {"source":"oban","duration":1233,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:00.091 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:07:20.572 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:50.573 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:00.092 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:08:20.575 [info] {"source":"oban","duration":896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:50.577 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:00.093 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:09:20.578 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:50.579 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:00.094 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:10:20.581 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:50.582 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:00.095 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:11:20.583 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:50.584 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:00.096 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:12:20.585 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:50.587 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:00.097 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:13:20.589 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:50.590 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:00.098 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:14:20.591 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:50.592 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:00.099 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:15:20.593 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:50.594 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:00.100 [info] {"source":"oban","duration":114,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:16:20.595 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:50.596 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:00.101 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:17:20.597 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:50.598 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:00.102 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:18:20.599 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:50.600 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:00.103 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:19:20.601 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:50.602 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:00.104 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:20:20.603 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:50.605 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:00.105 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:21:20.606 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:50.607 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:00.106 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:22:20.608 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:50.609 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:00.107 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:23:20.611 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:50.613 [info] {"source":"oban","duration":919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:00.108 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:24:20.614 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:50.615 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:00.109 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:25:20.616 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:50.617 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:00.110 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:26:20.618 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:50.619 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:00.111 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:27:20.620 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:50.621 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:00.112 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:28:20.622 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:50.624 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:00.113 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:29:20.626 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:50.627 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:00.114 [info] {"source":"oban","duration":731,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:30:20.628 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:50.629 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:00.116 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:31:20.630 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:50.631 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:00.117 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:32:20.632 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:50.633 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:00.118 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:33:20.634 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:50.635 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:00.119 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:34:20.636 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:50.637 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:00.120 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:35:20.638 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:50.640 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:00.121 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:36:20.641 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:50.643 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:00.122 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:37:20.644 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:50.645 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:00.123 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:38:20.647 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:50.648 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:00.124 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:39:20.649 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:50.650 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:00.125 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:40:20.651 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:50.652 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:00.126 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:41:20.653 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:50.654 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:00.127 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:42:20.655 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:50.656 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:00.128 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:43:20.657 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:50.658 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:00.129 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:44:20.659 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:50.661 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:00.130 [info] {"source":"oban","duration":111,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:45:20.662 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:50.663 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:00.131 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:46:20.664 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:50.665 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:00.132 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:47:20.666 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:50.667 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:00.133 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:48:20.668 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:50.669 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:00.134 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:49:20.670 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:50.671 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:00.135 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:50:20.672 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:50.673 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:00.136 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:51:20.674 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:50.675 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:00.137 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:52:20.676 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:50.677 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:00.138 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:53:20.678 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:50.679 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:00.139 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:54:20.680 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:50.682 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:00.140 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:55:20.683 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:50.684 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:00.141 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:56:20.685 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:50.686 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:00.142 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:57:20.687 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:50.688 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:00.143 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:58:20.689 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:50.691 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:00.144 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 04:59:20.692 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:50.693 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:00.145 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:00:20.694 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:50.695 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:00.146 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:01:20.696 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:50.697 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:00.147 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:02:20.698 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:50.700 [info] {"source":"oban","duration":1107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:00.148 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:03:20.702 [info] {"source":"oban","duration":1373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:50.703 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:00.149 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:04:20.704 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:50.705 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:00.150 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:05:20.706 [info] {"source":"oban","duration":894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:50.708 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:00.151 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:06:20.709 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:50.710 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:00.152 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:07:20.711 [info] {"source":"oban","duration":491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:50.712 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:00.153 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:08:20.713 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:50.714 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:00.154 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:09:20.715 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:50.716 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:00.155 [info] {"source":"oban","duration":490,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:10:20.717 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:50.718 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:00.156 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:11:20.719 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:50.720 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:00.157 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:12:20.721 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:50.722 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:00.158 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:13:20.723 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:50.724 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:00.159 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:14:20.725 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:50.726 [info] {"source":"oban","duration":816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:00.160 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:15:20.727 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:50.728 [info] {"source":"oban","duration":850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:00.161 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:16:20.730 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:50.731 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:00.162 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:17:20.732 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:50.733 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:00.163 [info] {"source":"oban","duration":273,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:18:20.734 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:50.735 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:00.164 [info] {"source":"oban","duration":324,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:19:20.736 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:50.737 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:00.165 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:20:20.738 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:50.739 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:00.166 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:21:20.740 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:50.741 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:00.167 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:22:20.742 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:50.743 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:00.168 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:23:20.744 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:50.745 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:00.169 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:24:20.746 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:50.748 [info] {"source":"oban","duration":1497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:00.170 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:25:20.749 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:50.750 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:00.171 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:26:20.752 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:26.892 [info] GET / 05:26:26.933 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 05:26:26.935 [debug] QUERY OK source="settings" db=1.8ms idle=865.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:26.937 [debug] QUERY OK source="media_profiles" db=0.7ms queue=1.3ms idle=632.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 05:26:26.938 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=634.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 05:26:27.059 [debug] QUERY OK source="media_items" db=108.8ms queue=0.1ms idle=647.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:26:27.072 [debug] QUERY OK source="media_items" db=12.3ms queue=0.1ms idle=756.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 05:26:27.124 [debug] QUERY OK source="settings" db=0.2ms idle=186.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:27.125 [debug] QUERY OK source="settings" db=0.1ms idle=186.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:27.135 [debug] QUERY OK source="settings" db=0.1ms idle=75.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:27.175 [debug] QUERY OK source="tasks" db=0.2ms idle=103.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:26:27.226 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=153.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:26:27.227 [debug] QUERY OK source="media_items" db=0.4ms queue=0.2ms idle=102.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:26:27.228 [debug] QUERY OK source="sources" db=0.4ms idle=103.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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 (?,?,?,?)) [4, 5, 2, 1] 05:26:27.233 [debug] QUERY OK source="media_items" db=3.3ms queue=0.2ms idle=94.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:26:27.238 [debug] QUERY OK source="media_items" db=3.6ms queue=0.4ms idle=58.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 05:26:27.252 [info] Sent 200 in 360ms 05:26:27.638 [info] GET /.env1 05:26:27.639 [info] GET /CVS/Root 05:26:27.640 [info] GET /.env. 05:26:27.641 [info] GET /.git-credentials 05:26:27.641 [debug] QUERY OK source="settings" db=1.4ms queue=0.1ms idle=412.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:27.640 [info] GET /_darcs/prefs/binaries 05:26:27.640 [info] GET /.git/COMMIT_EDITMSG 05:26:27.641 [info] GET /.svn/wc.db 05:26:27.641 [info] GET /.git/HEAD 05:26:27.641 [debug] QUERY OK source="settings" db=0.6ms queue=0.4ms idle=411.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:27.642 [info] GET /.gitmodules 05:26:27.642 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=407.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:27.642 [info] GET /.svn/entries 05:26:27.642 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=403.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:27.642 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.642 [debug] QUERY OK source="settings" db=0.9ms queue=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 [] 05:26:27.641 [info] GET /.git/packed-refs 05:26:27.643 [debug] QUERY OK source="settings" db=0.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 [] 05:26:27.641 [info] GET /.git/index 05:26:27.641 [info] GET /.git/logs/HEAD 05:26:27.642 [info] GET /.bzr/branch/branch.conf 05:26:27.642 [debug] QUERY OK source="settings" db=0.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 [] 05:26:27.642 [debug] QUERY OK source="settings" db=0.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 [] 05:26:27.643 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.643 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.644 [debug] QUERY OK source="settings" db=0.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 [] 05:26:27.644 [debug] QUERY OK source="settings" db=0.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 [] 05:26:27.644 [debug] QUERY OK source="settings" db=0.1ms 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 [] 05:26:27.644 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.645 [debug] QUERY OK source="settings" db=0.1ms 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 [] 05:26:27.645 [debug] QUERY OK source="settings" db=1.6ms 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 [] 05:26:27.645 [debug] QUERY OK source="settings" db=1.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 [] 05:26:27.645 [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 [] 05:26:27.645 [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 [] 05:26:27.645 [debug] QUERY OK source="settings" db=0.3ms 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 [] 05:26:27.645 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.646 [debug] QUERY OK source="settings" db=0.1ms 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 [] 05:26:27.646 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.646 [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 [] 05:26:27.646 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.646 [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 [] 05:26:27.646 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.646 [debug] QUERY OK source="settings" db=0.3ms 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 [] 05:26:27.646 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.647 [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 [] 05:26:27.647 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.647 [debug] QUERY OK source="settings" db=0.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 [] 05:26:27.647 [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 [] 05:26:27.647 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.647 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.668 [info] GET /.git/config 05:26:27.669 [debug] QUERY OK source="settings" db=0.1ms idle=22.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:27.669 [debug] QUERY OK source="settings" db=0.0ms idle=22.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:27.669 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.674 [debug] QUERY OK source="settings" db=35.0ms queue=0.3ms idle=411.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:27.674 [debug] QUERY OK source="settings" db=31.5ms 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 [] 05:26:27.674 [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 [] 05:26:27.674 [debug] QUERY OK source="settings" db=0.2ms idle=26.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:27.674 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.674 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.679 [info] GET /.hg/hgrc 05:26:27.684 [error] #PID<0.4558.0> running PinchflatWeb.Endpoint (connection #PID<0.4536.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu: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.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4558.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13Pui5110XBsAACqj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4558.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.6 (truncated) 05:26:27.685 [error] #PID<0.4555.0> running PinchflatWeb.Endpoint (connection #PID<0.4535.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.bzr/branch/branch.conf ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.bzr/branch/branch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4535.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.bzr/branch/branch.conf", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41768}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4555.0>, params: %{}, path_info: [".bzr", "branch", "branch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.bzr/branch/branch.conf", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13PoJgY_LqOgAAFEB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4535.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.bzr/branch/branch.conf", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41768}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /.bzr/branch/branch (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4535.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.bzr/branch/branch.conf", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41768}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4555.0>, params: %{}, path_info: [".bzr", "branch", "branch"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https (truncated) 05:26:27.687 [error] #PID<0.4549.0> running PinchflatWeb.Endpoint (connection #PID<0.4537.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu: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.4537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/packed-refs", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41784}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4549.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.git/packed-refs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13Pn_4GyZS-EAAFBh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/packed-refs", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41784}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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/packed-refs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/packed-refs", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41784}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4549.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4c (truncated) 05:26:27.688 [error] #PID<0.4556.0> running PinchflatWeb.Endpoint (connection #PID<0.4544.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.gitmodules ** (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.4544.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.gitmodules", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41840}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4556.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.gitmodules", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13PoKgeBYyxUAAFEh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4544.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.gitmodules", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41840}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4544.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.gitmodules", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41840}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4556.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.gitmod (truncated) 05:26:27.686 [error] #PID<0.4553.0> running PinchflatWeb.Endpoint (connection #PID<0.4541.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.svn/wc.db ** (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/wc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4541.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.svn/wc.db", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41830}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4553.0>, params: %{}, path_info: [".svn", "wc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.svn/wc.db", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13PoB9iEJCRoAAFDB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4541.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.svn/wc.db", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41830}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /.svn/wc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4541.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.svn/wc.db", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41830}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4553.0>, params: %{}, path_info: [".svn", "wc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], (truncated) 05:26:27.686 [error] #PID<0.4554.0> running PinchflatWeb.Endpoint (connection #PID<0.4543.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu: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.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4554.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.git/HEAD", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13PoFnPwvFXIAAFDh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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/HEAD (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/HEAD", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4554.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], (truncated) 05:26:27.684 [error] #PID<0.4542.0> running PinchflatWeb.Endpoint (connection #PID<0.4530.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /CVS/Root ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /CVS/Root (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/CVS/Root", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4542.0>, params: %{}, path_info: ["CVS", "Root"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/CVS/Root", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13PnhRoyUqW4AABfC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/CVS/Root", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /CVS/Root (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/CVS/Root", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4542.0>, params: %{}, path_info: ["CVS", "Root"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], (truncated) 05:26:27.687 [error] #PID<0.4551.0> running PinchflatWeb.Endpoint (connection #PID<0.4539.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu: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.4539.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/logs/HEAD", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41818}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4551.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.git/logs/HEAD", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13PoBVZ0Xd94AAFCh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4539.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/logs/HEAD", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41818}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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/logs/HEAD (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4539.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/logs/HEAD", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41818}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4551.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, (truncated) 05:26:27.685 [error] #PID<0.4529.0> running PinchflatWeb.Endpoint (connection #PID<0.4526.0>, stream id 3) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env1 ** (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.4526.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env1", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41728}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4529.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env1", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13PnPJXBwa-cAAFBB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4526.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env1", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41728}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4526.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env1", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41728}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4529.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env1", resp_body: nil, (truncated) 05:26:27.743 [error] #PID<0.4546.0> running PinchflatWeb.Endpoint (connection #PID<0.4531.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu: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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4531.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41732}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4546.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13Pnyi7F4WBUAABfi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4531.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41732}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4531.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41732}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4546.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.", res (truncated) 05:26:27.743 [error] #PID<0.4557.0> running PinchflatWeb.Endpoint (connection #PID<0.4545.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu: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.4545.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.svn/entries", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41842}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4557.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.svn/entries", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13PoOXrRL5cEAAFFB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4545.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.svn/entries", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41842}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /.svn/entries (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4545.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.svn/entries", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41842}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4557.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34 (truncated) 05:26:27.743 [error] #PID<0.4550.0> running PinchflatWeb.Endpoint (connection #PID<0.4538.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu: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.4538.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41788}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4550.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.git/index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13PoArHrdSnoAAFCB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4538.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41788}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4538.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41788}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4550.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} (truncated) 05:26:27.742 [error] #PID<0.4547.0> running PinchflatWeb.Endpoint (connection #PID<0.4532.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /_darcs/prefs/binaries ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_darcs/prefs/binaries (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4532.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_darcs/prefs/binaries", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41750}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4547.0>, params: %{}, path_info: ["_darcs", "prefs", "binaries"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/_darcs/prefs/binaries", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13Pn4u8pGGCwAABgC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4532.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_darcs/prefs/binaries", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41750}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /_darcs/prefs/binaries (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4532.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_darcs/prefs/binaries", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41750}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4547.0>, params: %{}, path_info: ["_darcs", "prefs", "binaries"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "htt (truncated) 05:26:27.743 [error] #PID<0.4552.0> running PinchflatWeb.Endpoint (connection #PID<0.4534.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu: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.4534.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git-credentials", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41764}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4552.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.git-credentials", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13Pn6nNxSnLMAABhC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4534.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git-credentials", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41764}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4534.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git-credentials", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41764}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4552.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], (truncated) 05:26:27.685 [error] #PID<0.4548.0> running PinchflatWeb.Endpoint (connection #PID<0.4533.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.git/COMMIT_EDITMSG ** (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/COMMIT_EDITMSG (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4533.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/COMMIT_EDITMSG", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41756}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4548.0>, params: %{}, path_info: [".git", "COMMIT_EDITMSG"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.git/COMMIT_EDITMSG", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13Pn5lF4fqjsAABgi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4533.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/COMMIT_EDITMSG", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41756}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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/COMMIT_EDITMSG (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4533.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/COMMIT_EDITMSG", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41756}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4548.0>, params: %{}, path_info: [".git", "COMMIT_EDITMSG"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-fo (truncated) 05:26:27.761 [info] GET /.env.5 05:26:27.761 [info] GET /.env.4 05:26:27.761 [info] GET /.env.qa 05:26:27.761 [info] GET /.envrc 05:26:27.761 [info] GET /.env_1 05:26:27.761 [info] GET /.env.2 05:26:27.762 [debug] QUERY OK source="settings" db=0.7ms idle=91.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:27.762 [debug] QUERY OK source="settings" db=0.4ms idle=87.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:27.762 [debug] QUERY OK source="settings" db=0.6ms idle=87.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:27.763 [debug] QUERY OK source="settings" db=0.5ms idle=88.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:27.763 [debug] QUERY OK source="settings" db=0.6ms idle=88.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:27.763 [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 [] 05:26:27.763 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.763 [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 [] 05:26:27.763 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.763 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.766 [debug] QUERY OK source="settings" db=2.6ms queue=0.3ms 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 [] 05:26:27.767 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:27.764 [error] #PID<0.4563.0> running PinchflatWeb.Endpoint (connection #PID<0.4544.0>, stream id 2) terminated Server: pinchflat.homelab.simonjonas.eu: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.4544.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_1", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41840}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4563.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env_1", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13QEn_o3wz0EAACrD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4544.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_1", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41840}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4544.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_1", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41840}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4563.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env_1", resp_body: ni (truncated) 05:26:27.764 [error] #PID<0.4559.0> running PinchflatWeb.Endpoint (connection #PID<0.4540.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu: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.4540.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.hg/hgrc", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41800}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4559.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.hg/hgrc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13PxFWOLtBhsAABoC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4540.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.hg/hgrc", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41800}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /.hg/hgrc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4540.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.hg/hgrc", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41800}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4559.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], (truncated) 05:26:27.765 [error] #PID<0.4561.0> running PinchflatWeb.Endpoint (connection #PID<0.4536.0>, stream id 2) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.qa ** (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.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.qa", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4561.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.qa", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13QEn2DxbdU8AABoi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.qa", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.qa", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4561.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.qa", (truncated) 05:26:27.767 [error] #PID<0.4565.0> running PinchflatWeb.Endpoint (connection #PID<0.4543.0>, stream id 2) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.2 ** (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.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.2", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4565.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.2", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13QEpo_oZbyMAAFJh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.2", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.2", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4565.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.2", (truncated) 05:26:28.089 [info] GET /.envec2 05:26:28.089 [info] GET /backups 05:26:28.090 [info] GET /.env.sh 05:26:28.090 [info] GET /configs 05:26:28.090 [debug] QUERY OK source="settings" db=0.6ms idle=327.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.090 [debug] QUERY OK source="settings" db=0.4ms idle=323.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.090 [debug] QUERY OK source="settings" db=0.4ms idle=327.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.091 [debug] QUERY OK source="settings" db=0.7ms idle=327.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.092 [debug] QUERY OK source="settings" db=1.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 [] 05:26:28.092 [debug] QUERY OK source="settings" db=1.1ms idle=17.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.092 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.092 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.092 [debug] QUERY OK source="settings" db=0.4ms queue=1.0ms 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 [] 05:26:28.092 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.094 [debug] QUERY OK source="settings" db=1.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 [] 05:26:28.094 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.092 [error] #PID<0.4568.0> running PinchflatWeb.Endpoint (connection #PID<0.4540.0>, stream id 2) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /configs ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /configs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4540.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/configs", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41800}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4568.0>, params: %{}, path_info: ["configs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/configs", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RS_D7SbZkkAACsD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4540.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/configs", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41800}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /configs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4540.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/configs", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41800}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4568.0>, params: %{}, path_info: ["configs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: " (truncated) 05:26:28.093 [error] #PID<0.4567.0> running PinchflatWeb.Endpoint (connection #PID<0.4544.0>, stream id 3) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /backups ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backups (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4544.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backups", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41840}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4567.0>, params: %{}, path_info: ["backups"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/backups", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RS8OBB_9qQAACrj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4544.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backups", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41840}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /backups (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4544.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backups", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41840}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4567.0>, params: %{}, path_info: ["backups"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: " (truncated) 05:26:28.094 [error] #PID<0.4566.0> running PinchflatWeb.Endpoint (connection #PID<0.4543.0>, stream id 3) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.envec2 ** (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.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.envec2", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4566.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.envec2", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RS7KjnabocAAFKB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.envec2", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.envec2", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4566.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.envec2", resp_bo (truncated) 05:26:28.096 [error] #PID<0.4569.0> running PinchflatWeb.Endpoint (connection #PID<0.4536.0>, stream id 3) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.sh ** (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.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.sh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4569.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.sh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RS_SpTMBDMAABpC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.sh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.sh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4569.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.sh", (truncated) 05:26:28.109 [info] GET /sql.sql 05:26:28.109 [info] GET /secrets 05:26:28.110 [debug] QUERY OK source="settings" db=0.3ms idle=18.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.110 [debug] QUERY OK source="settings" db=0.3ms 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 [] 05:26:28.110 [debug] QUERY OK source="settings" db=0.2ms 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 [] 05:26:28.110 [debug] QUERY OK source="settings" db=0.2ms idle=17.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.110 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.110 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.110 [error] #PID<0.4570.0> running PinchflatWeb.Endpoint (connection #PID<0.4543.0>, stream id 4) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /secrets ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4570.0>, params: %{}, path_info: ["secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/secrets", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RXj_ZYEon4AAFKh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4570.0>, params: %{}, path_info: ["secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: " (truncated) 05:26:28.110 [error] #PID<0.4571.0> running PinchflatWeb.Endpoint (connection #PID<0.4536.0>, stream id 4) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sql.sql ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sql (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sql.sql", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4571.0>, params: %{}, path_info: ["sql"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/sql.sql", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RXj_ZzdbO0AACsj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sql.sql", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /sql (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sql.sql", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4571.0>, params: %{}, path_info: ["sql"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/sql.sql", (truncated) 05:26:28.113 [info] GET /.env.aws 05:26:28.113 [info] GET /.env-dev 05:26:28.114 [debug] QUERY OK source="settings" db=0.2ms idle=20.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.114 [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 [] 05:26:28.114 [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:26:28.114 [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 [] 05:26:28.114 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.114 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.114 [error] #PID<0.4572.0> running PinchflatWeb.Endpoint (connection #PID<0.4543.0>, stream id 5) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.aws ** (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.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.aws", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4572.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.aws", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RYiy2kBWogAABpi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.aws", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.aws", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4572.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.a (truncated) 05:26:28.115 [error] #PID<0.4573.0> running PinchflatWeb.Endpoint (connection #PID<0.4536.0>, stream id 5) terminated Server: pinchflat.homelab.simonjonas.eu: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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env-dev", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4573.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env-dev", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RYjjNXbQ4AAACtD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env-dev", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env-dev", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4573.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env-dev", r (truncated) 05:26:28.126 [info] GET /.env.fly 05:26:28.127 [info] GET /.env.int 05:26:28.127 [debug] QUERY OK source="settings" db=0.3ms idle=16.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.127 [debug] QUERY OK source="settings" db=0.3ms 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 [] 05:26:28.127 [debug] QUERY OK source="settings" db=0.1ms idle=13.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.128 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.128 [debug] QUERY OK source="settings" db=0.2ms idle=13.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.128 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.128 [error] #PID<0.4575.0> running PinchflatWeb.Endpoint (connection #PID<0.4536.0>, stream id 6) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.int ** (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.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.int", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4575.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.int", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RbzS-8wR7cAACtj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.int", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.int", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4575.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.i (truncated) 05:26:28.131 [info] GET /.env.prd 05:26:28.128 [error] #PID<0.4574.0> running PinchflatWeb.Endpoint (connection #PID<0.4543.0>, stream id 6) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.fly ** (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.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.fly", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4574.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.fly", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13Rbv55AjhBMAAFLB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.fly", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.fly", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4574.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.f (truncated) 05:26:28.131 [info] GET /.env.tmp 05:26:28.132 [debug] QUERY OK source="settings" db=0.3ms idle=17.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.132 [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 [] 05:26:28.132 [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:26:28.132 [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 [] 05:26:28.132 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.132 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.132 [error] #PID<0.4576.0> running PinchflatWeb.Endpoint (connection #PID<0.4536.0>, stream id 7) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.prd ** (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.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prd", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4576.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.prd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RczRa0IMc4AACuD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prd", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prd", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4576.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.p (truncated) 05:26:28.132 [error] #PID<0.4577.0> running PinchflatWeb.Endpoint (connection #PID<0.4543.0>, stream id 7) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.tmp ** (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.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.tmp", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4577.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.tmp", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13Rc5VnxZ9JMAACuj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.tmp", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.tmp", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4577.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.t (truncated) 05:26:28.144 [info] GET /.env.txt 05:26:28.145 [debug] QUERY OK source="settings" db=0.2ms idle=16.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.145 [info] GET /.env.uat 05:26:28.145 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:26:28.145 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.145 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:26:28.145 [debug] QUERY OK source="settings" db=0.1ms idle=13.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.145 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.145 [error] #PID<0.4578.0> running PinchflatWeb.Endpoint (connection #PID<0.4543.0>, stream id 8) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.txt", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4578.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13Rf6b8q6FkwAAFLh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.txt", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.txt", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4578.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.t (truncated) 05:26:28.146 [error] #PID<0.4579.0> running PinchflatWeb.Endpoint (connection #PID<0.4536.0>, stream id 8) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.uat ** (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.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.uat", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4579.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.uat", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RgHaxvHE-sAAFMB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.uat", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.uat", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4579.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.u (truncated) 05:26:28.148 [info] GET /.env.www 05:26:28.149 [debug] QUERY OK source="settings" db=0.1ms idle=16.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.149 [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:26:28.149 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.149 [error] #PID<0.4580.0> running PinchflatWeb.Endpoint (connection #PID<0.4536.0>, stream id 9) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.www ** (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.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.www", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4580.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.www", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13Rg9lc1DCvIAACvD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.www", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.www", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4580.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.w (truncated) 05:26:28.152 [info] GET /.env.yml 05:26:28.152 [debug] QUERY OK source="settings" db=0.1ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.152 [debug] QUERY OK source="settings" db=0.0ms 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 [] 05:26:28.152 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.153 [error] #PID<0.4581.0> running PinchflatWeb.Endpoint (connection #PID<0.4536.0>, stream id 10) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.yml", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4581.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RhxCIrX5IkAACvj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.yml", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.yml", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4581.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.e (truncated) 05:26:28.163 [info] GET /.env.zip 05:26:28.163 [info] GET /.env_bak 05:26:28.164 [debug] QUERY OK source="settings" db=0.3ms 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 [] 05:26:28.164 [debug] QUERY OK source="settings" db=0.3ms idle=17.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.164 [debug] QUERY OK source="settings" db=0.2ms idle=14.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.164 [debug] QUERY OK source="settings" db=0.2ms 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 [] 05:26:28.164 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.164 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.164 [error] #PID<0.4582.0> running PinchflatWeb.Endpoint (connection #PID<0.4543.0>, stream id 9) terminated Server: pinchflat.homelab.simonjonas.eu: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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_bak", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4582.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env_bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RkcoEuMAMQAAFMh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_bak", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_bak", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4582.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env_bak", r (truncated) 05:26:28.167 [info] GET /.env_dev 05:26:28.164 [error] #PID<0.4583.0> running PinchflatWeb.Endpoint (connection #PID<0.4536.0>, stream id 11) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.zip ** (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.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.zip", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4583.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.zip", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RkcoBSyQAwAACwD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.zip", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.zip", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4583.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.e (truncated) 05:26:28.168 [debug] QUERY OK source="settings" db=0.1ms 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 [] 05:26:28.168 [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:26:28.168 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.168 [error] #PID<0.4584.0> running PinchflatWeb.Endpoint (connection #PID<0.4543.0>, stream id 10) terminated Server: pinchflat.homelab.simonjonas.eu: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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_dev", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4584.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env_dev", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RlcgHy6iqQAAFNB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_dev", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_dev", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4584.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env_dev", (truncated) 05:26:28.171 [info] GET /.env_hlg 05:26:28.171 [debug] QUERY OK source="settings" db=0.1ms 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 [] 05:26:28.171 [debug] QUERY OK source="settings" db=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 [] 05:26:28.171 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.172 [error] #PID<0.4585.0> running PinchflatWeb.Endpoint (connection #PID<0.4543.0>, stream id 11) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env_hlg ** (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.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_hlg", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4585.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env_hlg", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RmSOltpKIAAAFNh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_hlg", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_hlg", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4585.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env_hlg", (truncated) 05:26:28.183 [info] GET /.env_prd 05:26:28.183 [info] GET /.secrets 05:26:28.184 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=19.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.184 [debug] QUERY OK source="settings" db=0.1ms idle=15.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.184 [debug] QUERY OK source="settings" db=0.1ms idle=15.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.184 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.184 [debug] QUERY OK source="settings" db=0.3ms idle=12.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.184 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.184 [error] #PID<0.4586.0> running PinchflatWeb.Endpoint (connection #PID<0.4543.0>, stream id 12) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env_prd ** (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.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_prd", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4586.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env_prd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RpOD-nyU4AAAFOB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_prd", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env_prd", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4586.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env_prd", (truncated) 05:26:28.185 [error] #PID<0.4587.0> running PinchflatWeb.Endpoint (connection #PID<0.4536.0>, stream id 12) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.secrets ** (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.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.secrets", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4587.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.secrets", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RpVT7iOdGsAAFOh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.secrets", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.secrets", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4587.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.secrets", (truncated) 05:26:28.187 [info] GET /host.key 05:26:28.188 [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 [] 05:26:28.188 [info] GET /.env-dist 05:26:28.188 [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:26:28.188 [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 [] 05:26:28.188 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.189 [debug] QUERY OK source="settings" db=1.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 [] 05:26:28.190 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.189 [error] #PID<0.4588.0> running PinchflatWeb.Endpoint (connection #PID<0.4536.0>, stream id 13) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /host.key ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /host (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/host.key", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4588.0>, params: %{}, path_info: ["host"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/host.key", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RqPSnzUDocAAFPB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/host.key", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /host (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/host.key", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4588.0>, params: %{}, path_info: ["host"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/ho (truncated) 05:26:28.190 [error] #PID<0.4589.0> running PinchflatWeb.Endpoint (connection #PID<0.4543.0>, stream id 13) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env-dist ** (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.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env-dist", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4589.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env-dist", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13RqZOHcnUSYAAFPh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env-dist", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env-dist", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4589.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env-dist", (truncated) 05:26:28.238 [info] GET /.env.copy 05:26:28.239 [debug] QUERY OK source="settings" db=0.1ms 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 [] 05:26:28.239 [debug] QUERY OK source="settings" db=0.0ms idle=50.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.239 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.239 [error] #PID<0.4590.0> running PinchflatWeb.Endpoint (connection #PID<0.4543.0>, stream id 14) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.copy ** (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.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.copy", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4590.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.copy", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13R2Wz7lX4OAAACwj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.copy", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.copy", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4590.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: (truncated) 05:26:28.469 [info] GET /.env.email 05:26:28.469 [info] GET /.env.vault 05:26:28.470 [debug] QUERY OK source="settings" db=0.3ms idle=281.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.470 [debug] QUERY OK source="settings" db=0.3ms idle=281.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.470 [debug] QUERY OK source="settings" db=0.2ms idle=231.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.470 [debug] QUERY OK source="settings" db=0.2ms idle=280.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.471 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.471 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.471 [error] #PID<0.4591.0> running PinchflatWeb.Endpoint (connection #PID<0.4536.0>, stream id 14) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.vault ** (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.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.vault", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4591.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.vault", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13Stgr6mopVYAAFQB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.vault", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4536.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.vault", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41814}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4591.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_ (truncated) 05:26:28.471 [error] #PID<0.4592.0> running PinchflatWeb.Endpoint (connection #PID<0.4543.0>, stream id 15) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.email ** (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.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.email", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4592.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.email", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13Stgr5EMxPwAACxD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.email", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4543.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.email", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41832}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4592.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_ (truncated) 05:26:28.632 [info] GET /.env.3 05:26:28.632 [info] GET /.env; 05:26:28.632 [info] GET /.env.1 05:26:28.632 [info] GET /.env.lc 05:26:28.632 [info] GET /.env.ci 05:26:28.632 [info] GET /.env2 05:26:28.632 [info] GET /backup 05:26:28.632 [info] GET /.env.js 05:26:28.633 [debug] QUERY OK source="settings" db=1.4ms idle=392.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.635 [info] GET /config 05:26:28.636 [debug] QUERY OK source="settings" db=0.5ms idle=164.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.636 [debug] QUERY OK source="settings" db=1.4ms idle=164.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.645 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=174.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.646 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms 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 [] 05:26:28.646 [debug] QUERY OK source="settings" db=0.7ms idle=174.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.646 [debug] QUERY OK source="settings" db=0.7ms 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 [] 05:26:28.646 [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 [] 05:26:28.646 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.646 [debug] QUERY OK source="settings" db=0.3ms 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 [] 05:26:28.646 [debug] QUERY OK source="settings" db=0.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 [] 05:26:28.646 [debug] QUERY OK source="settings" db=0.3ms 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 [] 05:26:28.647 [debug] QUERY OK source="settings" db=0.6ms queue=1.1ms idle=9.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.648 [debug] QUERY OK source="settings" db=1.1ms 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 [] 05:26:28.648 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.648 [debug] QUERY OK source="settings" db=1.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 [] 05:26:28.649 [debug] QUERY OK source="settings" db=2.0ms 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 [] 05:26:28.647 [error] #PID<0.4564.0> running PinchflatWeb.Endpoint (connection #PID<0.4541.0>, stream id 2) terminated Server: pinchflat.homelab.simonjonas.eu: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.4541.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.envrc", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41830}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4564.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.envrc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13QEoJZUo-TYAAAAk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4541.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.envrc", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41830}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4541.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.envrc", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41830}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4564.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.envrc", resp_body: ni (truncated) 05:26:28.649 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.650 [debug] QUERY OK source="settings" db=4.1ms 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 [] 05:26:28.651 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.650 [debug] QUERY OK source="settings" db=2.5ms 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 [] 05:26:28.651 [debug] QUERY OK source="settings" db=4.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 [] 05:26:28.651 [debug] QUERY OK source="settings" db=2.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 [] 05:26:28.651 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.651 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.651 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.653 [debug] QUERY OK source="settings" db=3.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 [] 05:26:28.654 [debug] QUERY OK source="settings" db=0.4ms queue=7.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 [] 05:26:28.650 [error] #PID<0.4595.0> running PinchflatWeb.Endpoint (connection #PID<0.4534.0>, stream id 2) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /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 /backup (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4534.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backup", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41764}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4595.0>, params: %{}, path_info: ["backup"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/backup", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13TURVNfT_IEAAFQh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4534.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backup", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41764}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /backup (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4534.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backup", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41764}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4595.0>, params: %{}, path_info: ["backup"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/backup", (truncated) 05:26:28.654 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.651 [error] #PID<0.4594.0> running PinchflatWeb.Endpoint (connection #PID<0.4526.0>, stream id 4) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.lc ** (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.4526.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.lc", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41728}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4594.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.lc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13TUVyEgithsAACxj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4526.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.lc", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41728}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4526.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.lc", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41728}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4594.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.lc", (truncated) 05:26:28.656 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.653 [error] #PID<0.4593.0> running PinchflatWeb.Endpoint (connection #PID<0.4539.0>, stream id 2) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.3 ** (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.4539.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.3", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41818}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4593.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.3", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13TURfo5PNMQAAABE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4539.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.3", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41818}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4539.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.3", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41818}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4593.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.3", (truncated) 05:26:28.650 [error] #PID<0.4600.0> running PinchflatWeb.Endpoint (connection #PID<0.4533.0>, stream id 2) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4533.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.js", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41756}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4600.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13TUZCj_S4xUAACyD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4533.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.js", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41756}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4533.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.js", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41756}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4600.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.js", (truncated) 05:26:28.651 [error] #PID<0.4598.0> running PinchflatWeb.Endpoint (connection #PID<0.4531.0>, stream id 2) terminated Server: pinchflat.homelab.simonjonas.eu: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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4531.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.1", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41732}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4598.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.1", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13TUU3LurfuYAABqC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4531.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.1", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41732}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4531.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.1", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41732}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4598.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.1", (truncated) 05:26:28.658 [debug] QUERY OK source="settings" db=6.6ms 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 [] 05:26:28.659 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.653 [error] #PID<0.4596.0> running PinchflatWeb.Endpoint (connection #PID<0.4545.0>, stream id 2) terminated Server: pinchflat.homelab.simonjonas.eu: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.4545.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env;", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41842}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4596.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env;", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13TUThvRSgaMAAABk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4545.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env;", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41842}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4545.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env;", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41842}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4596.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env;", resp_body: nil, (truncated) 05:26:28.657 [error] #PID<0.4601.0> running PinchflatWeb.Endpoint (connection #PID<0.4532.0>, stream id 2) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /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 /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4532.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41750}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4601.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13TU-587Q2NAAAACk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4532.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41750}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4532.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41750}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4601.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/config", (truncated) 05:26:28.662 [debug] QUERY OK source="settings" db=0.1ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.662 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.656 [error] #PID<0.4599.0> running PinchflatWeb.Endpoint (connection #PID<0.4538.0>, stream id 2) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env2 ** (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.4538.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env2", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41788}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4599.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env2", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13TUWrx9jIAIAABqi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4538.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env2", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41788}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4538.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env2", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41788}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4599.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env2", resp_body: nil, (truncated) 05:26:28.664 [debug] QUERY OK source="settings" db=0.2ms 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 [] 05:26:28.662 [error] #PID<0.4562.0> running PinchflatWeb.Endpoint (connection #PID<0.4537.0>, stream id 2) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.5 ** (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.4537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.5", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41784}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4562.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.5", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13QEl4fgqkUcAAFJB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.5", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41784}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.5", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41784}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4562.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.5", (truncated) 05:26:28.659 [error] #PID<0.4597.0> running PinchflatWeb.Endpoint (connection #PID<0.4530.0>, stream id 2) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.ci ** (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.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.ci", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4597.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.ci", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13TUWNp5Gd0sAAACE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.ci", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.ci", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4597.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.ci", (truncated) 05:26:28.667 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.668 [error] #PID<0.4560.0> running PinchflatWeb.Endpoint (connection #PID<0.4535.0>, stream id 2) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.4 ** (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.4535.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.4", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41768}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4560.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.4", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13QEl4fMqvWwAAAAE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4535.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.4", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41768}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4535.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.4", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41768}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4560.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.4", (truncated) 05:26:28.759 [info] GET /_.env.prod 05:26:28.759 [info] GET /.ftpconfig 05:26:28.759 [info] GET /config.php 05:26:28.760 [debug] QUERY OK source="settings" db=0.4ms idle=106.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.760 [debug] QUERY OK source="settings" db=0.1ms idle=102.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.760 [debug] QUERY OK source="settings" db=0.2ms idle=98.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.761 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.761 [debug] QUERY OK source="settings" db=0.1ms idle=96.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.761 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.763 [debug] QUERY OK source="settings" db=3.6ms idle=105.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.761 [error] #PID<0.4602.0> running PinchflatWeb.Endpoint (connection #PID<0.4535.0>, stream id 3) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.ftpconfig ** (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.4535.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.ftpconfig", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41768}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4602.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.ftpconfig", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13TynFhieIh8AAADk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4535.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.ftpconfig", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41768}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4535.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.ftpconfig", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41768}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4602.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.ftpconfig", (truncated) 05:26:28.764 [debug] QUERY OK source="settings" db=0.5ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.764 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.762 [error] #PID<0.4604.0> running PinchflatWeb.Endpoint (connection #PID<0.4530.0>, stream id 3) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /config.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4604.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/config.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13TyqpisySkcAAC0j"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4604.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], requ (truncated) 05:26:28.764 [error] #PID<0.4603.0> running PinchflatWeb.Endpoint (connection #PID<0.4537.0>, stream id 3) terminated Server: pinchflat.homelab.simonjonas.eu: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.4537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_.env.prod", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41784}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4603.0>, params: %{}, path_info: ["_.env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/_.env.prod", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13TynFica1Y8AAFSh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_.env.prod", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41784}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_.env.prod", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41784}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4603.0>, params: %{}, path_info: ["_.env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_ (truncated) 05:26:28.838 [info] GET /.env.config 05:26:28.839 [debug] QUERY OK source="settings" db=0.1ms idle=78.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.839 [debug] QUERY OK source="settings" db=0.1ms idle=78.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:28.839 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:28.840 [error] #PID<0.4605.0> running PinchflatWeb.Endpoint (connection #PID<0.4537.0>, stream id 4) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.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 /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41784}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4605.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13UFe5VJu7DkAAFTB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41784}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41784}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4605.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request (truncated) 05:26:29.154 [info] GET /.env.dev.example 05:26:29.155 [info] GET /.env.development 05:26:29.156 [debug] QUERY OK source="settings" db=1.1ms idle=391.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:29.156 [debug] QUERY OK source="settings" db=0.9ms idle=390.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:29.157 [debug] QUERY OK source="settings" db=1.4ms idle=316.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:29.157 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:29.157 [debug] QUERY OK source="settings" db=1.3ms idle=316.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:29.158 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:29.159 [error] #PID<0.4607.0> running PinchflatWeb.Endpoint (connection #PID<0.4530.0>, stream id 4) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.development ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4607.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.development", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13VQ6ewFZPLgAAFUB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4607.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} (truncated) 05:26:29.162 [error] #PID<0.4606.0> running PinchflatWeb.Endpoint (connection #PID<0.4537.0>, stream id 5) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /.env.dev.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.dev (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev.example", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41784}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4606.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/.env.dev.example", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13VQx01naAA0AAFTh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev.example", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41784}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.dev (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4537.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev.example", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41784}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4606.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.7 (truncated) 05:26:29.303 [info] GET /runtime-config.js 05:26:29.304 [debug] QUERY OK source="settings" db=0.1ms idle=228.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:29.305 [debug] QUERY OK source="settings" db=0.4ms idle=148.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:29.305 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:29.306 [error] #PID<0.4608.0> running PinchflatWeb.Endpoint (connection #PID<0.4530.0>, stream id 5) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /runtime-config.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /runtime-config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/runtime-config.js", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4608.0>, params: %{}, path_info: ["runtime-config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/runtime-config.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13V0VI2S5vIYAAFUh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/runtime-config.js", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /runtime-config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/runtime-config.js", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4608.0>, params: %{}, path_info: ["runtime-config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, (truncated) 05:26:29.338 [info] GET /slaabid.fr_db.sql 05:26:29.339 [debug] QUERY OK source="settings" db=0.1ms idle=182.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:29.339 [debug] QUERY OK source="settings" db=0.3ms idle=181.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:29.340 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:29.340 [error] #PID<0.4609.0> running PinchflatWeb.Endpoint (connection #PID<0.4530.0>, stream id 6) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /slaabid.fr_db.sql ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /slaabid.fr_db (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/slaabid.fr_db.sql", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4609.0>, params: %{}, path_info: ["slaabid.fr_db"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/slaabid.fr_db.sql", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13V8q50Z4N_gAAFVB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/slaabid.fr_db.sql", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /slaabid.fr_db (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/slaabid.fr_db.sql", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4609.0>, params: %{}, path_info: ["slaabid.fr_db"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, (truncated) 05:26:29.538 [info] GET /firebase-credentials.json 05:26:29.539 [debug] QUERY OK source="settings" db=0.1ms idle=380.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:29.539 [debug] QUERY OK source="settings" db=0.2ms idle=234.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:29.539 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:29.540 [error] #PID<0.4610.0> running PinchflatWeb.Endpoint (connection #PID<0.4530.0>, stream id 7) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /firebase-credentials.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 /firebase-credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/firebase-credentials.json", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4610.0>, params: %{}, path_info: ["firebase-credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/firebase-credentials.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13WsTD-6mZv4AAFVh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/firebase-credentials.json", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /firebase-credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/firebase-credentials.json", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4610.0>, params: %{}, path_info: ["firebase-credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", (truncated) 05:26:29.638 [info] GET /opt/.env 05:26:29.638 [debug] QUERY OK source="settings" db=0.1ms idle=333.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:29.639 [debug] QUERY OK source="settings" db=0.1ms idle=299.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 05:26:29.639 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 05:26:29.639 [error] #PID<0.4611.0> running PinchflatWeb.Endpoint (connection #PID<0.4530.0>, stream id 8) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /opt/.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 /opt/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/opt/.env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4611.0>, params: %{}, path_info: ["opt", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/opt/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNW13XEE-hrFfloAAFWB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/opt/.env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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 /opt/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.4530.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/opt/.env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 41734}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", "x-forwarded-for" => "34.79.124.68", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "34.79.124.68" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.4611.0>, params: %{}, path_info: ["opt", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}, {"x-forwarded-for", "34.79.124.68"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "34.79.124.68"} ], request_path: "/ (truncated) 05:26:50.753 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:00.172 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:27:20.754 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:50.755 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:00.173 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:28:20.756 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:50.757 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:00.174 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:29:20.758 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:50.759 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:00.175 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:30:20.760 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:50.761 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:00.176 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:31:20.762 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:50.763 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:00.177 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:32:20.764 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:50.765 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:00.178 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:33:20.766 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:50.767 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:00.179 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:34:20.768 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:50.769 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:00.180 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:35:20.772 [info] {"source":"oban","duration":1124,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:50.773 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:00.181 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:36:20.774 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:50.775 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:00.182 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:37:20.776 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:50.777 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:00.183 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:38:20.778 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:50.779 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:00.184 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:39:20.780 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:50.781 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:00.186 [info] {"source":"oban","duration":1117,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:40:20.782 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:50.783 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:00.187 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:41:20.784 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:50.785 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:00.188 [info] {"source":"oban","duration":122,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:42:20.786 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:50.787 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:00.189 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:43:20.789 [info] {"source":"oban","duration":945,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:50.790 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:00.190 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:44:20.791 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:50.793 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:00.191 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:45:20.794 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:50.795 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:00.192 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:46:20.796 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:50.797 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:00.193 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:47:20.798 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:50.799 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:00.194 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:48:20.800 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:50.801 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:00.195 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:49:20.802 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:50.803 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:00.196 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:50:20.804 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:50.805 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:00.197 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:51:20.806 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:50.807 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:00.198 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:52:20.808 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:50.809 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:00.199 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:53:20.810 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:50.811 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:00.200 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:54:20.812 [info] {"source":"oban","duration":845,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:50.814 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:00.201 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:55:20.815 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:50.816 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:00.202 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:56:20.817 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:50.818 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:00.203 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:57:20.819 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:50.821 [info] {"source":"oban","duration":884,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:00.204 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:58:20.822 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:50.823 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:00.205 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 05:59:20.824 [info] {"source":"oban","duration":893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:50.826 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:00.206 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:00:20.828 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:50.829 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:00.207 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:01:20.830 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:50.832 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:00.208 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:02:20.833 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:50.834 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:00.209 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:03:20.835 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:50.836 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:00.210 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:04:20.837 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:50.839 [info] {"source":"oban","duration":1816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:00.211 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:05:20.841 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:50.843 [info] {"source":"oban","duration":1018,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:00.212 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:06:20.844 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:50.845 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:00.213 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:07:20.846 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:50.847 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:00.214 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:08:20.848 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:50.849 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:00.215 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:09:20.850 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:50.851 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:00.216 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:10:20.852 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:50.853 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:00.217 [info] {"source":"oban","duration":314,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:11:20.854 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:50.855 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:00.218 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:12:20.856 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:50.857 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:00.219 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:13:20.858 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:50.859 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:00.220 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:14:20.860 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:50.861 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:00.221 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:15:20.862 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:50.863 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:00.222 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:16:20.864 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:50.865 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:00.223 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:17:20.866 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:50.867 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:00.224 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:18:20.868 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:50.869 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:00.225 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:19:20.870 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:50.871 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:00.226 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:20:20.872 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:50.873 [info] {"source":"oban","duration":483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:00.227 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:21:20.874 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:50.875 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:00.228 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:22:20.876 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:50.877 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:00.229 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:23:20.878 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:50.879 [info] {"source":"oban","duration":874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:00.230 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:24:20.881 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:50.882 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:00.231 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:25:20.883 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:50.884 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:00.232 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:26:20.885 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:50.887 [info] {"source":"oban","duration":970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:00.233 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:27:20.888 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:50.889 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:00.234 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:28:20.890 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:50.891 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:00.235 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:29:20.892 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:50.893 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:00.236 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:30:20.894 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:50.896 [info] {"source":"oban","duration":936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:00.237 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:31:20.897 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:50.898 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:00.238 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:32:20.899 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:50.901 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:00.239 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:33:20.902 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:50.903 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:00.240 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:34:20.904 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:50.905 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:00.241 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:35:20.906 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:50.907 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:00.242 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:36:20.909 [info] {"source":"oban","duration":982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:50.910 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:00.243 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:37:20.912 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:50.913 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:00.244 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:38:20.914 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:50.915 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:00.245 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:39:20.917 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:50.918 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:00.246 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:40:20.919 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:50.920 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:00.247 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:41:20.921 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:50.922 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:00.248 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:42:20.923 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:50.924 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:00.249 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:43:20.925 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:50.926 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:00.250 [info] {"source":"oban","duration":624,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:44:20.927 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:50.928 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:00.251 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:45:20.929 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:50.930 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:00.252 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:46:20.931 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:50.932 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:00.253 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:47:20.933 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:50.934 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:00.254 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:48:20.935 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:50.937 [info] {"source":"oban","duration":1079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:00.255 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:49:20.939 [info] {"source":"oban","duration":1045,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:50.940 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:00.256 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:50:20.941 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:50.942 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:00.257 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:51:20.943 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:50.944 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:00.258 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:52:20.945 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:50.947 [info] {"source":"oban","duration":903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:00.259 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:53:20.949 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:50.950 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:00.260 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:54:20.951 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:50.952 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:00.261 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:55:20.953 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:50.954 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:00.262 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:56:20.955 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:50.956 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:00.263 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:57:20.957 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:50.958 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:00.264 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:58:20.959 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:50.960 [info] {"source":"oban","duration":889,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:00.265 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 06:59:20.962 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:50.963 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:00.266 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:00:20.964 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:50.965 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:00.267 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:01:20.966 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:50.967 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:00.268 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:02:20.968 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:50.969 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:00.269 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:03:20.970 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:50.971 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:00.270 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:04:20.972 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:50.973 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:00.271 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:05:20.977 [info] {"source":"oban","duration":3067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:50.979 [info] {"source":"oban","duration":903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:00.272 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:06:20.980 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:50.981 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:00.273 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:07:20.982 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:50.983 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:00.274 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:08:20.984 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:50.985 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:00.275 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:09:20.986 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:50.987 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:00.276 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:10:20.988 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:50.989 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:00.277 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:11:20.990 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:50.991 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:00.278 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:12:20.992 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:50.993 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:00.279 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:13:20.994 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:50.996 [info] {"source":"oban","duration":1612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:00.280 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:14:20.997 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:50.998 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:00.281 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:15:20.999 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:51.000 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:00.282 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:16:21.001 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:51.002 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:00.283 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:17:21.003 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:51.004 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:00.284 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:18:21.005 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:51.007 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:00.285 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:19:21.008 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:51.009 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:00.286 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:20:21.010 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:51.011 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:00.287 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:21:21.012 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:51.013 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:00.288 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:22:21.014 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:51.015 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:00.289 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:23:21.016 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:51.017 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:00.290 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:24:21.018 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:51.019 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:00.291 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:25:21.020 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:51.022 [info] {"source":"oban","duration":1009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:00.292 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:26:21.023 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:51.024 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:00.293 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:27:21.026 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:51.027 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:00.294 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:28:21.028 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:51.029 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:00.295 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:29:21.030 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:51.031 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:00.296 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:30:21.032 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:51.033 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:00.297 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:31:21.035 [info] {"source":"oban","duration":949,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:51.036 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:00.298 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:32:21.037 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:51.038 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:00.299 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:33:21.039 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:51.040 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:00.300 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:34:21.041 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:51.042 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:00.301 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:35:21.043 [info] {"source":"oban","duration":887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:51.045 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:00.302 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:36:21.046 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:51.047 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:00.303 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:37:21.048 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:51.049 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:00.304 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:38:21.050 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:51.051 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:00.305 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:39:21.052 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:51.053 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:00.306 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:40:21.054 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:51.055 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:00.307 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:41:21.056 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:51.057 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:00.308 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:42:21.058 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:51.059 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:00.309 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:43:21.060 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:51.061 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:00.310 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:44:21.062 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:51.064 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:00.311 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:45:21.065 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:51.066 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:00.312 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:46:21.067 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:51.068 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:00.313 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:47:21.069 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:51.070 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:00.314 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:48:21.071 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:51.072 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:00.315 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:49:21.073 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:51.074 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:00.316 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:50:21.075 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:51.076 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:00.317 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:51:21.077 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:51.078 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:00.318 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:52:21.079 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:51.080 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:00.319 [info] {"source":"oban","duration":133,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:53:21.081 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:51.082 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:00.320 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:54:21.083 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:51.084 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:00.321 [info] {"source":"oban","duration":433,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:55:21.085 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:51.086 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:00.323 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:56:21.087 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:51.088 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:00.324 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:57:21.090 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:51.091 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:00.325 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:58:21.093 [info] {"source":"oban","duration":1224,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:51.094 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:00.326 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 07:59:21.095 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:51.096 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:00.327 [info] {"source":"oban","duration":325,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:00:21.097 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:51.099 [info] {"source":"oban","duration":1088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:00.328 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:01:21.100 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:51.102 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:00.329 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:02:21.103 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:51.104 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:00.330 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:03:21.105 [info] {"source":"oban","duration":875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:51.107 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:00.331 [info] {"source":"oban","duration":164,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:04:21.108 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:51.110 [info] {"source":"oban","duration":1093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:00.332 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:05:21.111 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:51.112 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:00.335 [info] {"source":"oban","duration":1888,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:06:21.113 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:51.114 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:00.336 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:07:21.115 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:51.117 [info] {"source":"oban","duration":902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:00.337 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:08:21.118 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:51.120 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:00.338 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:09:21.122 [info] {"source":"oban","duration":1129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:51.123 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:00.339 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:10:21.124 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:51.126 [info] {"source":"oban","duration":836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:00.340 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:11:21.128 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:51.129 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:00.341 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:12:21.130 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:51.131 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:00.342 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:13:21.132 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:51.133 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:00.343 [info] {"source":"oban","duration":169,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:14:21.134 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:51.135 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:00.344 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:15:21.136 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:51.137 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:00.345 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:16:21.138 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:51.139 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:00.346 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:17:21.140 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:51.141 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:00.347 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:18:21.142 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:51.144 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:00.348 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:19:21.145 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:51.146 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:00.349 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:20:21.147 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:51.148 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:00.350 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:21:21.149 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:51.151 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:00.351 [info] {"source":"oban","duration":101,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:22:21.152 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:51.153 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:00.352 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:23:21.154 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:51.155 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:00.353 [info] {"source":"oban","duration":166,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:24:21.156 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:51.157 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:00.354 [info] {"source":"oban","duration":171,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:25:21.158 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:51.159 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:00.355 [info] {"source":"oban","duration":168,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:26:21.160 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:51.161 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:00.356 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:27:21.162 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:51.163 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:00.357 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:28:21.164 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:51.165 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:00.358 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:29:21.166 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:51.167 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:00.359 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:30:21.168 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:51.169 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:00.360 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:31:21.170 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:51.171 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:00.361 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:32:21.172 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:51.173 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:00.362 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:33:21.174 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:51.175 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:00.363 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:34:21.176 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:51.177 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:00.364 [info] {"source":"oban","duration":173,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:35:21.178 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:51.179 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:00.365 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:36:21.181 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:51.182 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:00.366 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:37:21.183 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:51.185 [info] {"source":"oban","duration":960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:00.367 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:38:21.186 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:51.187 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:00.368 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:39:21.189 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:51.190 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:00.369 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:40:21.191 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:51.192 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:00.370 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:41:21.193 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:51.195 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:00.371 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:42:21.196 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:51.197 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:00.372 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:43:21.198 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:51.199 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:00.373 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:44:21.200 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:51.201 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:00.374 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:45:21.202 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:51.203 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:00.375 [info] {"source":"oban","duration":332,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:46:21.204 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:51.205 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:00.379 [info] {"source":"oban","duration":2047,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:47:21.206 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:51.207 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:00.380 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:48:21.208 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:51.209 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:00.381 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:49:21.210 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:51.218 [info] {"source":"oban","duration":7755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 08:50:00.382 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:50:21.221 [info] {"source":"oban","duration":2456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:51.222 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:00.383 [info] {"source":"oban","duration":109,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:51:21.223 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:51.226 [info] {"source":"oban","duration":1153,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:00.384 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:52:21.227 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:51.228 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:00.385 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:53:21.230 [info] {"source":"oban","duration":1151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:51.231 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:00.386 [info] {"source":"oban","duration":290,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:54:21.232 [info] {"source":"oban","duration":851,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:51.234 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:00.387 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:55:21.235 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:51.236 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:00.388 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:56:21.237 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:51.238 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:00.389 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:57:21.239 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:51.240 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:00.390 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:58:21.241 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:51.242 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:00.391 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 08:59:21.243 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:51.244 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:00.392 [info] {"source":"oban","duration":362,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:00:21.245 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:51.246 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:00.393 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:01:21.247 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:51.248 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:00.394 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:02:21.249 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:51.250 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:00.395 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:03:21.251 [info] {"source":"oban","duration":455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:51.252 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:00.396 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:04:21.253 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:51.254 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:00.397 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:05:21.255 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:51.256 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:00.398 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:06:21.257 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:51.258 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:00.399 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:07:21.259 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:51.260 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:00.400 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:08:21.261 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:51.262 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:00.401 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:09:21.264 [info] {"source":"oban","duration":986,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:51.265 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:00.402 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:10:21.266 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:51.268 [info] {"source":"oban","duration":1001,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:00.403 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:11:21.269 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:51.270 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:00.404 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:12:21.271 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:51.272 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:00.405 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:13:21.274 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:51.275 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:00.406 [info] {"source":"oban","duration":439,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:14:21.277 [info] {"source":"oban","duration":1454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:51.278 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:00.407 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:15:21.279 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:51.280 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:00.408 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:16:21.281 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:51.282 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:00.409 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:17:21.283 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:51.284 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:00.410 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:18:21.285 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:51.286 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:00.411 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:19:21.287 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:51.288 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:00.412 [info] {"source":"oban","duration":172,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:20:21.289 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:51.290 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:00.413 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:21:21.291 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:51.292 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:00.414 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:22:21.293 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:51.295 [info] {"source":"oban","duration":1085,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:00.415 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:23:21.296 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:51.298 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:00.416 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:24:21.299 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:51.300 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:00.417 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:25:21.301 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:51.302 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:00.418 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:26:21.304 [info] {"source":"oban","duration":920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:51.305 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:00.419 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:27:21.306 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:51.307 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:00.420 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:28:21.308 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:51.309 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:00.421 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:29:21.310 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:51.311 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:00.422 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:30:21.313 [info] {"source":"oban","duration":1343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:51.314 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:00.423 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:31:21.315 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:51.317 [info] {"source":"oban","duration":979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:00.424 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:32:21.319 [info] {"source":"oban","duration":1252,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:51.320 [info] {"source":"oban","duration":510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:00.425 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:33:21.321 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:51.322 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:00.426 [info] {"source":"oban","duration":152,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:34:21.323 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:51.325 [info] {"source":"oban","duration":1148,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:00.427 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:35:21.326 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:51.327 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:00.428 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:36:21.328 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:51.329 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:00.429 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:37:21.330 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:51.331 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:00.430 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:38:21.333 [info] {"source":"oban","duration":1004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:51.334 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:00.431 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:39:21.335 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:51.336 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:00.432 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:40:21.337 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:51.339 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:00.433 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:41:21.340 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:51.341 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:00.434 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:42:21.342 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:51.343 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:00.435 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:43:21.344 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:51.346 [info] {"source":"oban","duration":871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:00.436 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:44:20.142 [info] {"args":{"id":1},"id":9475,"meta":{},"system_time":1789551860142575473,"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"]} 09:44:20.147 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=809.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:20.149 [debug] QUERY OK source="settings" db=0.8ms idle=812.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:44:20.163 [debug] QUERY OK source="media_items" db=13.9ms idle=813.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")))) [1] 09:44:20.165 [debug] QUERY OK source="media_items" db=1.7ms idle=25.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 09:44:20.165 [debug] QUERY OK source="media_profiles" db=0.1ms idle=23.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] 09:44:20.178 [debug] QUERY OK source="settings" db=0.2ms idle=31.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:44:20.210 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 09:44:20.210 [debug] Current batch of media processed. Will check again in 1000ms 09:44:20.210 [debug] QUERY OK source="settings" db=0.1ms idle=61.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:44:20.210 [debug] QUERY OK source="settings" db=0.1ms idle=47.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:44:20.211 [debug] QUERY OK source="settings" db=0.1ms idle=45.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:44:20.247 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLxtPwTvOWboAEt3zMef3waxaEFc6kR-fl --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/music/%(channel)S/%(title)S.%(ext)S --extract-audio --format-sort +acodec:m4a --audio-format best --format bestaudio[format_note*=original]/bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/17/44/1744349d288fd23e61ce56c8f52f009ab5c0d8aa339a215bf9f8951a5adb6bb8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 09:44:21.211 [debug] Current batch of media processed. Will check again in 1000ms 09:44:21.348 [info] {"source":"oban","duration":936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:22.212 [debug] Current batch of media processed. Will check again in 1000ms 09:44:23.213 [debug] Current batch of media processed. Will check again in 1000ms 09:44:24.214 [debug] Current batch of media processed. Will check again in 1000ms 09:44:25.215 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "NOTORIOUS𝙓 All Links: https://linktr.ee/notoriousx\nNOTORIOUS𝙓 Discord: https://discord.gg/Evdu3UuRGX\n\nArtist Links & Song Credit:\nURBVN ARCHITECTS - VALLEY OF SHADOWS\nSong: https://m.soundcloud.com/urbvnarchitectsnyc/valley-of-shadows\nInstagram: https://www.instagram.com/urbvnarchitectsnyc/\nOther socials:\nhttps://open.spotify.com/artist/4KWUTGSbNNdOZktj1KQ2yo\n\nVideo Editor - Joshua Fox\nhttps://www.instagram.com/j.foxnyc/\n\nFor any business inquiry and collaboration:\nhttps://www.notorious-x.com/submissions \n\n#watchdogs #watchdogslegion #urbvnarchitects\nAll rights to the owners - Powered by WayneMPR™", "duration" => 107, "filename" => "/downloads/music/Notorious𝘟/WATCH DOGS | VALLEY OF SHADOWS.m4a", "id" => "j-ga3gWKBO0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=j-ga3gWKBO0", "playlist_index" => 1, "timestamp" => 1595620506, "title" => "WATCH DOGS | VALLEY OF SHADOWS", "upload_date" => "20200724"} 09:44:25.249 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:25.258 [debug] QUERY OK source="sources" db=0.3ms idle=1921.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:25.281 [debug] QUERY OK source="media_items" db=15.0ms idle=1922.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-07-24 19:55:06Z], 1] 09:44:25.317 [debug] QUERY OK source="media_items" db=9.6ms idle=1164.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["NOTORIOUS𝙓 All Links: https://linktr.ee/notoriousx\nNOTORIOUS𝙓 Discord: https://discord.gg/Evdu3UuRGX\n\nArtist Links & Song Credit:\nURBVN ARCHITECTS - VALLEY OF SHADOWS\nSong: https://m.soundcloud.com/urbvnarchitectsnyc/valley-of-shadows\nInstagram: https://www.instagram.com/urbvnarchitectsnyc/\nOther socials:\nhttps://open.spotify.com/artist/4KWUTGSbNNdOZktj1KQ2yo\n\nVideo Editor - Joshua Fox\nhttps://www.instagram.com/j.foxnyc/\n\nFor any business inquiry and collaboration:\nhttps://www.notorious-x.com/submissions \n\n#watchdogs #watchdogslegion #urbvnarchitects\nAll rights to the owners - Powered by WayneMPR™", "WATCH DOGS | VALLEY OF SHADOWS", "312f6783-e5f6-458b-b891-6a79ff0516d1", 107, false, "j-ga3gWKBO0", "https://www.youtube.com/watch?v=j-ga3gWKBO0", 1, "/downloads/music/Notorious𝘟/WATCH DOGS | VALLEY OF SHADOWS.m4a", false, false, false, 1, [], 1, ~U[2020-07-24 19:55:06Z], ~U[2026-09-16 09:44:25Z], ~U[2026-09-16 09:44:25Z], "NOTORIOUS𝙓 All Links: https://linktr.ee/notoriousx\nNOTORIOUS𝙓 Discord: https://discord.gg/Evdu3UuRGX\n\nArtist Links & Song Credit:\nURBVN ARCHITECTS - VALLEY OF SHADOWS\nSong: https://m.soundcloud.com/urbvnarchitectsnyc/valley-of-shadows\nInstagram: https://www.instagram.com/urbvnarchitectsnyc/\nOther socials:\nhttps://open.spotify.com/artist/4KWUTGSbNNdOZktj1KQ2yo\n\nVideo Editor - Joshua Fox\nhttps://www.instagram.com/j.foxnyc/\n\nFor any business inquiry and collaboration:\nhttps://www.notorious-x.com/submissions \n\n#watchdogs #watchdogslegion #urbvnarchitects\nAll rights to the owners - Powered by WayneMPR™", "WATCH DOGS | VALLEY OF SHADOWS", 107, false, "j-ga3gWKBO0", "https://www.youtube.com/watch?v=j-ga3gWKBO0", "/downloads/music/Notorious𝘟/WATCH DOGS | VALLEY OF SHADOWS.m4a", false, 1, ~U[2020-07-24 19:55:06Z]] 09:44:25.317 [debug] QUERY OK source="sources" db=0.2ms idle=173.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:25.318 [debug] QUERY OK source="media_profiles" db=0.5ms idle=68.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] 09:44:25.319 [debug] QUERY OK source="media_items" db=0.2ms idle=61.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 [1] 09:44:25.319 [debug] Current batch of media processed. Will check again in 1000ms 09:44:26.320 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Provided to YouTube by Universal Music Group\n\nCameras / Good Ones Go Interlude (Medley) · Drake\n\nTake Care\n\n℗ 2011 Young Money Entertainment/Cash Money Records\n\nReleased on: 2011-11-15\n\nProducer: Noah \"40\" Shebib\n\nAuto-generated by YouTube.", "duration" => 435, "filename" => "/downloads/music/Drake/Cameras ⧸ Good Ones Go Interlude (Medley).m4a", "id" => "4DV9EfmawLI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4DV9EfmawLI", "playlist_index" => 2, "timestamp" => 1532641673, "title" => "Cameras / Good Ones Go Interlude (Medley)", "upload_date" => "20180726"} 09:44:26.321 [debug] QUERY OK source="sources" db=0.4ms idle=1003.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:26.322 [debug] QUERY OK source="sources" db=0.6ms idle=1003.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:26.323 [debug] QUERY OK source="media_items" db=0.8ms idle=1003.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-07-26 21:47:53Z], 1] 09:44:26.330 [debug] QUERY OK source="media_items" db=6.1ms idle=1004.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Universal Music Group\n\nCameras / Good Ones Go Interlude (Medley) · Drake\n\nTake Care\n\n℗ 2011 Young Money Entertainment/Cash Money Records\n\nReleased on: 2011-11-15\n\nProducer: Noah \"40\" Shebib\n\nAuto-generated by YouTube.", "Cameras / Good Ones Go Interlude (Medley)", "87e44cf8-92f6-4f0b-ad9c-a425041bc289", 435, false, "4DV9EfmawLI", "https://www.youtube.com/watch?v=4DV9EfmawLI", 2, "/downloads/music/Drake/Cameras ⧸ Good Ones Go Interlude (Medley).m4a", false, false, false, 1, [], 2, ~U[2018-07-26 21:47:53Z], ~U[2026-09-16 09:44:26Z], ~U[2026-09-16 09:44:26Z], "Provided to YouTube by Universal Music Group\n\nCameras / Good Ones Go Interlude (Medley) · Drake\n\nTake Care\n\n℗ 2011 Young Money Entertainment/Cash Money Records\n\nReleased on: 2011-11-15\n\nProducer: Noah \"40\" Shebib\n\nAuto-generated by YouTube.", "Cameras / Good Ones Go Interlude (Medley)", 435, false, "4DV9EfmawLI", "https://www.youtube.com/watch?v=4DV9EfmawLI", "/downloads/music/Drake/Cameras ⧸ Good Ones Go Interlude (Medley).m4a", false, 1, ~U[2018-07-26 21:47:53Z]] 09:44:26.331 [debug] QUERY OK source="sources" db=1.1ms idle=184.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:26.332 [debug] QUERY OK source="media_profiles" db=0.5ms idle=10.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:44:26.336 [debug] QUERY OK source="media_items" db=2.8ms idle=11.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2] 09:44:26.336 [debug] Current batch of media processed. Will check again in 1000ms 09:44:27.337 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Provided to YouTube by Universal Music Group\n\nNonstop · Drake\n\nScorpion\n\n℗ 2018 Young Money/Cash Money Records\n\nReleased on: 2018-06-29\n\nMixing Engineer: Noel \"Gadget\" Campbell\nMixing Second Engineer: Harley Arsenault\nMixing Second Engineer: Greg Moffet\nMixing Second Engineer: Ronald Moonoo\nProducer: Tay Keith\nAdditionalproducer: No ID\nAdditionalproducer, Recording Engineer: Noel Cadastre\nRecording Engineer: Noah Shebib\nComposer Lyricist: A. Graham\nComposer Lyricist: Brytavious Lakeith Chambers\nComposer Lyricist: D. Wilson\n\nAuto-generated by YouTube.", "duration" => 239, "filename" => "/downloads/music/Drake/Nonstop.m4a", "id" => "XNpGNykVZ6U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XNpGNykVZ6U", "playlist_index" => 3, "timestamp" => 1532643640, "title" => "Nonstop", "upload_date" => "20180726"} 09:44:27.337 [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 (?)) [1] 09:44:27.338 [debug] QUERY OK source="sources" db=0.1ms idle=190.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:27.339 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=2.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-07-26 22:20:40Z], 1] 09:44:27.344 [debug] QUERY OK source="media_items" db=4.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Universal Music Group\n\nNonstop · Drake\n\nScorpion\n\n℗ 2018 Young Money/Cash Money Records\n\nReleased on: 2018-06-29\n\nMixing Engineer: Noel \"Gadget\" Campbell\nMixing Second Engineer: Harley Arsenault\nMixing Second Engineer: Greg Moffet\nMixing Second Engineer: Ronald Moonoo\nProducer: Tay Keith\nAdditionalproducer: No ID\nAdditionalproducer, Recording Engineer: Noel Cadastre\nRecording Engineer: Noah Shebib\nComposer Lyricist: A. Graham\nComposer Lyricist: Brytavious Lakeith Chambers\nComposer Lyricist: D. Wilson\n\nAuto-generated by YouTube.", "Nonstop", "66307883-24c4-4133-b29e-776e02c10746", 239, false, "XNpGNykVZ6U", "https://www.youtube.com/watch?v=XNpGNykVZ6U", 3, "/downloads/music/Drake/Nonstop.m4a", false, false, false, 1, [], 2, ~U[2018-07-26 22:20:40Z], ~U[2026-09-16 09:44:27Z], ~U[2026-09-16 09:44:27Z], "Provided to YouTube by Universal Music Group\n\nNonstop · Drake\n\nScorpion\n\n℗ 2018 Young Money/Cash Money Records\n\nReleased on: 2018-06-29\n\nMixing Engineer: Noel \"Gadget\" Campbell\nMixing Second Engineer: Harley Arsenault\nMixing Second Engineer: Greg Moffet\nMixing Second Engineer: Ronald Moonoo\nProducer: Tay Keith\nAdditionalproducer: No ID\nAdditionalproducer, Recording Engineer: Noel Cadastre\nRecording Engineer: Noah Shebib\nComposer Lyricist: A. Graham\nComposer Lyricist: Brytavious Lakeith Chambers\nComposer Lyricist: D. Wilson\n\nAuto-generated by YouTube.", "Nonstop", 239, false, "XNpGNykVZ6U", "https://www.youtube.com/watch?v=XNpGNykVZ6U", "/downloads/music/Drake/Nonstop.m4a", false, 1, ~U[2018-07-26 22:20:40Z]] 09:44:27.344 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:27.345 [debug] QUERY OK source="media_profiles" db=0.5ms idle=7.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:44:27.346 [debug] QUERY OK source="media_items" db=0.5ms idle=7.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 09:44:27.346 [debug] Current batch of media processed. Will check again in 1000ms 09:44:28.347 [debug] Current batch of media processed. Will check again in 1000ms 09:44:29.348 [debug] Current batch of media processed. Will check again in 1000ms 09:44:30.349 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "🎧 Follow our official playlist for new chill beats every week\n➡ https://tinyurl.com/Ivy-Station-Records\n\n⛰️ Check out our second channel for original videos on focus, mindset, and productivity\n➡ https://www.youtube.com/@3vrst\n\n📷 Follow us on Instagram\n➡ https://www.instagram.com/ivystationrecords/\n➡ https://www.instagram.com/3vrst.co/\n\n🔊 Release your project with Ivy Station Records\n➡ https://tinyurl.com/Ivy-Station-Submissions\n\n🌿 For all your Ivy Station Needs\n➡ http://ivystationrecords.com/\n\u200B\n\u200B✏️Thanks to @one.ofmillions for the amazing animations\n\nhttps://www.instagram.com/one.ofmillions\nhttps://linktr.ee/one_of_millions.art\n\n♫ Tracklist\n[0:00] Old School\n[3:56] Life's a Bitch\n[7:20] Juicy\n[11:49] Fuck all y'all\n[15:32] One Love\n[19:00] Suicidal Thoughts\n[21:24] Hit em up\n[24:19] Me Against the World\n[26:25] Dead Wrong\n[28:38] Ambitions\n[31:39] Thugz Mansion\n\u200B\nI do not own any of the music. If any of the creators want their work taken down please contact me via the email in the about section of my channel.\n\n📼Like, Comment & Subscribe for daily selections like this📼", "duration" => 2126, "filename" => "/downloads/music/Ivy Station Records/If 90's rappers made lofi hip hop radio.m4a", "id" => "YuKbv1KdhTw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=YuKbv1KdhTw", "playlist_index" => 4, "timestamp" => 1618243211, "title" => "If 90's rappers made lofi hip hop radio", "upload_date" => "20210412"} 09:44:30.478 [debug] QUERY OK source="sources" db=128.9ms queue=0.1ms idle=1013.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:30.480 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1143.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:30.481 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1144.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-04-12 16:00:11Z], 1] 09:44:30.489 [debug] QUERY OK source="media_items" db=7.0ms idle=1145.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎧 Follow our official playlist for new chill beats every week\n➡ https://tinyurl.com/Ivy-Station-Records\n\n⛰️ Check out our second channel for original videos on focus, mindset, and productivity\n➡ https://www.youtube.com/@3vrst\n\n📷 Follow us on Instagram\n➡ https://www.instagram.com/ivystationrecords/\n➡ https://www.instagram.com/3vrst.co/\n\n🔊 Release your project with Ivy Station Records\n➡ https://tinyurl.com/Ivy-Station-Submissions\n\n🌿 For all your Ivy Station Needs\n➡ http://ivystationrecords.com/\n\u200B\n\u200B✏️Thanks to @one.ofmillions for the amazing animations\n\nhttps://www.instagram.com/one.ofmillions\nhttps://linktr.ee/one_of_millions.art\n\n♫ Tracklist\n[0:00] Old School\n[3:56] Life's a Bitch\n[7:20] Juicy\n[11:49] Fuck all y'all\n[15:32] One Love\n[19:00] Suicidal Thoughts\n[21:24] Hit em up\n[24:19] Me Against the World\n[26:25] Dead Wrong\n[28:38] Ambitions\n[31:39] Thugz Mansion\n\u200B\nI do not own any of the music. If any of the creators want their work taken down please contact me via the email in the about section of my channel.\n\n📼Like, Comment & Subscribe for daily selections like this📼", "If 90's rappers made lofi hip hop radio", "476d71fd-f853-499e-a389-21a097cd1446", 2126, false, "YuKbv1KdhTw", "https://www.youtube.com/watch?v=YuKbv1KdhTw", 4, "/downloads/music/Ivy Station Records/If 90's rappers made lofi hip hop radio.m4a", false, false, false, 1, [], 1, ~U[2021-04-12 16:00:11Z], ~U[2026-09-16 09:44:30Z], ~U[2026-09-16 09:44:30Z], "🎧 Follow our official playlist for new chill beats every week\n➡ https://tinyurl.com/Ivy-Station-Records\n\n⛰️ Check out our second channel for original videos on focus, mindset, and productivity\n➡ https://www.youtube.com/@3vrst\n\n📷 Follow us on Instagram\n➡ https://www.instagram.com/ivystationrecords/\n➡ https://www.instagram.com/3vrst.co/\n\n🔊 Release your project with Ivy Station Records\n➡ https://tinyurl.com/Ivy-Station-Submissions\n\n🌿 For all your Ivy Station Needs\n➡ http://ivystationrecords.com/\n\u200B\n\u200B✏️Thanks to @one.ofmillions for the amazing animations\n\nhttps://www.instagram.com/one.ofmillions\nhttps://linktr.ee/one_of_millions.art\n\n♫ Tracklist\n[0:00] Old School\n[3:56] Life's a Bitch\n[7:20] Juicy\n[11:49] Fuck all y'all\n[15:32] One Love\n[19:00] Suicidal Thoughts\n[21:24] Hit em up\n[24:19] Me Against the World\n[26:25] Dead Wrong\n[28:38] Ambitions\n[31:39] Thugz Mansion\n\u200B\nI do not own any of the music. If any of the creators want their work taken down please contact me via the email in the about section of my channel.\n\n📼Like, Comment & Subscribe for daily selections like this📼", "If 90's rappers made lofi hip hop radio", 2126, false, "YuKbv1KdhTw", "https://www.youtube.com/watch?v=YuKbv1KdhTw", "/downloads/music/Ivy Station Records/If 90's rappers made lofi hip hop radio.m4a", false, 1, ~U[2021-04-12 16:00:11Z]] 09:44:30.489 [debug] QUERY OK source="sources" db=0.4ms idle=338.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:30.490 [debug] QUERY OK source="media_profiles" db=0.3ms idle=11.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:44:30.491 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=11.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 09:44:30.491 [debug] Current batch of media processed. Will check again in 1000ms 09:44:31.492 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "MORE APPA FLYING AMBIENCE: https://www.youtube.com/watch?v=QGAvQtR0_R8&list=PLIEg2_5Vx9_0\n\n🌎 Explore the complete Avatar: The Last Airbender Ambience Series: https://www.youtube.com/show/VLPLaA6IET2SBaY?sbp=QAE%3D \n\n\nI do not own anything from this video!\n\nJust liked to share it! \nIf you like these types of ambience videos, consider subscribing!", "duration" => 3600, "filename" => "/downloads/music/SeriousChillz/The Last Airbender Ambience - Appa ride.m4a", "id" => "hE0Lav4MZDM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hE0Lav4MZDM", "playlist_index" => 5, "timestamp" => 1620593362, "title" => "The Last Airbender Ambience - Appa ride", "upload_date" => "20210509"} 09:44:31.492 [debug] QUERY OK source="sources" db=0.2ms idle=1003.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:31.493 [debug] QUERY OK source="sources" db=0.1ms idle=1003.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:31.495 [debug] QUERY OK source="media_items" db=1.3ms queue=0.9ms idle=1003.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-05-09 20:49:22Z], 1] 09:44:31.503 [debug] QUERY OK source="media_items" db=6.6ms idle=1004.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["MORE APPA FLYING AMBIENCE: https://www.youtube.com/watch?v=QGAvQtR0_R8&list=PLIEg2_5Vx9_0\n\n🌎 Explore the complete Avatar: The Last Airbender Ambience Series: https://www.youtube.com/show/VLPLaA6IET2SBaY?sbp=QAE%3D \n\n\nI do not own anything from this video!\n\nJust liked to share it! \nIf you like these types of ambience videos, consider subscribing!", "The Last Airbender Ambience - Appa ride", "9683128f-4ed1-4541-8cea-9c7745376cbd", 3600, false, "hE0Lav4MZDM", "https://www.youtube.com/watch?v=hE0Lav4MZDM", 5, "/downloads/music/SeriousChillz/The Last Airbender Ambience - Appa ride.m4a", false, false, false, 1, [], 1, ~U[2021-05-09 20:49:22Z], ~U[2026-09-16 09:44:31Z], ~U[2026-09-16 09:44:31Z], "MORE APPA FLYING AMBIENCE: https://www.youtube.com/watch?v=QGAvQtR0_R8&list=PLIEg2_5Vx9_0\n\n🌎 Explore the complete Avatar: The Last Airbender Ambience Series: https://www.youtube.com/show/VLPLaA6IET2SBaY?sbp=QAE%3D \n\n\nI do not own anything from this video!\n\nJust liked to share it! \nIf you like these types of ambience videos, consider subscribing!", "The Last Airbender Ambience - Appa ride", 3600, false, "hE0Lav4MZDM", "https://www.youtube.com/watch?v=hE0Lav4MZDM", "/downloads/music/SeriousChillz/The Last Airbender Ambience - Appa ride.m4a", false, 1, ~U[2021-05-09 20:49:22Z]] 09:44:31.504 [debug] QUERY OK source="sources" db=0.6ms idle=351.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:31.506 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.8ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:44:31.507 [debug] QUERY OK source="media_items" db=0.9ms idle=12.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5] 09:44:31.507 [debug] Current batch of media processed. Will check again in 1000ms 09:44:32.508 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Provided to YouTube by Maasho\n\nGinger · Maasho · Tanu\n\nGinger\n\n℗ 2019 Maasho\n\nReleased on: 2019-08-30\n\nMain Artist: Maasho\nFeatured Artist: Tanu\nProducer: Ashwin Sridhar\nLyricist: Abel Maasho\nLyricist: Tanmay Joshi\n\nAuto-generated by YouTube.", "duration" => 157, "filename" => "/downloads/music/Maasho/Ginger.m4a", "id" => "BpjAMaUNgHA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BpjAMaUNgHA", "playlist_index" => 6, "timestamp" => 1693957914, "title" => "Ginger", "upload_date" => "20230905"} 09:44:32.508 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1005.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:32.509 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1004.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:32.511 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1004.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-09-05 23:51:54Z], 1] 09:44:32.519 [debug] QUERY OK source="media_items" db=7.5ms idle=1004.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Maasho\n\nGinger · Maasho · Tanu\n\nGinger\n\n℗ 2019 Maasho\n\nReleased on: 2019-08-30\n\nMain Artist: Maasho\nFeatured Artist: Tanu\nProducer: Ashwin Sridhar\nLyricist: Abel Maasho\nLyricist: Tanmay Joshi\n\nAuto-generated by YouTube.", "Ginger", "35620a01-0973-4a0a-a795-59a46ecdb4dd", 157, false, "BpjAMaUNgHA", "https://www.youtube.com/watch?v=BpjAMaUNgHA", 6, "/downloads/music/Maasho/Ginger.m4a", false, false, false, 1, [], 1, ~U[2023-09-05 23:51:54Z], ~U[2026-09-16 09:44:32Z], ~U[2026-09-16 09:44:32Z], "Provided to YouTube by Maasho\n\nGinger · Maasho · Tanu\n\nGinger\n\n℗ 2019 Maasho\n\nReleased on: 2019-08-30\n\nMain Artist: Maasho\nFeatured Artist: Tanu\nProducer: Ashwin Sridhar\nLyricist: Abel Maasho\nLyricist: Tanmay Joshi\n\nAuto-generated by YouTube.", "Ginger", 157, false, "BpjAMaUNgHA", "https://www.youtube.com/watch?v=BpjAMaUNgHA", "/downloads/music/Maasho/Ginger.m4a", false, 1, ~U[2023-09-05 23:51:54Z]] 09:44:32.519 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=366.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:32.520 [debug] QUERY OK source="media_profiles" db=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" = ?) [1] 09:44:32.521 [debug] QUERY OK source="media_items" db=0.3ms idle=10.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 [6] 09:44:32.521 [debug] Current batch of media processed. Will check again in 1000ms 09:44:33.522 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "🎵 Follow the official 7clouds playlist on Spotify : http://spoti.fi/2SJsUcZ\n\u200B🎧 Malcolm Todd - Chest Pain (I Love) (Lyrics)\n⏬ Download / Stream: https://malcolmtodd.lnk.to/chestpain\n🔔 Turn on notifications to stay updated with new uploads!\n\n❤️ Follow our Spotify playlists: http://bit.ly/7cloudsSpotify\n💪 Workout Music: http://workout.7clouds.link\n🎮 Gaming Music: http://gaming.7clouds.link\n🌍 Best Pop Music: http://pop.7clouds.link\n🤬 Hardstyle Music: http://hardstyle.7clouds.link\n🥁 Drum & Bass: http://dnb.7clouds.link\n🔊 Hypertechno: http://techno.7clouds.link\n😡 Phonk Music: http://phonk.7clouds.link\n☁️ 7clouds Releases: http://release.7clouds.link\n\n👉 Malcolm Todd\nhttps://instagram.com/malcolmtodd\nhttps://tiktok.com/@malcolmtodddd\nhttps://malcolmtodd.cool\n\n☁️ 7clouds:\nhttps://open.spotify.com/user/7cloudsmusic\nhttps://soundcloud.com/7cloudsmusic\nhttps://audiomack.com/7cloudsmusic\nhttps://facebook.com/7cloudsofficial\nhttps://discord.com/invite/d5Arh8Y\nhttps://twitter.com/7cloudsmusic\nhttps://instagram.com/7clouds\nhttps://tiktok.com/@7clouds\nhttps://7clouds.org\n\n.........\n🎤 Lyrics: Malcolm Todd - Chest Pain\n\n[Chorus]\nMy chest is hurting, my feet can't fall out of bed\nI don't know where to go, so I'll lay here instead\nWith my symptoms, symptoms of sorrow and dread\nThey all said it would fade but again and again\nI love, I love\nI love, I love, I love\nI love, I love, I love\n\n[Verse]\nI've been so busy\nBut now that I'm alone\nWhere did you go?\nTell me why\nWhy can't you live at home tonight and stay with me inside?\nIt's nice\nPlease, I wanna see what we would be if you were by my side\nMake me feel lonely, soon\nYou might not know me, I wish I could lie\nBut I can't deny\n\n[Chorus]\nMy chest is hurting, my feet can't fall out of bed\nI don't know where to go, so I'll lay here instead\nWith my symptoms, symptoms of sorrow and dread\nThey all said it would fade but again and again\nI love, I love\nI love, I love, I love\nI love, I love, I love\n\n[Refrain]\nOoh, ooh-ooh\nOoh, ooh-ooh\nOoh, ooh-ooh\nOoh, ooh-ooh\n\n[Chorus]\nI'm hurting I'm stuck in my bed\nI don't know where to go, so I'll lay here instead\nWith my symptoms, symptoms of sorrow and dread\nThey all said it would fade, but again and again\nI love, I love\nI love, I love, I love\nI love, I love\nI love, I love, I love\n\n.........\n📧 Contact / Demo Submissions: contact@7clouds.org\n.........\n💌 Demos / Music Submissions: https://7clouds.portal.district.biz\n.........\n\n#malcolmtodd #chestpain #lyrics #7clouds", "duration" => 202, "filename" => "/downloads/music/7clouds/Malcolm Todd - Chest Pain (I Love) (Lyrics).m4a", "id" => "Q_nxgjIY6qQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Q_nxgjIY6qQ", "playlist_index" => 7, "timestamp" => 1743598422, "title" => "Malcolm Todd - Chest Pain (I Love) (Lyrics)", "upload_date" => "20250402"} 09:44:33.523 [debug] QUERY OK source="sources" db=0.8ms idle=1003.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:33.525 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1004.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:33.526 [debug] QUERY OK source="media_items" db=0.6ms idle=1004.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-02 12:53:42Z], 1] 09:44:33.534 [debug] QUERY OK source="media_items" db=7.5ms idle=1005.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎵 Follow the official 7clouds playlist on Spotify : http://spoti.fi/2SJsUcZ\n\u200B🎧 Malcolm Todd - Chest Pain (I Love) (Lyrics)\n⏬ Download / Stream: https://malcolmtodd.lnk.to/chestpain\n🔔 Turn on notifications to stay updated with new uploads!\n\n❤️ Follow our Spotify playlists: http://bit.ly/7cloudsSpotify\n💪 Workout Music: http://workout.7clouds.link\n🎮 Gaming Music: http://gaming.7clouds.link\n🌍 Best Pop Music: http://pop.7clouds.link\n🤬 Hardstyle Music: http://hardstyle.7clouds.link\n🥁 Drum & Bass: http://dnb.7clouds.link\n🔊 Hypertechno: http://techno.7clouds.link\n😡 Phonk Music: http://phonk.7clouds.link\n☁️ 7clouds Releases: http://release.7clouds.link\n\n👉 Malcolm Todd\nhttps://instagram.com/malcolmtodd\nhttps://tiktok.com/@malcolmtodddd\nhttps://malcolmtodd.cool\n\n☁️ 7clouds:\nhttps://open.spotify.com/user/7cloudsmusic\nhttps://soundcloud.com/7cloudsmusic\nhttps://audiomack.com/7cloudsmusic\nhttps://facebook.com/7cloudsofficial\nhttps://discord.com/invite/d5Arh8Y\nhttps://twitter.com/7cloudsmusic\nhttps://instagram.com/7clouds\nhttps://tiktok.com/@7clouds\nhttps://7clouds.org\n\n.........\n🎤 Lyrics: Malcolm Todd - Chest Pain\n\n[Chorus]\nMy chest is hurting, my feet can't fall out of bed\nI don't know where to go, so I'll lay here instead\nWith my symptoms, symptoms of sorrow and dread\nThey all said it would fade but again and again\nI love, I love\nI love, I love, I love\nI love, I love, I love\n\n[Verse]\nI've been so busy\nBut now that I'm alone\nWhere did you go?\nTell me why\nWhy can't you live at home tonight and stay with me inside?\nIt's nice\nPlease, I wanna see what we would be if you were by my side\nMake me feel lonely, soon\nYou might not know me, I wish I could lie\nBut I can't deny\n\n[Chorus]\nMy chest is hurting, my feet can't fall out of bed\nI don't know where to go, so I'll lay here instead\nWith my symptoms, symptoms of sorrow and dread\nThey all said it would fade but again and again\nI love, I love\nI love, I love, I love\nI love, I love, I love\n\n[Refrain]\nOoh, ooh-ooh\nOoh, ooh-ooh\nOoh, ooh-ooh\nOoh, ooh-ooh\n\n[Chorus]\nI'm hurting I'm stuck in my bed\nI don't know where to go, so I'll lay here instead\nWith my symptoms, symptoms of sorrow and dread\nThey all said it would fade, but again and again\nI love, I love\nI love, I love, I love\nI love, I love\nI love, I love, I love\n\n.........\n📧 Contact / Demo Submissions: contact@7clouds.org\n.........\n💌 Demos / Music Submissions: https://7clouds.portal.district.biz\n.........\n\n#malcolmtodd #chestpain #lyrics #7clouds", "Malcolm Todd - Chest Pain (I Love) (Lyrics)", "82b9478f-dfee-4fb2-911d-72c281675405", 202, false, "Q_nxgjIY6qQ", "https://www.youtube.com/watch?v=Q_nxgjIY6qQ", 7, "/downloads/music/7clouds/Malcolm Todd - Chest Pain (I Love) (Lyrics).m4a", false, false, false, 1, [], 1, ~U[2025-04-02 12:53:42Z], ~U[2026-09-16 09:44:33Z], ~U[2026-09-16 09:44:33Z], "🎵 Follow the official 7clouds playlist on Spotify : http://spoti.fi/2SJsUcZ\n\u200B🎧 Malcolm Todd - Chest Pain (I Love) (Lyrics)\n⏬ Download / Stream: https://malcolmtodd.lnk.to/chestpain\n🔔 Turn on notifications to stay updated with new uploads!\n\n❤️ Follow our Spotify playlists: http://bit.ly/7cloudsSpotify\n💪 Workout Music: http://workout.7clouds.link\n🎮 Gaming Music: http://gaming.7clouds.link\n🌍 Best Pop Music: http://pop.7clouds.link\n🤬 Hardstyle Music: http://hardstyle.7clouds.link\n🥁 Drum & Bass: http://dnb.7clouds.link\n🔊 Hypertechno: http://techno.7clouds.link\n😡 Phonk Music: http://phonk.7clouds.link\n☁️ 7clouds Releases: http://release.7clouds.link\n\n👉 Malcolm Todd\nhttps://instagram.com/malcolmtodd\nhttps://tiktok.com/@malcolmtodddd\nhttps://malcolmtodd.cool\n\n☁️ 7clouds:\nhttps://open.spotify.com/user/7cloudsmusic\nhttps://soundcloud.com/7cloudsmusic\nhttps://audiomack.com/7cloudsmusic\nhttps://facebook.com/7cloudsofficial\nhttps://discord.com/invite/d5Arh8Y\nhttps://twitter.com/7cloudsmusic\nhttps://instagram.com/7clouds\nhttps://tiktok.com/@7clouds\nhttps://7clouds.org\n\n.........\n🎤 Lyrics: Malcolm Todd - Chest Pain\n\n[Chorus]\nMy chest is hurting, my feet can't fall out of bed\nI don't know where to go, so I'll lay here instead\nWith my symptoms, symptoms of sorrow and dread\nThey all said it would fade but again and again\nI love, I love\nI love, I love, I love\nI love, I love, I love\n\n[Verse]\nI've been so busy\nBut now that I'm alone\nWhere did you go?\nTell me why\nWhy can't you live at home tonight and stay with me inside?\nIt's nice\nPlease, I wanna see what we would be if you were by my side\nMake me feel lonely, soon\nYou might not know me, I wish I could lie\nBut I can't deny\n\n[Chorus]\nMy chest is hurting, my feet can't fall out of bed\nI don't know where to go, so I'll lay here instead\nWith my symptoms, symptoms of sorrow and dread\nThey all said it would fade but again and again\nI love, I love\nI love, I love, I love\nI love, I love, I love\n\n[Refrain]\nOoh, ooh-ooh\nOoh, ooh-ooh\nOoh, ooh-ooh\nOoh, ooh-ooh\n\n[Chorus]\nI'm hurting I'm stuck in my bed\nI don't know where to go, so I'll lay here instead\nWith my symptoms, symptoms of sorrow and dread\nThey all said it would fade, but again and again\nI love, I love\nI love, I love, I love\nI love, I love\nI love, I love, I love\n\n.........\n📧 Contact / Demo Submissions: contact@7clouds.org\n.........\n💌 Demos / Music Submissions: https://7clouds.portal.district.biz\n.........\n\n#malcolmtodd #chestpain #lyrics #7clouds", "Malcolm Todd - Chest Pain (I Love) (Lyrics)", 202, false, "Q_nxgjIY6qQ", "https://www.youtube.com/watch?v=Q_nxgjIY6qQ", "/downloads/music/7clouds/Malcolm Todd - Chest Pain (I Love) (Lyrics).m4a", false, 1, ~U[2025-04-02 12:53:42Z]] 09:44:33.535 [debug] QUERY OK source="sources" db=0.2ms idle=381.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:33.535 [debug] QUERY OK source="media_profiles" db=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" = ?) [1] 09:44:33.536 [debug] QUERY OK source="media_items" db=0.2ms idle=10.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [7] 09:44:33.536 [debug] Current batch of media processed. Will check again in 1000ms 09:44:34.537 [debug] Current batch of media processed. Will check again in 1000ms 09:44:35.538 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "▶︎ stream GEGENVERKEHR: https://distrokid.com/hyperfollow/schorl3/gegenverkehr\n▶︎ stream ep SPRUDELPOP: https://schorl3.lnk.to/sprudelpop\n \n▶︎ FOLLOW SCHORL3\n \nhttp://Instagram.schorl3.de\nhttp://Facebook.schorl3.de\nhttp://Spotify.schorl3.de\nhttp://AppleMusic.schorl3.de\nhttp://TikTok.schorl3.de\nhttp://Website.schorl3.de/\n \n🔔 Abonniere den SCHORL3 Newsletter ➤ http://Fanpost.schorl3.de/\n \n🎵 Alle offiziellen Musikvideos von SCHORL3 ➤ https://bit.ly/3dH5zj0 \n \n \n▶︎ VIDEO CREDITS\n \nCast - Lara Ballauff https://www.instagram.com/laraballauff/\nCast - Anton Ostrop https://www.instagram.com/antonostrop/\nCamera & Post Production - Pauline Zinedine Zankel https://www.instagram.com/paulinezinedine/\n\n▶︎ SPECIAL THANKS TO\n \nLily Ellerbrock\nLilly Mohrbutter\nVIJI\nKarim Eid\nPano Maier\nDollar$ign\nMarco Diallo\n \n▶︎ LYRICS\n \nAlle ihre Freunde trinken Mate\nZahlen ihren Tabak mit der Karte\nAlle ihre Freunde haben Stil\nRauchen, trinken und kiffen sehr viel\n\nUnd sie reden über Gott und die Welt\ndebattieren was ihnen an der Politik nicht gefällt\nUnd sie fahren mit dem Rad und der Bahn\nDoch geben damit an dass Sie gerade erst auf Bali waren yeah\n\nBist du ohne deine Freunde fällt mir Absagen schwer\ndoch bevor ich mit denen chille lauf ich in Gegenverkehr\n\nGegenverkehr, Gegenverkehr\nich hoff ich seh sie nie mehr\nDenn ich mag sie nicht sehr\n\nAlle ihre Freunde sind Veganer\nessen Tofu trinken hippes Lager – Bier\nAlle ihre Freunde haben Geld\nhoffen, dass ihre Fassade hält\n\nUnd sie reden über Astrologie,\ntuen so als wären ihre Horoskope Magie\nUnd sie machen alle was mit Design\nHören diesen Song und fang dann alle an zu weinen\n\nBist du ohne deine Freunde fällt mir Absagen schwer\ndoch bevor ich mit denen chille lauf ich in Gegenverkehr\n\nUnd sie haben Studiert\nund ich hab es probiert\ndachte ich mag alle Menschen\ndoch sie haben mich schockiert\n\nund es klingt gemein\nich will zwar bei dir sein\ndoch bist du bei deinen Freunden\nbin ich lieber allein\n\nBist du ohne deine Freunde fällt mir Absagen schwer\ndoch bevor ich mit denen chille lauf ich in Gegenverkehr\n\nGegenverkehr, Gegenverkehr\nich hoff ich seh sie nie mehr\nDenn ich mag sie nicht sehr\n\n \n \n \n♥︎ Wir lieben euch alle!\n \n#gegenverkehr #schorl3 #alleliebenschorl3", "duration" => 166, "filename" => "/downloads/music/SCHORL3/SCHORL3 - GEGENVERKEHR (OFFIZIELLES MUSIKVIDEO).m4a", "id" => "PTUXPQMiDSo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=PTUXPQMiDSo", "playlist_index" => 8, "timestamp" => 1599833710, "title" => "SCHORL3 - GEGENVERKEHR (OFFIZIELLES MUSIKVIDEO)", "upload_date" => "20200911"} 09:44:35.538 [debug] QUERY OK source="sources" db=0.2ms idle=382.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:35.539 [debug] QUERY OK source="sources" db=0.1ms idle=203.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:35.540 [debug] QUERY OK source="media_items" db=0.3ms idle=203.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-09-11 14:15:10Z], 1] 09:44:35.547 [debug] QUERY OK source="media_items" db=6.7ms idle=204.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["▶︎ stream GEGENVERKEHR: https://distrokid.com/hyperfollow/schorl3/gegenverkehr\n▶︎ stream ep SPRUDELPOP: https://schorl3.lnk.to/sprudelpop\n \n▶︎ FOLLOW SCHORL3\n \nhttp://Instagram.schorl3.de\nhttp://Facebook.schorl3.de\nhttp://Spotify.schorl3.de\nhttp://AppleMusic.schorl3.de\nhttp://TikTok.schorl3.de\nhttp://Website.schorl3.de/\n \n🔔 Abonniere den SCHORL3 Newsletter ➤ http://Fanpost.schorl3.de/\n \n🎵 Alle offiziellen Musikvideos von SCHORL3 ➤ https://bit.ly/3dH5zj0 \n \n \n▶︎ VIDEO CREDITS\n \nCast - Lara Ballauff https://www.instagram.com/laraballauff/\nCast - Anton Ostrop https://www.instagram.com/antonostrop/\nCamera & Post Production - Pauline Zinedine Zankel https://www.instagram.com/paulinezinedine/\n\n▶︎ SPECIAL THANKS TO\n \nLily Ellerbrock\nLilly Mohrbutter\nVIJI\nKarim Eid\nPano Maier\nDollar$ign\nMarco Diallo\n \n▶︎ LYRICS\n \nAlle ihre Freunde trinken Mate\nZahlen ihren Tabak mit der Karte\nAlle ihre Freunde haben Stil\nRauchen, trinken und kiffen sehr viel\n\nUnd sie reden über Gott und die Welt\ndebattieren was ihnen an der Politik nicht gefällt\nUnd sie fahren mit dem Rad und der Bahn\nDoch geben damit an dass Sie gerade erst auf Bali waren yeah\n\nBist du ohne deine Freunde fällt mir Absagen schwer\ndoch bevor ich mit denen chille lauf ich in Gegenverkehr\n\nGegenverkehr, Gegenverkehr\nich hoff ich seh sie nie mehr\nDenn ich mag sie nicht sehr\n\nAlle ihre Freunde sind Veganer\nessen Tofu trinken hippes Lager – Bier\nAlle ihre Freunde haben Geld\nhoffen, dass ihre Fassade hält\n\nUnd sie reden über Astrologie,\ntuen so als wären ihre Horoskope Magie\nUnd sie machen alle was mit Design\nHören diesen Song und fang dann alle an zu weinen\n\nBist du ohne deine Freunde fällt mir Absagen schwer\ndoch bevor ich mit denen chille lauf ich in Gegenverkehr\n\nUnd sie haben Studiert\nund ich hab es probiert\ndachte ich mag alle Menschen\ndoch sie haben mich schockiert\n\nund es klingt gemein\nich will zwar bei dir sein\ndoch bist du bei deinen Freunden\nbin ich lieber allein\n\nBist du ohne deine Freunde fällt mir Absagen schwer\ndoch bevor ich mit denen chille lauf ich in Gegenverkehr\n\nGegenverkehr, Gegenverkehr\nich hoff ich seh sie nie mehr\nDenn ich mag sie nicht sehr\n\n \n \n \n♥︎ Wir lieben euch alle!\n \n#gegenverkehr #schorl3 #alleliebenschorl3", "SCHORL3 - GEGENVERKEHR (OFFIZIELLES MUSIKVIDEO)", "8fa7c38b-f72f-4d18-b682-921ef2a76fa1", 166, false, "PTUXPQMiDSo", "https://www.youtube.com/watch?v=PTUXPQMiDSo", 8, "/downloads/music/SCHORL3/SCHORL3 - GEGENVERKEHR (OFFIZIELLES MUSIKVIDEO).m4a", false, false, false, 1, [], 1, ~U[2020-09-11 14:15:10Z], ~U[2026-09-16 09:44:35Z], ~U[2026-09-16 09:44:35Z], "▶︎ stream GEGENVERKEHR: https://distrokid.com/hyperfollow/schorl3/gegenverkehr\n▶︎ stream ep SPRUDELPOP: https://schorl3.lnk.to/sprudelpop\n \n▶︎ FOLLOW SCHORL3\n \nhttp://Instagram.schorl3.de\nhttp://Facebook.schorl3.de\nhttp://Spotify.schorl3.de\nhttp://AppleMusic.schorl3.de\nhttp://TikTok.schorl3.de\nhttp://Website.schorl3.de/\n \n🔔 Abonniere den SCHORL3 Newsletter ➤ http://Fanpost.schorl3.de/\n \n🎵 Alle offiziellen Musikvideos von SCHORL3 ➤ https://bit.ly/3dH5zj0 \n \n \n▶︎ VIDEO CREDITS\n \nCast - Lara Ballauff https://www.instagram.com/laraballauff/\nCast - Anton Ostrop https://www.instagram.com/antonostrop/\nCamera & Post Production - Pauline Zinedine Zankel https://www.instagram.com/paulinezinedine/\n\n▶︎ SPECIAL THANKS TO\n \nLily Ellerbrock\nLilly Mohrbutter\nVIJI\nKarim Eid\nPano Maier\nDollar$ign\nMarco Diallo\n \n▶︎ LYRICS\n \nAlle ihre Freunde trinken Mate\nZahlen ihren Tabak mit der Karte\nAlle ihre Freunde haben Stil\nRauchen, trinken und kiffen sehr viel\n\nUnd sie reden über Gott und die Welt\ndebattieren was ihnen an der Politik nicht gefällt\nUnd sie fahren mit dem Rad und der Bahn\nDoch geben damit an dass Sie gerade erst auf Bali waren yeah\n\nBist du ohne deine Freunde fällt mir Absagen schwer\ndoch bevor ich mit denen chille lauf ich in Gegenverkehr\n\nGegenverkehr, Gegenverkehr\nich hoff ich seh sie nie mehr\nDenn ich mag sie nicht sehr\n\nAlle ihre Freunde sind Veganer\nessen Tofu trinken hippes Lager – Bier\nAlle ihre Freunde haben Geld\nhoffen, dass ihre Fassade hält\n\nUnd sie reden über Astrologie,\ntuen so als wären ihre Horoskope Magie\nUnd sie machen alle was mit Design\nHören diesen Song und fang dann alle an zu weinen\n\nBist du ohne deine Freunde fällt mir Absagen schwer\ndoch bevor ich mit denen chille lauf ich in Gegenverkehr\n\nUnd sie haben Studiert\nund ich hab es probiert\ndachte ich mag alle Menschen\ndoch sie haben mich schockiert\n\nund es klingt gemein\nich will zwar bei dir sein\ndoch bist du bei deinen Freunden\nbin ich lieber allein\n\nBist du ohne deine Freunde fällt mir Absagen schwer\ndoch bevor ich mit denen chille lauf ich in Gegenverkehr\n\nGegenverkehr, Gegenverkehr\nich hoff ich seh sie nie mehr\nDenn ich mag sie nicht sehr\n\n \n \n \n♥︎ Wir lieben euch alle!\n \n#gegenverkehr #schorl3 #alleliebenschorl3", "SCHORL3 - GEGENVERKEHR (OFFIZIELLES MUSIKVIDEO)", 166, false, "PTUXPQMiDSo", "https://www.youtube.com/watch?v=PTUXPQMiDSo", "/downloads/music/SCHORL3/SCHORL3 - GEGENVERKEHR (OFFIZIELLES MUSIKVIDEO).m4a", false, 1, ~U[2020-09-11 14:15:10Z]] 09:44:35.548 [debug] QUERY OK source="sources" db=0.2ms idle=211.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:35.548 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:44:35.549 [debug] QUERY OK source="media_items" db=0.3ms idle=9.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [8] 09:44:35.549 [debug] Current batch of media processed. Will check again in 1000ms 09:44:36.550 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Godmode ft. Lucha - I'm A Monster\nMore from @Godmode: https://www.youtube.com/channel/UCGgXtv_PPFDUk_w1SI0_nVA\n\nZhang Chulan's fate changed one day when he went to the cemetery to visit his grandfather's grave and was attacked by zombies and saved by a mysterious girl. The amv is based on the evolution of zhang as a character, relating him to epic music, capable of conveying the emotion of action.\n\n▪ 𝙕𝙊𝙍𝙆𝙀𝙉 剣士 ▪\n◆ 𝗜𝗡𝗦𝗧𝗔𝗚𝗥𝗔𝗠: https://www.instagram.com/zorkenamvs/\n◆ 𝗗𝗜𝗦𝗖𝗢𝗥𝗗: https://discord.gg/mCs4cbGSfS\n◆ 𝗕𝗨𝗦𝗜𝗡𝗘𝗦𝗦 𝗚𝗠𝗔𝗜𝗟: Zorkenbusiness@gmail.com\n_________________________________________________________\n\n- 𝗦𝗧𝗥𝗘𝗔𝗠 \"I'm A Monster\" \n⋄ 𝗦𝗽𝗼𝘁𝗶𝗳𝘆: https://open.spotify.com/track/10J13D1trETctDdfUg6b5V?si=be1fc8d7c2624f39\n⋄ 𝗔𝗽𝗽𝗹𝗲 𝗠𝘂𝘀𝗶𝗰: https://music.apple.com/br/album/im-a-monster-single/1513261009\n\n◈ @Godmode \n◦ https://open.spotify.com/artist/3R4VCoPt7V1poOWpdU43X8\n◦ https://soundcloud.com/godmode-on-9172202\n◦ https://www.instagram.com/theofficialgodmode/?hl=en\n\n◈ @itslucha\n◦ https://open.spotify.com/artist/0jkgNCEAyUXUD4u8nO6olG\n◦ https://soundcloud.com/itslucha\n◦ https://www.instagram.com/itslucha/\n\n♪ 𝗟𝗬𝗥𝗜𝗖𝗦:\n\nOoh yeah\nI don't need no liquor and I don’t need no drugs\nTo feel like I am gifted\nTo really get that buzz\nCause I just like the music\nSo that is what I want\nLet me bring you all to life cause that's what I'm on like\n\nKeep this going, do it now\nEven though I’m sober\nEnergy is crazy and I am taking over\nI can really write these raps while chilling on the sofa\nCause I am a monster and I came to take it over\n\nOh ma, I think that I'm a monster\nOh ma, I wished it weighs on my conscious\nBut it really, really doesn't\nSo I tell the truth to you, there is no bluffing like\n\nMama, mama, mama, I'm a monster\nYeah, I am the lord that's gonna conquer\nSo I don't care what you say\nYou know I run this\nSo I been back on my path\nI'm really on this\n\nOn this level elevating, man I do it now, I really gotta make it\nLike I don't care what they be really saying\nSo I’m coming through\nAnd I just gotta slay it\nI’m a monster, I'm a genius\nMan, I’m working so hard\nSo I don't really care what they say right now\nI rise the top\n\nWoah, I rise to the top, you should, should know\nYeah I ain't gonna give up oh oh no\nCause I'm a, I’m a monster and you know\nThat I came to kill it, so here we go\n(no, no, no) Oh mama, I'm a monster\n(yeah, yeah) Nobody will keep it going like\n\nOh ma, I think that I'm a monster\nOh ma I wished it weighs on my conscious\nBut it really, really doesn't\nSo I tell the truth to you, there's no bluffing like\n\nCause ya'll ain't ready for me, I know, I know that\nSo I'm on this road, I keep on going\nYa'll try to stop me, I'm like oh no man\nYou never do it man\nI keep on, keep on, keep on going\nI keep on moving\nWe really do this\nYou think you cut me down hey\nDawg, I am no Judas\nMan, I just slay these slayers\nI kill these intruders\nCause I been sliding through the best to ever do this like\n\n▶ 𝗩𝗜𝗗𝗘𝗢 𝗜𝗡𝗙𝗢:\n▪ Anime: Hitori no Shita The Outcast Season 3\n_________________________________________________________\n#AMV #Zorken #AnimeMusicVideo #HitoriNoShita #ChineseAnime #GodMode\n𝗩𝗶𝗱𝗲𝗼 𝗽𝗿𝗼𝗱𝘂𝗰𝗲𝗱 𝗯𝘆 𝗭𝗼𝗿𝗸𝗲𝗻 剣士\n𝐀𝐋𝐋 𝐑𝐈𝐆𝐇𝐓𝐒 𝐑𝐄𝐒𝐄𝐑𝐕𝐄𝐃 © (𝟮𝟬𝟮𝟭).", "duration" => 182, "filename" => "/downloads/music/Zorken 剣士/Godmode x Lucha - I'm A Monster.m4a", "id" => "YHT3GEvXU3Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=YHT3GEvXU3Q", "playlist_index" => 9, "timestamp" => 1619649565, "title" => "Godmode x Lucha - I'm A Monster", "upload_date" => "20210428"} 09:44:36.551 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1003.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:36.551 [debug] QUERY OK source="sources" db=0.1ms idle=1003.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:36.552 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-04-28 22:39:25Z], 1] 09:44:36.560 [debug] QUERY OK source="media_items" db=6.9ms idle=1003.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Godmode ft. Lucha - I'm A Monster\nMore from @Godmode: https://www.youtube.com/channel/UCGgXtv_PPFDUk_w1SI0_nVA\n\nZhang Chulan's fate changed one day when he went to the cemetery to visit his grandfather's grave and was attacked by zombies and saved by a mysterious girl. The amv is based on the evolution of zhang as a character, relating him to epic music, capable of conveying the emotion of action.\n\n▪ 𝙕𝙊𝙍𝙆𝙀𝙉 剣士 ▪\n◆ 𝗜𝗡𝗦𝗧𝗔𝗚𝗥𝗔𝗠: https://www.instagram.com/zorkenamvs/\n◆ 𝗗𝗜𝗦𝗖𝗢𝗥𝗗: https://discord.gg/mCs4cbGSfS\n◆ 𝗕𝗨𝗦𝗜𝗡𝗘𝗦𝗦 𝗚𝗠𝗔𝗜𝗟: Zorkenbusiness@gmail.com\n_________________________________________________________\n\n- 𝗦𝗧𝗥𝗘𝗔𝗠 \"I'm A Monster\" \n⋄ 𝗦𝗽𝗼𝘁𝗶𝗳𝘆: https://open.spotify.com/track/10J13D1trETctDdfUg6b5V?si=be1fc8d7c2624f39\n⋄ 𝗔𝗽𝗽𝗹𝗲 𝗠𝘂𝘀𝗶𝗰: https://music.apple.com/br/album/im-a-monster-single/1513261009\n\n◈ @Godmode \n◦ https://open.spotify.com/artist/3R4VCoPt7V1poOWpdU43X8\n◦ https://soundcloud.com/godmode-on-9172202\n◦ https://www.instagram.com/theofficialgodmode/?hl=en\n\n◈ @itslucha\n◦ https://open.spotify.com/artist/0jkgNCEAyUXUD4u8nO6olG\n◦ https://soundcloud.com/itslucha\n◦ https://www.instagram.com/itslucha/\n\n♪ 𝗟𝗬𝗥𝗜𝗖𝗦:\n\nOoh yeah\nI don't need no liquor and I don’t need no drugs\nTo feel like I am gifted\nTo really get that buzz\nCause I just like the music\nSo that is what I want\nLet me bring you all to life cause that's what I'm on like\n\nKeep this going, do it now\nEven though I’m sober\nEnergy is crazy and I am taking over\nI can really write these raps while chilling on the sofa\nCause I am a monster and I came to take it over\n\nOh ma, I think that I'm a monster\nOh ma, I wished it weighs on my conscious\nBut it really, really doesn't\nSo I tell the truth to you, there is no bluffing like\n\nMama, mama, mama, I'm a monster\nYeah, I am the lord that's gonna conquer\nSo I don't care what you say\nYou know I run this\nSo I been back on my path\nI'm really on this\n\nOn this level elevating, man I do it now, I really gotta make it\nLike I don't care what they be really saying\nSo I’m coming through\nAnd I just gotta slay it\nI’m a monster, I'm a genius\nMan, I’m working so hard\nSo I don't really care what they say right now\nI rise the top\n\nWoah, I rise to the top, you should, should know\nYeah I ain't gonna give up oh oh no\nCause I'm a, I’m a monster and you know\nThat I came to kill it, so here we go\n(no, no, no) Oh mama, I'm a monster\n(yeah, yeah) Nobody will keep it going like\n\nOh ma, I think that I'm a monster\nOh ma I wished it weighs on my conscious\nBut it really, really doesn't\nSo I tell the truth to you, there's no bluffing like\n\nCause ya'll ain't ready for me, I know, I know that\nSo I'm on this road, I keep on going\nYa'll try to stop me, I'm like oh no man\nYou never do it man\nI keep on, keep on, keep on going\nI keep on moving\nWe really do this\nYou think you cut me down hey\nDawg, I am no Judas\nMan, I just slay these slayers\nI kill these intruders\nCause I been sliding through the best to ever do this like\n\n▶ 𝗩𝗜𝗗𝗘𝗢 𝗜𝗡𝗙𝗢:\n▪ Anime: Hitori no Shita The Outcast Season 3\n_________________________________________________________\n#AMV #Zorken #AnimeMusicVideo #HitoriNoShita #ChineseAnime #GodMode\n𝗩𝗶𝗱𝗲𝗼 𝗽𝗿𝗼𝗱𝘂𝗰𝗲𝗱 𝗯𝘆 𝗭𝗼𝗿𝗸𝗲𝗻 剣士\n𝐀𝐋𝐋 𝐑𝐈𝐆𝐇𝐓𝐒 𝐑𝐄𝐒𝐄𝐑𝐕𝐄𝐃 © (𝟮𝟬𝟮𝟭).", "Godmode x Lucha - I'm A Monster", "5e2d42c6-4d53-4260-baa8-cbf5bdffec55", 182, false, "YHT3GEvXU3Q", "https://www.youtube.com/watch?v=YHT3GEvXU3Q", 9, "/downloads/music/Zorken 剣士/Godmode x Lucha - I'm A Monster.m4a", false, false, false, 1, [], 1, ~U[2021-04-28 22:39:25Z], ~U[2026-09-16 09:44:36Z], ~U[2026-09-16 09:44:36Z], "Godmode ft. Lucha - I'm A Monster\nMore from @Godmode: https://www.youtube.com/channel/UCGgXtv_PPFDUk_w1SI0_nVA\n\nZhang Chulan's fate changed one day when he went to the cemetery to visit his grandfather's grave and was attacked by zombies and saved by a mysterious girl. The amv is based on the evolution of zhang as a character, relating him to epic music, capable of conveying the emotion of action.\n\n▪ 𝙕𝙊𝙍𝙆𝙀𝙉 剣士 ▪\n◆ 𝗜𝗡𝗦𝗧𝗔𝗚𝗥𝗔𝗠: https://www.instagram.com/zorkenamvs/\n◆ 𝗗𝗜𝗦𝗖𝗢𝗥𝗗: https://discord.gg/mCs4cbGSfS\n◆ 𝗕𝗨𝗦𝗜𝗡𝗘𝗦𝗦 𝗚𝗠𝗔𝗜𝗟: Zorkenbusiness@gmail.com\n_________________________________________________________\n\n- 𝗦𝗧𝗥𝗘𝗔𝗠 \"I'm A Monster\" \n⋄ 𝗦𝗽𝗼𝘁𝗶𝗳𝘆: https://open.spotify.com/track/10J13D1trETctDdfUg6b5V?si=be1fc8d7c2624f39\n⋄ 𝗔𝗽𝗽𝗹𝗲 𝗠𝘂𝘀𝗶𝗰: https://music.apple.com/br/album/im-a-monster-single/1513261009\n\n◈ @Godmode \n◦ https://open.spotify.com/artist/3R4VCoPt7V1poOWpdU43X8\n◦ https://soundcloud.com/godmode-on-9172202\n◦ https://www.instagram.com/theofficialgodmode/?hl=en\n\n◈ @itslucha\n◦ https://open.spotify.com/artist/0jkgNCEAyUXUD4u8nO6olG\n◦ https://soundcloud.com/itslucha\n◦ https://www.instagram.com/itslucha/\n\n♪ 𝗟𝗬𝗥𝗜𝗖𝗦:\n\nOoh yeah\nI don't need no liquor and I don’t need no drugs\nTo feel like I am gifted\nTo really get that buzz\nCause I just like the music\nSo that is what I want\nLet me bring you all to life cause that's what I'm on like\n\nKeep this going, do it now\nEven though I’m sober\nEnergy is crazy and I am taking over\nI can really write these raps while chilling on the sofa\nCause I am a monster and I came to take it over\n\nOh ma, I think that I'm a monster\nOh ma, I wished it weighs on my conscious\nBut it really, really doesn't\nSo I tell the truth to you, there is no bluffing like\n\nMama, mama, mama, I'm a monster\nYeah, I am the lord that's gonna conquer\nSo I don't care what you say\nYou know I run this\nSo I been back on my path\nI'm really on this\n\nOn this level elevating, man I do it now, I really gotta make it\nLike I don't care what they be really saying\nSo I’m coming through\nAnd I just gotta slay it\nI’m a monster, I'm a genius\nMan, I’m working so hard\nSo I don't really care what they say right now\nI rise the top\n\nWoah, I rise to the top, you should, should know\nYeah I ain't gonna give up oh oh no\nCause I'm a, I’m a monster and you know\nThat I came to kill it, so here we go\n(no, no, no) Oh mama, I'm a monster\n(yeah, yeah) Nobody will keep it going like\n\nOh ma, I think that I'm a monster\nOh ma I wished it weighs on my conscious\nBut it really, really doesn't\nSo I tell the truth to you, there's no bluffing like\n\nCause ya'll ain't ready for me, I know, I know that\nSo I'm on this road, I keep on going\nYa'll try to stop me, I'm like oh no man\nYou never do it man\nI keep on, keep on, keep on going\nI keep on moving\nWe really do this\nYou think you cut me down hey\nDawg, I am no Judas\nMan, I just slay these slayers\nI kill these intruders\nCause I been sliding through the best to ever do this like\n\n▶ 𝗩𝗜𝗗𝗘𝗢 𝗜𝗡𝗙𝗢:\n▪ Anime: Hitori no Shita The Outcast Season 3\n_______________________________________ (truncated) 09:44:36.560 [debug] QUERY OK source="sources" db=0.2ms idle=402.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:36.561 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:44:36.561 [debug] QUERY OK source="media_items" db=0.2ms idle=9.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9] 09:44:36.561 [debug] Current batch of media processed. Will check again in 1000ms 09:44:37.562 [debug] Current batch of media processed. Will check again in 1000ms 09:44:38.563 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "DMNDS & Fallen Roses - Calabria (ft. Nito Onna)\nCheck out the best Car Music playlist on Spotify 🔥\nhttps://extendedrecords.lnk.to/spotifyplaylist\n\nFollow Strange Fruits:\nLink tree: https://lnk.to/strangefruitsmusic\n\nFollow DMNDS:\nSpotify: http://bit.ly/SpotifyDMNDS\nDeezer: http://bit.ly/DeezerDMNDS\n\nFollow FallenRoses:\nSpotify: http://bit.ly/SpotifyFallenRoses\nDeezer: http://bit.ly/DeezerFallenRoses\n\nFollow Nito-Onna:\nSpotify: https://spoti.fi/34zUZpJ\n\nFollow Lujavo:\nSpotify: https://spoti.fi/3i7u10q\n\nBackground Video:\nYouTube: http://bit.ly/PhotoLabFulda\nInstagram: http://bit.ly/InstagramPhotoLab\n\n🎥 Original Editing and Design made by the Extended Music team.\n\n🚫 Please do not upload our videos on other channels. All copyright belongs to Extended Music and this violates our policies. We appreciate your cooperation and respect for copyright. \n\n🔎 if the Links in the Description don't work, just copy and paste them in the URL Search!\n\n📥 Contact us:\n(extendedmusicde@gmail.com)\n\n\n#SlapHouse\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B #DeepHouse\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B #ExtendedRemix\u200B", "duration" => 582, "filename" => "/downloads/music/Extended Music/DMNDS & Fallen Roses - Calabria | Extended Remix.m4a", "id" => "c1ZLS-dnw94", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c1ZLS-dnw94", "playlist_index" => 10, "timestamp" => 1618932952, "title" => "DMNDS & Fallen Roses - Calabria | Extended Remix", "upload_date" => "20210420"} 09:44:38.563 [debug] QUERY OK source="sources" db=0.2ms idle=403.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:38.564 [debug] QUERY OK source="sources" db=0.1ms idle=227.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:38.564 [debug] QUERY OK source="media_items" db=0.3ms idle=228.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-04-20 15:35:52Z], 1] 09:44:38.571 [debug] QUERY OK source="media_items" db=5.6ms idle=228.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["DMNDS & Fallen Roses - Calabria (ft. Nito Onna)\nCheck out the best Car Music playlist on Spotify 🔥\nhttps://extendedrecords.lnk.to/spotifyplaylist\n\nFollow Strange Fruits:\nLink tree: https://lnk.to/strangefruitsmusic\n\nFollow DMNDS:\nSpotify: http://bit.ly/SpotifyDMNDS\nDeezer: http://bit.ly/DeezerDMNDS\n\nFollow FallenRoses:\nSpotify: http://bit.ly/SpotifyFallenRoses\nDeezer: http://bit.ly/DeezerFallenRoses\n\nFollow Nito-Onna:\nSpotify: https://spoti.fi/34zUZpJ\n\nFollow Lujavo:\nSpotify: https://spoti.fi/3i7u10q\n\nBackground Video:\nYouTube: http://bit.ly/PhotoLabFulda\nInstagram: http://bit.ly/InstagramPhotoLab\n\n🎥 Original Editing and Design made by the Extended Music team.\n\n🚫 Please do not upload our videos on other channels. All copyright belongs to Extended Music and this violates our policies. We appreciate your cooperation and respect for copyright. \n\n🔎 if the Links in the Description don't work, just copy and paste them in the URL Search!\n\n📥 Contact us:\n(extendedmusicde@gmail.com)\n\n\n#SlapHouse\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B #DeepHouse\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B #ExtendedRemix\u200B", "DMNDS & Fallen Roses - Calabria | Extended Remix", "b49ac99d-edd0-4d17-a947-5e58341e99e8", 582, false, "c1ZLS-dnw94", "https://www.youtube.com/watch?v=c1ZLS-dnw94", 10, "/downloads/music/Extended Music/DMNDS & Fallen Roses - Calabria | Extended Remix.m4a", false, false, false, 1, [], 1, ~U[2021-04-20 15:35:52Z], ~U[2026-09-16 09:44:38Z], ~U[2026-09-16 09:44:38Z], "DMNDS & Fallen Roses - Calabria (ft. Nito Onna)\nCheck out the best Car Music playlist on Spotify 🔥\nhttps://extendedrecords.lnk.to/spotifyplaylist\n\nFollow Strange Fruits:\nLink tree: https://lnk.to/strangefruitsmusic\n\nFollow DMNDS:\nSpotify: http://bit.ly/SpotifyDMNDS\nDeezer: http://bit.ly/DeezerDMNDS\n\nFollow FallenRoses:\nSpotify: http://bit.ly/SpotifyFallenRoses\nDeezer: http://bit.ly/DeezerFallenRoses\n\nFollow Nito-Onna:\nSpotify: https://spoti.fi/34zUZpJ\n\nFollow Lujavo:\nSpotify: https://spoti.fi/3i7u10q\n\nBackground Video:\nYouTube: http://bit.ly/PhotoLabFulda\nInstagram: http://bit.ly/InstagramPhotoLab\n\n🎥 Original Editing and Design made by the Extended Music team.\n\n🚫 Please do not upload our videos on other channels. All copyright belongs to Extended Music and this violates our policies. We appreciate your cooperation and respect for copyright. \n\n🔎 if the Links in the Description don't work, just copy and paste them in the URL Search!\n\n📥 Contact us:\n(extendedmusicde@gmail.com)\n\n\n#SlapHouse\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B #DeepHouse\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B #ExtendedRemix\u200B", "DMNDS & Fallen Roses - Calabria | Extended Remix", 582, false, "c1ZLS-dnw94", "https://www.youtube.com/watch?v=c1ZLS-dnw94", "/downloads/music/Extended Music/DMNDS & Fallen Roses - Calabria | Extended Remix.m4a", false, 1, ~U[2021-04-20 15:35:52Z]] 09:44:38.571 [debug] QUERY OK source="sources" db=0.1ms idle=235.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:38.572 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:44:38.573 [debug] QUERY OK source="media_items" db=0.5ms 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 [11] 09:44:38.573 [debug] Current batch of media processed. Will check again in 1000ms 09:44:39.574 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Ramz - Barking Lyric Video | RapTunes\nBarking (Lyrics) shes callin, im yawnin - Ramz. Album \"Blockbuster\"\nYour new favorite Spotify rap playlist: https://bit.ly/RaptunesSpotify\n\n\n🔥 Follow Ramz:\nhttps://twitter.com/ramonerochester\nhttp://instagram.com/ramonerochester\n\n\n🔥 RapTunes Lyrics: http://bit.ly/subscribe-raptunes-lyrics\n\n\nDisclaimer: I do not own any of the content posted. All rights are reserved to their respective owners!!!\nThese videos are strictly for promotional use.\nIf you are own any of these songs and would like your credit to be added or you want your material removed, contact me: raptunes2620@gmail.com\n\n\n🔥 Barking Lyrics\n\n[Intro]\nYeah, yeah, yeah\nMokuba Lives Beats\nYeah-yeah, yeah, yeah\n\n[Chorus]\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (In the mornin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (Yawnin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\n\n[Verse]\nI'm icy (I'm Icy)\nI got a tick from my head to my feet, that's Nike\nAnd that's pricey\nYou see them guys over there? They ain't like me\nI got a Portuguese ting, not wifey\nShe said my temper's tiny\nI got two different worlds like Miley\nYou hit me up, that's unlikely (Likely)\nBut I walked in the room with a fresh trim (Fresh trim)\nShowin' my Colgate teeth (My teeth)\nYeah, they're lookin' at me (Lookin' at me)\nSayin' \"Can I get a pic for the 'Gram, just like AJ T\"\nNo wonder they hate on me (Yeah, yeah)\n'Cause I'm makin' P's and they see these clothes\nYeah, I get 'em for free\n\n[Chorus]\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (In the mornin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (Yawnin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\n\n[Bridge]\nMany guys (Many guys), many, many, many guys\nHate me and it's true, too bad\nI just stunt on you, too bad\nI don't look like you\nLike many, many, many guys (Many guys, yeah)\nHate me and it's true, too bad\nI just stunt on you, like too bad\n\n[Chorus]\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\n\n[Outro]\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'...\n\n\n#ramz #barking #raptunes\n--------------------------------------------------------\nRaptunes is the channel to find lyric videos for all the best new rap, hiphop and underground rap songs as soon as they come out. I spend every day searching for the newest rap hits to create lyric videos to share with you guys. Subscribe to RapTunes to receive lyric videos for all the new rap singles as soon as they hit the internet.", "duration" => 204, "filename" => "/downloads/music/RapTunes/Ramz - Barking (Lyrics) i might link my ting from barkin | RapTunes.m4a", "id" => "czOXe3mzLgI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=czOXe3mzLgI", "playlist_index" => 11, "timestamp" => 1581965232, "title" => "Ramz - Barking (Lyrics) i might link my ting from barkin | RapTunes", "upload_date" => "20200217"} 09:44:39.575 [debug] QUERY OK source="sources" db=0.3ms idle=1003.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:39.575 [debug] QUERY OK source="sources" db=0.2ms idle=1003.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:39.576 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-02-17 18:47:12Z], 1] 09:44:39.590 [debug] QUERY OK source="media_items" db=13.2ms idle=1003.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Ramz - Barking Lyric Video | RapTunes\nBarking (Lyrics) shes callin, im yawnin - Ramz. Album \"Blockbuster\"\nYour new favorite Spotify rap playlist: https://bit.ly/RaptunesSpotify\n\n\n🔥 Follow Ramz:\nhttps://twitter.com/ramonerochester\nhttp://instagram.com/ramonerochester\n\n\n🔥 RapTunes Lyrics: http://bit.ly/subscribe-raptunes-lyrics\n\n\nDisclaimer: I do not own any of the content posted. All rights are reserved to their respective owners!!!\nThese videos are strictly for promotional use.\nIf you are own any of these songs and would like your credit to be added or you want your material removed, contact me: raptunes2620@gmail.com\n\n\n🔥 Barking Lyrics\n\n[Intro]\nYeah, yeah, yeah\nMokuba Lives Beats\nYeah-yeah, yeah, yeah\n\n[Chorus]\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (In the mornin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (Yawnin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\n\n[Verse]\nI'm icy (I'm Icy)\nI got a tick from my head to my feet, that's Nike\nAnd that's pricey\nYou see them guys over there? They ain't like me\nI got a Portuguese ting, not wifey\nShe said my temper's tiny\nI got two different worlds like Miley\nYou hit me up, that's unlikely (Likely)\nBut I walked in the room with a fresh trim (Fresh trim)\nShowin' my Colgate teeth (My teeth)\nYeah, they're lookin' at me (Lookin' at me)\nSayin' \"Can I get a pic for the 'Gram, just like AJ T\"\nNo wonder they hate on me (Yeah, yeah)\n'Cause I'm makin' P's and they see these clothes\nYeah, I get 'em for free\n\n[Chorus]\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (In the mornin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (Yawnin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\n\n[Bridge]\nMany guys (Many guys), many, many, many guys\nHate me and it's true, too bad\nI just stunt on you, too bad\nI don't look like you\nLike many, many, many guys (Many guys, yeah)\nHate me and it's true, too bad\nI just stunt on you, like too bad\n\n[Chorus]\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\n\n[Outro]\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'...\n\n\n#ramz #barking #raptunes\n--------------------------------------------------------\nRaptunes is the channel to find lyric videos for all the best new rap, hiphop and underground rap songs as soon as they come out. I spend every day searching for the newest rap hits to create lyric videos to share with you guys. Subscribe to RapTunes to receive lyric videos for all the new rap singles as soon as they hit the internet.", "Ramz - Barking (Lyrics) i might link my ting from barkin | RapTunes", "fdd6dc3b-aee6-44af-9a3d-6a7fb8c00f00", 204, false, "czOXe3mzLgI", "https://www.youtube.com/watch?v=czOXe3mzLgI", 11, "/downloads/music/RapTunes/Ramz - Barking (Lyrics) i might link my ting from barkin | RapTunes.m4a", false, false, false, 1, [], 1, ~U[2020-02-17 18:47:12Z], ~U[2026-09-16 09:44:39Z], ~U[2026-09-16 09:44:39Z], "Ramz - Barking Lyric Video | RapTunes\nBarking (Lyrics) shes callin, im yawnin - Ramz. Album \"Blockbuster\"\nYour new favorite Spotify rap playlist: https://bit.ly/RaptunesSpotify\n\n\n🔥 Follow Ramz:\nhttps://twitter.com/ramonerochester\nhttp://instagram.com/ramonerochester\n\n\n🔥 RapTunes Lyrics: http://bit.ly/subscribe-raptunes-lyrics\n\n\nDisclaimer: I do not own any of the content posted. All rights are reserved to their respective owners!!!\nThese videos are strictly for promotional use.\nIf you are own any of these songs and would like your credit to be added or you want your material removed, contact me: raptunes2620@gmail.com\n\n\n🔥 Barking Lyrics\n\n[Intro]\nYeah, yeah, yeah\nMokuba Lives Beats\nYeah-yeah, yeah, yeah\n\n[Chorus]\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (In the mornin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (Yawnin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\n\n[Verse]\nI'm icy (I'm Icy)\nI got a tick from my head to my feet, that's Nike\nAnd that's pricey\nYou see them guys over there? They ain't like me\nI got a Portuguese ting, not wifey\nShe said my temper's tiny\nI got two different worlds like Miley\nYou hit me up, that's unlikely (Likely)\nBut I walked in the room with a fresh trim (Fresh trim)\nShowin' my Colgate teeth (My teeth)\nYeah, they're lookin' at me (Lookin' at me)\nSayin' \"Can I get a pic for the 'Gram, just like AJ T\"\nNo wonder they hate on me (Yeah, yeah)\n'Cause I'm makin' P's and they see these clothes\nYeah, I get 'em for free\n\n[Chorus]\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (In the mornin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (Yawnin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\n\n[Bridge]\nMany guys (Many guys), many, many, many guys\nHate me and it's true, too bad\nI just stunt on you, too bad\nI don't look like you\nLike many, many, many guys (Many guys, yeah)\nHate me and it's true, too bad\nI just stunt on you, like too bad\n\n[Chorus]\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'\nI might link my (truncated) 09:44:39.591 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=430.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:39.591 [debug] QUERY OK source="media_profiles" db=0.1ms idle=16.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] 09:44:39.592 [debug] QUERY OK source="media_items" db=0.2ms idle=16.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 [12] 09:44:39.592 [debug] Current batch of media processed. Will check again in 1000ms 09:44:40.593 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Oliver Tree - Life Goes On\n🎵 Spotify Playlist: https://open.spotify.com/playlist/15JAvLSY81mv1gZ3C5sbra?si=414d9a60a47147bf\n\r\n» Apoyo Oliver Tree:\nhttp://olivertreemusic.com\nhttps://instagram.com/olivertree\nhttps://tiktok.com/@olivertree\nhttps://twitter.com/olivertree\nhttps://facebook.com/olivertreemusic\nhttps://soundcloud.com/olivertree\nhttps://vk.com/olivertree\n\n(Lyrics):\nBabe you’re too controlling \nIma feed you to the wolves \nWhen you get nasty \nBack at me \nBut baby don’t distract me \nI’m a goner \n\nI lost her \nLike why the hell you wanna \nPlay me that way \nYou’re bad babe \nYou double faced entendre \n\nLife goes \nOn and on and on and on and \non and on and on and on \nOn and on and on and on and \non and on and on and on \nOn and on and on and on and \non and on and on and on \nOn and on and on and on and \non and on and on and on \n\nBabe you best believe it \nIma rip you up to pieces \nI’m a lover, not a fighter \nBut I’ll light this place on fire \n\n\nI want it \nI’m on it \nBut babe at least I’m honest\nI get tired of explaining \nAs these seasons keep on changing \n\n\nLife goes \nOn and on and on and on and \non and on and on and on \n(Yeah yeah yeah) \nOn and on and on and on and \non and on and on and on \n(Yeah yeah yeah) \nOn and on and on and on and \non and on and on and on \n(Yeah yeah yeah) \nOn and on and on and on and on and on and on and on \n(Yeah yeah yeah) \n\nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day \n(Yeah yeah yeah) \n\nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day\n\nTags:\nLife Goes On Lyrics\nOliver Tree Life Goes On\nLife Goes On Oliver Tree\nOliver Tree Life Goes On Lyrics\nLife Goes On Oliver Tree Lyrics\nOliver Tree Lyrics\nLife Goes On \n\n#OliverTree #LifeGoesOn #Lyrics\n\nContact: droppinglyricsvibe@gmail.com", "duration" => 162, "filename" => "/downloads/music/LatinHype/Oliver Tree - Life Goes On.m4a", "id" => "OT216Rrg0jY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OT216Rrg0jY", "playlist_index" => 12, "timestamp" => 1631283877, "title" => "Oliver Tree - Life Goes On", "upload_date" => "20210910"} 09:44:40.594 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1003.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:40.594 [debug] QUERY OK source="sources" db=0.1ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:40.595 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-09-10 14:24:37Z], 1] 09:44:40.609 [debug] QUERY OK source="media_items" db=13.3ms idle=1003.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Oliver Tree - Life Goes On\n🎵 Spotify Playlist: https://open.spotify.com/playlist/15JAvLSY81mv1gZ3C5sbra?si=414d9a60a47147bf\n\r\n» Apoyo Oliver Tree:\nhttp://olivertreemusic.com\nhttps://instagram.com/olivertree\nhttps://tiktok.com/@olivertree\nhttps://twitter.com/olivertree\nhttps://facebook.com/olivertreemusic\nhttps://soundcloud.com/olivertree\nhttps://vk.com/olivertree\n\n(Lyrics):\nBabe you’re too controlling \nIma feed you to the wolves \nWhen you get nasty \nBack at me \nBut baby don’t distract me \nI’m a goner \n\nI lost her \nLike why the hell you wanna \nPlay me that way \nYou’re bad babe \nYou double faced entendre \n\nLife goes \nOn and on and on and on and \non and on and on and on \nOn and on and on and on and \non and on and on and on \nOn and on and on and on and \non and on and on and on \nOn and on and on and on and \non and on and on and on \n\nBabe you best believe it \nIma rip you up to pieces \nI’m a lover, not a fighter \nBut I’ll light this place on fire \n\n\nI want it \nI’m on it \nBut babe at least I’m honest\nI get tired of explaining \nAs these seasons keep on changing \n\n\nLife goes \nOn and on and on and on and \non and on and on and on \n(Yeah yeah yeah) \nOn and on and on and on and \non and on and on and on \n(Yeah yeah yeah) \nOn and on and on and on and \non and on and on and on \n(Yeah yeah yeah) \nOn and on and on and on and on and on and on and on \n(Yeah yeah yeah) \n\nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day \n(Yeah yeah yeah) \n\nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day\n\nTags:\nLife Goes On Lyrics\nOliver Tree Life Goes On\nLife Goes On Oliver Tree\nOliver Tree Life Goes On Lyrics\nLife Goes On Oliver Tree Lyrics\nOliver Tree Lyrics\nLife Goes On \n\n#OliverTree #LifeGoesOn #Lyrics\n\nContact: droppinglyricsvibe@gmail.com", "Oliver Tree - Life Goes On", "7ff86540-8a75-4144-908e-6d1783a2bf48", 162, false, "OT216Rrg0jY", "https://www.youtube.com/watch?v=OT216Rrg0jY", 12, "/downloads/music/LatinHype/Oliver Tree - Life Goes On.m4a", false, false, false, 1, [], 1, ~U[2021-09-10 14:24:37Z], ~U[2026-09-16 09:44:40Z], ~U[2026-09-16 09:44:40Z], "Oliver Tree - Life Goes On\n🎵 Spotify Playlist: https://open.spotify.com/playlist/15JAvLSY81mv1gZ3C5sbra?si=414d9a60a47147bf\n\r\n» Apoyo Oliver Tree:\nhttp://olivertreemusic.com\nhttps://instagram.com/olivertree\nhttps://tiktok.com/@olivertree\nhttps://twitter.com/olivertree\nhttps://facebook.com/olivertreemusic\nhttps://soundcloud.com/olivertree\nhttps://vk.com/olivertree\n\n(Lyrics):\nBabe you’re too controlling \nIma feed you to the wolves \nWhen you get nasty \nBack at me \nBut baby don’t distract me \nI’m a goner \n\nI lost her \nLike why the hell you wanna \nPlay me that way \nYou’re bad babe \nYou double faced entendre \n\nLife goes \nOn and on and on and on and \non and on and on and on \nOn and on and on and on and \non and on and on and on \nOn and on and on and on and \non and on and on and on \nOn and on and on and on and \non and on and on and on \n\nBabe you best believe it \nIma rip you up to pieces \nI’m a lover, not a fighter \nBut I’ll light this place on fire \n\n\nI want it \nI’m on it \nBut babe at least I’m honest\nI get tired of explaining \nAs these seasons keep on changing \n\n\nLife goes \nOn and on and on and on and \non and on and on and on \n(Yeah yeah yeah) \nOn and on and on and on and \non and on and on and on \n(Yeah yeah yeah) \nOn and on and on and on and \non and on and on and on \n(Yeah yeah yeah) \nOn and on and on and on and on and on and on and on \n(Yeah yeah yeah) \n\nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day \n(Yeah yeah yeah) \n\nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day\n\nTags:\nLife Goes On Lyrics\nOliver Tree Life Goes On\nLife Goes On Oliver Tree\nOliver Tree Life Goes On Lyrics\nLife Goes On Oliver Tree Lyrics\nOliver Tree Lyrics\nLife Goes On \n\n#OliverTree #LifeGoesOn #Lyrics\n\nContact: droppinglyricsvibe@gmail.com", "Oliver Tree - Life Goes On", 162, false, "OT216Rrg0jY", "https://www.youtube.com/watch?v=OT216Rrg0jY", "/downloads/music/LatinHype/Oliver Tree - Life Goes On.m4a", false, 1, ~U[2021-09-10 14:24:37Z]] 09:44:40.639 [debug] QUERY OK source="sources" db=30.2ms idle=447.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:40.640 [debug] QUERY OK source="media_profiles" db=0.2ms idle=46.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] 09:44:40.641 [debug] QUERY OK source="media_items" db=0.2ms idle=46.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 [13] 09:44:40.641 [debug] Current batch of media processed. Will check again in 1000ms 09:44:41.642 [debug] Current batch of media processed. Will check again in 1000ms 09:44:42.643 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Provided to YouTube by Sony Music/Friends with Money\n\nHallelujah · Shindy · RIN\n\nDREAMS\n\n℗ 2016 Bushido\n\nReleased on: 2016-11-11\n\nAssociated Performer: Shindy feat. RIN\nComposer: Oz\nComposer: Nico Wellenbrink\n\nAuto-generated by YouTube.", "duration" => 215, "filename" => "/downloads/music/Shindy/Hallelujah.m4a", "id" => "fuNnu5E67rk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fuNnu5E67rk", "playlist_index" => 13, "timestamp" => 1496328410, "title" => "Hallelujah", "upload_date" => "20170601"} 09:44:42.643 [debug] QUERY OK source="sources" db=0.3ms 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 (?)) [1] 09:44:42.644 [debug] QUERY OK source="sources" db=0.1ms idle=307.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:42.644 [debug] QUERY OK source="media_items" db=0.3ms idle=308.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-06-01 14:46:50Z], 1] 09:44:42.649 [debug] QUERY OK source="media_items" db=3.9ms idle=309.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Sony Music/Friends with Money\n\nHallelujah · Shindy · RIN\n\nDREAMS\n\n℗ 2016 Bushido\n\nReleased on: 2016-11-11\n\nAssociated Performer: Shindy feat. RIN\nComposer: Oz\nComposer: Nico Wellenbrink\n\nAuto-generated by YouTube.", "Hallelujah", "7cda13dd-2258-4ffa-914b-59d295295149", 215, false, "fuNnu5E67rk", "https://www.youtube.com/watch?v=fuNnu5E67rk", 13, "/downloads/music/Shindy/Hallelujah.m4a", false, false, false, 1, [], 1, ~U[2017-06-01 14:46:50Z], ~U[2026-09-16 09:44:42Z], ~U[2026-09-16 09:44:42Z], "Provided to YouTube by Sony Music/Friends with Money\n\nHallelujah · Shindy · RIN\n\nDREAMS\n\n℗ 2016 Bushido\n\nReleased on: 2016-11-11\n\nAssociated Performer: Shindy feat. RIN\nComposer: Oz\nComposer: Nico Wellenbrink\n\nAuto-generated by YouTube.", "Hallelujah", 215, false, "fuNnu5E67rk", "https://www.youtube.com/watch?v=fuNnu5E67rk", "/downloads/music/Shindy/Hallelujah.m4a", false, 1, ~U[2017-06-01 14:46:50Z]] 09:44:42.650 [debug] QUERY OK source="sources" db=0.3ms idle=313.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:42.650 [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] 09:44:42.651 [debug] QUERY OK source="media_items" db=0.2ms idle=6.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14] 09:44:42.651 [debug] Current batch of media processed. Will check again in 1000ms 09:44:43.652 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Apache 207 geht auf Tour. Jetzt Tickets sicher: https://www.eventim.de/artist/apache-207/\n\nApache 207 - \"Wieso tust Du dir das an?“ \nKÜNSTLER: Apache 207 \nInstagram: https://www.instagram.com/apache_207/ \nTikTok: https://www.tiktok.com/@apache_207\nYoutube abonnieren: https://Apache207.lnk.to/youtube\nE-Mail: info@apache207.de \n\nBeat: Miksu / Macloud & Deats\nMiksu auf Instagram: https://www.instagram.com/miksu/\nMacloud auf Instagram: https://www.instagram.com/macloud/\nDeats auf Instagram: https://www.instagram.com/deats_official/\n\nMix & Master: Lex Barkey\nLex Barkey auf Instagram: https://www.instagram.com/lexbarkey/\n\nDrehbuch: NBP Films & Feder Filmproduktion\nNBP Films: https://www.instagram.com/nbp_films/\nFeder Filmproduktion: https://www.instagram.com/feder.filmproduktion/\n\nProduktion: NBP FILMS \nCo-Produktion: Feder Filmproduktion\n\nKameraarbeit, Schnitt & Colorgrading: NBP FILMS\nhttps://www.instagram.com/nbp_films/\nDoP: Marco Bagnoli\nhttps://www.instagram.com/marco_bagnoli/\nKameraassistenz: Moritz Weber\nhttps://www.instagram.com/moritz.wbr94/\n\nMaske: Gülcan Arslan: \nhttps://www.instagram.com/guelcan_ars...\n\nTänzer: Arthur Ankerstein & Georgiana Barbu\nArthur Ankerstein: https://www.instagram.com/arthurankerstein/\nGeorgiana Barbu: https://www.instagram.com/barbu.georgiana/\n\nDarstellerinnen: Just Classy Agency\nhttps://instagram.com/justclassyagency?igshid=74pqxck5dzuu\n\nImpressum:\nhttp://www.apache207.de/\n\n#Apache207 #Platte", "duration" => 177, "filename" => "/downloads/music/Apache 207/Apache 207 - Wieso tust Du dir das an? (prod. by Miksu & Macloud).m4a", "id" => "vmj2Ab1GknA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vmj2Ab1GknA", "playlist_index" => 14, "timestamp" => 1571349611, "title" => "Apache 207 - Wieso tust Du dir das an? (prod. by Miksu & Macloud)", "upload_date" => "20191017"} 09:44:43.652 [debug] QUERY OK source="sources" db=0.2ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:43.653 [debug] QUERY OK source="sources" db=0.1ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:43.653 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-10-17 22:00:11Z], 1] 09:44:43.659 [debug] QUERY OK source="media_items" db=4.5ms idle=1002.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Apache 207 geht auf Tour. Jetzt Tickets sicher: https://www.eventim.de/artist/apache-207/\n\nApache 207 - \"Wieso tust Du dir das an?“ \nKÜNSTLER: Apache 207 \nInstagram: https://www.instagram.com/apache_207/ \nTikTok: https://www.tiktok.com/@apache_207\nYoutube abonnieren: https://Apache207.lnk.to/youtube\nE-Mail: info@apache207.de \n\nBeat: Miksu / Macloud & Deats\nMiksu auf Instagram: https://www.instagram.com/miksu/\nMacloud auf Instagram: https://www.instagram.com/macloud/\nDeats auf Instagram: https://www.instagram.com/deats_official/\n\nMix & Master: Lex Barkey\nLex Barkey auf Instagram: https://www.instagram.com/lexbarkey/\n\nDrehbuch: NBP Films & Feder Filmproduktion\nNBP Films: https://www.instagram.com/nbp_films/\nFeder Filmproduktion: https://www.instagram.com/feder.filmproduktion/\n\nProduktion: NBP FILMS \nCo-Produktion: Feder Filmproduktion\n\nKameraarbeit, Schnitt & Colorgrading: NBP FILMS\nhttps://www.instagram.com/nbp_films/\nDoP: Marco Bagnoli\nhttps://www.instagram.com/marco_bagnoli/\nKameraassistenz: Moritz Weber\nhttps://www.instagram.com/moritz.wbr94/\n\nMaske: Gülcan Arslan: \nhttps://www.instagram.com/guelcan_ars...\n\nTänzer: Arthur Ankerstein & Georgiana Barbu\nArthur Ankerstein: https://www.instagram.com/arthurankerstein/\nGeorgiana Barbu: https://www.instagram.com/barbu.georgiana/\n\nDarstellerinnen: Just Classy Agency\nhttps://instagram.com/justclassyagency?igshid=74pqxck5dzuu\n\nImpressum:\nhttp://www.apache207.de/\n\n#Apache207 #Platte", "Apache 207 - Wieso tust Du dir das an? (prod. by Miksu & Macloud)", "43bf3357-e50f-4403-8316-d7c8cf4860f6", 177, false, "vmj2Ab1GknA", "https://www.youtube.com/watch?v=vmj2Ab1GknA", 14, "/downloads/music/Apache 207/Apache 207 - Wieso tust Du dir das an? (prod. by Miksu & Macloud).m4a", false, false, false, 1, [], 1, ~U[2019-10-17 22:00:11Z], ~U[2026-09-16 09:44:43Z], ~U[2026-09-16 09:44:43Z], "Apache 207 geht auf Tour. Jetzt Tickets sicher: https://www.eventim.de/artist/apache-207/\n\nApache 207 - \"Wieso tust Du dir das an?“ \nKÜNSTLER: Apache 207 \nInstagram: https://www.instagram.com/apache_207/ \nTikTok: https://www.tiktok.com/@apache_207\nYoutube abonnieren: https://Apache207.lnk.to/youtube\nE-Mail: info@apache207.de \n\nBeat: Miksu / Macloud & Deats\nMiksu auf Instagram: https://www.instagram.com/miksu/\nMacloud auf Instagram: https://www.instagram.com/macloud/\nDeats auf Instagram: https://www.instagram.com/deats_official/\n\nMix & Master: Lex Barkey\nLex Barkey auf Instagram: https://www.instagram.com/lexbarkey/\n\nDrehbuch: NBP Films & Feder Filmproduktion\nNBP Films: https://www.instagram.com/nbp_films/\nFeder Filmproduktion: https://www.instagram.com/feder.filmproduktion/\n\nProduktion: NBP FILMS \nCo-Produktion: Feder Filmproduktion\n\nKameraarbeit, Schnitt & Colorgrading: NBP FILMS\nhttps://www.instagram.com/nbp_films/\nDoP: Marco Bagnoli\nhttps://www.instagram.com/marco_bagnoli/\nKameraassistenz: Moritz Weber\nhttps://www.instagram.com/moritz.wbr94/\n\nMaske: Gülcan Arslan: \nhttps://www.instagram.com/guelcan_ars...\n\nTänzer: Arthur Ankerstein & Georgiana Barbu\nArthur Ankerstein: https://www.instagram.com/arthurankerstein/\nGeorgiana Barbu: https://www.instagram.com/barbu.georgiana/\n\nDarstellerinnen: Just Classy Agency\nhttps://instagram.com/justclassyagency?igshid=74pqxck5dzuu\n\nImpressum:\nhttp://www.apache207.de/\n\n#Apache207 #Platte", "Apache 207 - Wieso tust Du dir das an? (prod. by Miksu & Macloud)", 177, false, "vmj2Ab1GknA", "https://www.youtube.com/watch?v=vmj2Ab1GknA", "/downloads/music/Apache 207/Apache 207 - Wieso tust Du dir das an? (prod. by Miksu & Macloud).m4a", false, 1, ~U[2019-10-17 22:00:11Z]] 09:44:43.659 [debug] QUERY OK source="sources" db=0.2ms idle=494.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:43.660 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:44:43.660 [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 [15] 09:44:43.660 [debug] Current batch of media processed. Will check again in 1000ms 09:44:44.661 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Provided to YouTube by Four Music Local\n\nMag Sein · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Mixing Engineer, Producer: Ahzumjot\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "duration" => 229, "filename" => "/downloads/music/Lance Butters Official/Mag Sein.m4a", "id" => "Xd9GoitMoBs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Xd9GoitMoBs", "playlist_index" => 15, "timestamp" => 1539166595, "title" => "Mag Sein", "upload_date" => "20181010"} 09:44:44.661 [debug] QUERY OK source="sources" db=0.3ms idle=1002.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:44.662 [debug] QUERY OK source="sources" db=0.1ms idle=1002.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:44.662 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-10-10 10:16:35Z], 1] 09:44:44.666 [debug] QUERY OK source="media_items" db=2.7ms idle=1002.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Four Music Local\n\nMag Sein · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Mixing Engineer, Producer: Ahzumjot\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "Mag Sein", "8c0eb448-648e-41b3-8322-85eb72988e80", 229, false, "Xd9GoitMoBs", "https://www.youtube.com/watch?v=Xd9GoitMoBs", 15, "/downloads/music/Lance Butters Official/Mag Sein.m4a", false, false, false, 1, [], 4, ~U[2018-10-10 10:16:35Z], ~U[2026-09-16 09:44:44Z], ~U[2026-09-16 09:44:44Z], "Provided to YouTube by Four Music Local\n\nMag Sein · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Mixing Engineer, Producer: Ahzumjot\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "Mag Sein", 229, false, "Xd9GoitMoBs", "https://www.youtube.com/watch?v=Xd9GoitMoBs", "/downloads/music/Lance Butters Official/Mag Sein.m4a", false, 1, ~U[2018-10-10 10:16:35Z]] 09:44:44.666 [debug] QUERY OK source="sources" db=0.2ms idle=500.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:44.667 [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] 09:44:44.667 [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 [16] 09:44:44.667 [debug] Current batch of media processed. Will check again in 1000ms 09:44:45.668 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Provided to YouTube by Four Music Local\n\nWake Up Fucked Up · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Mixing Engineer, Producer: Ahzumjot\nLyricist: Christopher Wallace\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "duration" => 194, "filename" => "/downloads/music/Lance Butters Official/Wake Up Fucked Up.m4a", "id" => "PSx2vHNYmkI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=PSx2vHNYmkI", "playlist_index" => 16, "timestamp" => 1539166676, "title" => "Wake Up Fucked Up", "upload_date" => "20181010"} 09:44:45.668 [debug] QUERY OK source="sources" db=0.2ms idle=1002.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:45.669 [debug] QUERY OK source="sources" db=0.1ms idle=1002.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:45.669 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-10-10 10:17:56Z], 1] 09:44:45.717 [debug] QUERY OK source="media_items" db=46.9ms idle=1002.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Four Music Local\n\nWake Up Fucked Up · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Mixing Engineer, Producer: Ahzumjot\nLyricist: Christopher Wallace\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "Wake Up Fucked Up", "6bcf0477-6f63-475e-9c8e-e36bf64f024b", 194, false, "PSx2vHNYmkI", "https://www.youtube.com/watch?v=PSx2vHNYmkI", 16, "/downloads/music/Lance Butters Official/Wake Up Fucked Up.m4a", false, false, false, 1, [], 4, ~U[2018-10-10 10:17:56Z], ~U[2026-09-16 09:44:45Z], ~U[2026-09-16 09:44:45Z], "Provided to YouTube by Four Music Local\n\nWake Up Fucked Up · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Mixing Engineer, Producer: Ahzumjot\nLyricist: Christopher Wallace\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "Wake Up Fucked Up", 194, false, "PSx2vHNYmkI", "https://www.youtube.com/watch?v=PSx2vHNYmkI", "/downloads/music/Lance Butters Official/Wake Up Fucked Up.m4a", false, 1, ~U[2018-10-10 10:17:56Z]] 09:44:45.717 [debug] QUERY OK source="sources" db=0.2ms idle=550.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:45.718 [debug] QUERY OK source="media_profiles" db=0.1ms idle=49.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] 09:44:45.718 [debug] QUERY OK source="media_items" db=0.2ms idle=49.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 [17] 09:44:45.718 [debug] Current batch of media processed. Will check again in 1000ms 09:44:46.720 [debug] Current batch of media processed. Will check again in 1000ms 09:44:47.721 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Provided to YouTube by Four Music Local\n\nVater · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Lyricist, Mixing Engineer, Producer: Ahzumjot\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "duration" => 257, "filename" => "/downloads/music/Lance Butters Official/Vater.m4a", "id" => "2yQB3BCBte0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2yQB3BCBte0", "playlist_index" => 17, "timestamp" => 1539166650, "title" => "Vater", "upload_date" => "20181010"} 09:44:47.721 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=551.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:47.722 [debug] QUERY OK source="sources" db=0.1ms idle=386.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:47.722 [debug] QUERY OK source="media_items" db=0.3ms idle=386.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-10-10 10:17:30Z], 1] 09:44:47.732 [debug] QUERY OK source="media_items" db=8.8ms idle=387.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Four Music Local\n\nVater · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Lyricist, Mixing Engineer, Producer: Ahzumjot\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "Vater", "35ebe559-cd53-4264-95db-5d8072a90ee1", 257, false, "2yQB3BCBte0", "https://www.youtube.com/watch?v=2yQB3BCBte0", 17, "/downloads/music/Lance Butters Official/Vater.m4a", false, false, false, 1, [], 4, ~U[2018-10-10 10:17:30Z], ~U[2026-09-16 09:44:47Z], ~U[2026-09-16 09:44:47Z], "Provided to YouTube by Four Music Local\n\nVater · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Lyricist, Mixing Engineer, Producer: Ahzumjot\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "Vater", 257, false, "2yQB3BCBte0", "https://www.youtube.com/watch?v=2yQB3BCBte0", "/downloads/music/Lance Butters Official/Vater.m4a", false, 1, ~U[2018-10-10 10:17:30Z]] 09:44:47.732 [debug] QUERY OK source="sources" db=0.3ms idle=396.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:47.733 [debug] QUERY OK source="media_profiles" db=0.1ms idle=11.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:44:47.733 [debug] QUERY OK source="media_items" db=0.2ms 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 [18] 09:44:47.734 [debug] Current batch of media processed. Will check again in 1000ms 09:44:48.735 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Provided to YouTube by Four Music Local\n\nRespekt Vor Dir · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Lyricist, Mixing Engineer, Producer: Ahzumjot\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "duration" => 203, "filename" => "/downloads/music/Lance Butters Official/Respekt Vor Dir.m4a", "id" => "0CgzW4qtcVc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0CgzW4qtcVc", "playlist_index" => 18, "timestamp" => 1539166650, "title" => "Respekt Vor Dir", "upload_date" => "20181010"} 09:44:48.736 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:48.736 [debug] QUERY OK source="sources" db=0.1ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:48.737 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-10-10 10:17:30Z], 1] 09:44:48.741 [debug] QUERY OK source="media_items" db=4.1ms idle=1003.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Four Music Local\n\nRespekt Vor Dir · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Lyricist, Mixing Engineer, Producer: Ahzumjot\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "Respekt Vor Dir", "0e336d27-4b95-4ce6-912f-67f6e16386fc", 203, false, "0CgzW4qtcVc", "https://www.youtube.com/watch?v=0CgzW4qtcVc", 18, "/downloads/music/Lance Butters Official/Respekt Vor Dir.m4a", false, false, false, 1, [], 4, ~U[2018-10-10 10:17:30Z], ~U[2026-09-16 09:44:48Z], ~U[2026-09-16 09:44:48Z], "Provided to YouTube by Four Music Local\n\nRespekt Vor Dir · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Lyricist, Mixing Engineer, Producer: Ahzumjot\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "Respekt Vor Dir", 203, false, "0CgzW4qtcVc", "https://www.youtube.com/watch?v=0CgzW4qtcVc", "/downloads/music/Lance Butters Official/Respekt Vor Dir.m4a", false, 1, ~U[2018-10-10 10:17:30Z]] 09:44:48.742 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=570.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:48.742 [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] 09:44:48.743 [debug] QUERY OK source="media_items" db=0.2ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19] 09:44:48.743 [debug] Current batch of media processed. Will check again in 1000ms 09:44:49.744 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "'Bruce Wayne' taken from 'King of the North' EP - OUT NOW https://lnk.to/BugzyMaloneKOTN\n\nBatman Tracksuit - http://turnintothedevil.bigcartel.com/\n\nFull JD Sports collection - http://bit.ly/2sk4cS5\n\nTrack produced by Ali Karim\n\nCrew:\nDirector: G.Kuba and Wayne Lennox\nDOP: Luke C. Harper\nCamera Assistant: Joseph-Patrick Hung\nProd. Assistant/Driver: Matt Lovett\nEditor/VFX: Connor Hamilton\n\nFor Bugzy Malone merchandise, tour dates, events and music - http://www.thebugzymaloneshow.co.uk\n\n---SOCIAL MEDIA--- \nTwitter - https://twitter.com/TheBugzyMalone \nInstagram - https://instagram.com/thebugzymalone \nFacebook – Facebook.com/TheBugzyMaloneShow \nSnap Chat – Bugzy_Malone \nSoundcloud - Soundcloud.com/BugzyMalone \nBookings - bugzymaloneteam@gmail.com", "duration" => 238, "filename" => "/downloads/music/Bugzy Malone/Bugzy Malone - Bruce Wayne (Official Video).m4a", "id" => "F3q21QjB8Ug", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=F3q21QjB8Ug", "playlist_index" => 19, "timestamp" => 1498763029, "title" => "Bugzy Malone - Bruce Wayne (Official Video)", "upload_date" => "20170629"} 09:44:49.744 [debug] QUERY OK source="sources" db=0.2ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:49.745 [debug] QUERY OK source="sources" db=0.1ms idle=1002.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:49.746 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=1002.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-06-29 19:03:49Z], 1] 09:44:49.753 [debug] QUERY OK source="media_items" db=6.4ms idle=1003.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["'Bruce Wayne' taken from 'King of the North' EP - OUT NOW https://lnk.to/BugzyMaloneKOTN\n\nBatman Tracksuit - http://turnintothedevil.bigcartel.com/\n\nFull JD Sports collection - http://bit.ly/2sk4cS5\n\nTrack produced by Ali Karim\n\nCrew:\nDirector: G.Kuba and Wayne Lennox\nDOP: Luke C. Harper\nCamera Assistant: Joseph-Patrick Hung\nProd. Assistant/Driver: Matt Lovett\nEditor/VFX: Connor Hamilton\n\nFor Bugzy Malone merchandise, tour dates, events and music - http://www.thebugzymaloneshow.co.uk\n\n---SOCIAL MEDIA--- \nTwitter - https://twitter.com/TheBugzyMalone \nInstagram - https://instagram.com/thebugzymalone \nFacebook – Facebook.com/TheBugzyMaloneShow \nSnap Chat – Bugzy_Malone \nSoundcloud - Soundcloud.com/BugzyMalone \nBookings - bugzymaloneteam@gmail.com", "Bugzy Malone - Bruce Wayne (Official Video)", "911a49cb-d8bd-4811-997e-d44039ca8ecb", 238, false, "F3q21QjB8Ug", "https://www.youtube.com/watch?v=F3q21QjB8Ug", 19, "/downloads/music/Bugzy Malone/Bugzy Malone - Bruce Wayne (Official Video).m4a", false, false, false, 1, [], 1, ~U[2017-06-29 19:03:49Z], ~U[2026-09-16 09:44:49Z], ~U[2026-09-16 09:44:49Z], "'Bruce Wayne' taken from 'King of the North' EP - OUT NOW https://lnk.to/BugzyMaloneKOTN\n\nBatman Tracksuit - http://turnintothedevil.bigcartel.com/\n\nFull JD Sports collection - http://bit.ly/2sk4cS5\n\nTrack produced by Ali Karim\n\nCrew:\nDirector: G.Kuba and Wayne Lennox\nDOP: Luke C. Harper\nCamera Assistant: Joseph-Patrick Hung\nProd. Assistant/Driver: Matt Lovett\nEditor/VFX: Connor Hamilton\n\nFor Bugzy Malone merchandise, tour dates, events and music - http://www.thebugzymaloneshow.co.uk\n\n---SOCIAL MEDIA--- \nTwitter - https://twitter.com/TheBugzyMalone \nInstagram - https://instagram.com/thebugzymalone \nFacebook – Facebook.com/TheBugzyMaloneShow \nSnap Chat – Bugzy_Malone \nSoundcloud - Soundcloud.com/BugzyMalone \nBookings - bugzymaloneteam@gmail.com", "Bugzy Malone - Bruce Wayne (Official Video)", 238, false, "F3q21QjB8Ug", "https://www.youtube.com/watch?v=F3q21QjB8Ug", "/downloads/music/Bugzy Malone/Bugzy Malone - Bruce Wayne (Official Video).m4a", false, 1, ~U[2017-06-29 19:03:49Z]] 09:44:49.753 [debug] QUERY OK source="sources" db=0.2ms idle=580.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:49.754 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=9.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:44:49.754 [debug] QUERY OK source="media_items" db=0.2ms idle=9.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [21] 09:44:49.754 [debug] Current batch of media processed. Will check again in 1000ms 09:44:50.755 [debug] Current batch of media processed. Will check again in 1000ms 09:44:51.349 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:51.756 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "You think your music is good and having trouble getting heard? Shoot me a email - rhinohdtv@gmail.com or dm on instagram @Rhinotv123\n\n\nInstagram: https://www.instagram.com/rhinotv123/\nhttps://www.twitch.tv/rhino_tv\n\n♫ Dangerous - ",\"R3X\" ♫\n\n📺\n➜ Assassins Creed \n➜Destiny 2 Forsaken - Last Stand of the Gunslinger\n➜Halo Wars 2\n➜FINAL FANTASY XV\n➜Titian fall- Free The Frontier \n➜Tom Clancy's Ghost Recon Breakpoint \n\nSPOTIFY: https://open.spotify.com/artist/5mMWGPKKiwi2jElOmFp1SJ\nInstagram: https://www.instagram.com/r3x_97/\n\n\n\n\nGo to https://nordvpn.org/rhinotv, use coupon code 'rhinotv' and get 70% off NordVPN! Only $3.49/mo, plus you get 4 additional months FREE!'\n\n\n\nIGNORE-\n\n\n\n\nRhino, RhinoTV, jocelyn flores remix, xxxtentacion jocelyn flores, trap music, new, xxxtentacion, song, angel, star wars, suicide boys, old republic, jocelyn flores, trap, supreme, naruto, xxxtentacoin, sasuke, itachi, rap, freestyle, ski mask, migos, offset, music, video, amv, anime, boruto, madara, vevo, Shiloh Dynasty, death, rip, lil peep, battlefront 2, battle, front, 2005, whatever forever, whatever forever john wick, xxxtentacion - jocelyn flores, jocelyn flores instrumental, jocelyn flores beat,xxx edit, xxxtentaction edit, xxxtentacion jocelyn flores , xxxtentacion jocelyn flores edit, star wars, star wars edit, xxxtentacion edit, xxx edit,kaleo - way down we go,kaleo,new,music,whateverforever,whatever,forever,edit,transformers 3,optimus prime,transformers 4,kina - i feel empty,transformers the last knight,transformers dark of the moon city battle hd,transformers building collapse,transformers city battle,transformers city battle hd,transformers edits,transformers edit,kina,kina get you the moon,get you the moon,sentinel prime,the last knight,batman,last knight,batman fight scene,batman fight scene,baneThe Amazing Spider-Man (2012), the amazing spider-man scene hd, the amazing spider man, spiderman edition ps4, spiderman edits, tom holland spiderman, andrew garfield spiderman, andrew garfield, whatever forever star wars, whatever forever, xxxtentacion mix, promoting sounds, blackbear xxxtentacion, lil peep, xxxtentacion demons, xxxtentacion edit, spiderman edit, spiderman ps4, spiderman sad edit, amv, anime, Peter Parker, homecoming, XXXTENTACION\n\n\"Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for \"fair use\" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favor of fair use\"", "duration" => 193, "filename" => "/downloads/music/Rhino TV/Dangerous ⧸⧸ GMV.m4a", "id" => "mgE1vAWwIrs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mgE1vAWwIrs", "playlist_index" => 20, "timestamp" => 1595278809, "title" => "Dangerous // GMV", "upload_date" => "20200720"} 09:44:51.757 [debug] QUERY OK source="sources" db=0.2ms idle=420.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:51.757 [debug] QUERY OK source="sources" db=0.1ms idle=421.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:51.758 [debug] QUERY OK source="media_items" db=0.3ms idle=421.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-07-20 21:00:09Z], 1] 09:44:51.764 [debug] QUERY OK source="media_items" db=5.9ms idle=422.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["You think your music is good and having trouble getting heard? Shoot me a email - rhinohdtv@gmail.com or dm on instagram @Rhinotv123\n\n\nInstagram: https://www.instagram.com/rhinotv123/\nhttps://www.twitch.tv/rhino_tv\n\n♫ Dangerous - ",\"R3X\" ♫\n\n📺\n➜ Assassins Creed \n➜Destiny 2 Forsaken - Last Stand of the Gunslinger\n➜Halo Wars 2\n➜FINAL FANTASY XV\n➜Titian fall- Free The Frontier \n➜Tom Clancy's Ghost Recon Breakpoint \n\nSPOTIFY: https://open.spotify.com/artist/5mMWGPKKiwi2jElOmFp1SJ\nInstagram: https://www.instagram.com/r3x_97/\n\n\n\n\nGo to https://nordvpn.org/rhinotv, use coupon code 'rhinotv' and get 70% off NordVPN! Only $3.49/mo, plus you get 4 additional months FREE!'\n\n\n\nIGNORE-\n\n\n\n\nRhino, RhinoTV, jocelyn flores remix, xxxtentacion jocelyn flores, trap music, new, xxxtentacion, song, angel, star wars, suicide boys, old republic, jocelyn flores, trap, supreme, naruto, xxxtentacoin, sasuke, itachi, rap, freestyle, ski mask, migos, offset, music, video, amv, anime, boruto, madara, vevo, Shiloh Dynasty, death, rip, lil peep, battlefront 2, battle, front, 2005, whatever forever, whatever forever john wick, xxxtentacion - jocelyn flores, jocelyn flores instrumental, jocelyn flores beat,xxx edit, xxxtentaction edit, xxxtentacion jocelyn flores , xxxtentacion jocelyn flores edit, star wars, star wars edit, xxxtentacion edit, xxx edit,kaleo - way down we go,kaleo,new,music,whateverforever,whatever,forever,edit,transformers 3,optimus prime,transformers 4,kina - i feel empty,transformers the last knight,transformers dark of the moon city battle hd,transformers building collapse,transformers city battle,transformers city battle hd,transformers edits,transformers edit,kina,kina get you the moon,get you the moon,sentinel prime,the last knight,batman,last knight,batman fight scene,batman fight scene,baneThe Amazing Spider-Man (2012), the amazing spider-man scene hd, the amazing spider man, spiderman edition ps4, spiderman edits, tom holland spiderman, andrew garfield spiderman, andrew garfield, whatever forever star wars, whatever forever, xxxtentacion mix, promoting sounds, blackbear xxxtentacion, lil peep, xxxtentacion demons, xxxtentacion edit, spiderman edit, spiderman ps4, spiderman sad edit, amv, anime, Peter Parker, homecoming, XXXTENTACION\n\n\"Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for \"fair use\" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favor of fair use\"", "Dangerous // GMV", "505969ac-8014-4513-badc-d7af05ae16ac", 193, false, "mgE1vAWwIrs", "https://www.youtube.com/watch?v=mgE1vAWwIrs", 20, "/downloads/music/Rhino TV/Dangerous ⧸⧸ GMV.m4a", false, false, false, 1, [], 1, ~U[2020-07-20 21:00:09Z], ~U[2026-09-16 09:44:51Z], ~U[2026-09-16 09:44:51Z], "You think your music is good and having trouble getting heard? Shoot me a email - rhinohdtv@gmail.com or dm on instagram @Rhinotv123\n\n\nInstagram: https://www.instagram.com/rhinotv123/\nhttps://www.twitch.tv/rhino_tv\n\n♫ Dangerous - ",\"R3X\" ♫\n\n📺\n➜ Assassins Creed \n➜Destiny 2 Forsaken - Last Stand of the Gunslinger\n➜Halo Wars 2\n➜FINAL FANTASY XV\n➜Titian fall- Free The Frontier \n➜Tom Clancy's Ghost Recon Breakpoint \n\nSPOTIFY: https://open.spotify.com/artist/5mMWGPKKiwi2jElOmFp1SJ\nInstagram: https://www.instagram.com/r3x_97/\n\n\n\n\nGo to https://nordvpn.org/rhinotv, use coupon code 'rhinotv' and get 70% off NordVPN! Only $3.49/mo, plus you get 4 additional months FREE!'\n\n\n\nIGNORE-\n\n\n\n\nRhino, RhinoTV, jocelyn flores remix, xxxtentacion jocelyn flores, trap music, new, xxxtentacion, song, angel, star wars, suicide boys, old republic, jocelyn flores, trap, supreme, naruto, xxxtentacoin, sasuke, itachi, rap, freestyle, ski mask, migos, offset, music, video, amv, anime, boruto, madara, vevo, Shiloh Dynasty, death, rip, lil peep, battlefront 2, battle, front, 2005, whatever forever, whatever forever john wick, xxxtentacion - jocelyn flores, jocelyn flores instrumental, jocelyn flores beat,xxx edit, xxxtentaction edit, xxxtentacion jocelyn flores , xxxtentacion jocelyn flores edit, star wars, star wars edit, xxxtentacion edit, xxx edit,kaleo - way down we go,kaleo,new,music,whateverforever,whatever,forever,edit,transformers 3,optimus prime,transformers 4,kina - i feel empty,transformers the last knight,transformers dark of the moon city battle hd,transformers building collapse,transformers city battle,transformers city battle hd,transformers edits,transformers edit,kina,kina get you the moon,get you the moon,sentinel prime,the last knight,batman,last knight,batman fight scene,batman fight scene,baneThe Amazing Spider-Man (2012), the amazing spider-man scene hd, the amazing spider man, spiderman edition ps4, spiderman edits, tom holland spiderman, andrew garfield spiderman, andrew garfield, whatever forever star wars, whatever forever, xxxtentacion mix, promoting sounds, blackbear xxxtentacion, lil peep, xxxtentacion demons, xxxtentacion edit, spiderman edit, spiderman ps4, spiderman sad edit, amv, anime, Peter Parker, homecoming, XXXTENTACION\n\n\"Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for \"fair use\" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favor of fair use\"", "Dangerous // GMV", 193, false, "mgE1vAWwIrs", "https://www.youtube.com/watch?v=mgE1vAWwIrs", "/downloads/music/Rhino TV/Dangerous ⧸⧸ GMV.m4a", false, 1, ~U[2020-07-20 21:00:09Z]] 09:44:51.765 [debug] QUERY OK source="sources" db=0.2ms idle=415.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:51.765 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:44:51.766 [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 [22] 09:44:51.766 [debug] Current batch of media processed. Will check again in 1000ms 09:44:52.767 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Eminem - Stan\n\nSong/Music Stan \nArtist Eminem\nAlbum The Marshall Mathers LP\nLicense Type: Creative Common or Standard License (Choose anyone)\n\nCopyright Disclaimer:\n\nCopyright Disclaimer under Section 107 of the copyright act 1976, allowance is made for fair use for purposes such as criticism, comment, news reporting, scholarship, and research. Fair use is a use permitted by copyright statutes that might otherwise be infringing. Non-profit, educational, or personal use tips the balance in favor of fair use.", "duration" => 532, "filename" => "/downloads/music/Brown Rice/Dido - Thank you (Slowed + Reverb).m4a", "id" => "wwia7N1kTv4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wwia7N1kTv4", "playlist_index" => 21, "timestamp" => 1604783974, "title" => "Dido - Thank you (Slowed + Reverb)", "upload_date" => "20201107"} 09:44:52.767 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:52.769 [debug] QUERY OK source="sources" db=0.5ms queue=0.4ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:52.770 [debug] QUERY OK source="media_items" db=1.1ms idle=1003.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-11-07 21:19:34Z], 1] 09:44:52.776 [debug] QUERY OK source="media_items" db=5.4ms idle=1004.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Eminem - Stan\n\nSong/Music Stan \nArtist Eminem\nAlbum The Marshall Mathers LP\nLicense Type: Creative Common or Standard License (Choose anyone)\n\nCopyright Disclaimer:\n\nCopyright Disclaimer under Section 107 of the copyright act 1976, allowance is made for fair use for purposes such as criticism, comment, news reporting, scholarship, and research. Fair use is a use permitted by copyright statutes that might otherwise be infringing. Non-profit, educational, or personal use tips the balance in favor of fair use.", "Dido - Thank you (Slowed + Reverb)", "15088e22-0a06-4698-bba2-333c174a052a", 532, false, "wwia7N1kTv4", "https://www.youtube.com/watch?v=wwia7N1kTv4", 21, "/downloads/music/Brown Rice/Dido - Thank you (Slowed + Reverb).m4a", false, false, false, 1, [], 1, ~U[2020-11-07 21:19:34Z], ~U[2026-09-16 09:44:52Z], ~U[2026-09-16 09:44:52Z], "Eminem - Stan\n\nSong/Music Stan \nArtist Eminem\nAlbum The Marshall Mathers LP\nLicense Type: Creative Common or Standard License (Choose anyone)\n\nCopyright Disclaimer:\n\nCopyright Disclaimer under Section 107 of the copyright act 1976, allowance is made for fair use for purposes such as criticism, comment, news reporting, scholarship, and research. Fair use is a use permitted by copyright statutes that might otherwise be infringing. Non-profit, educational, or personal use tips the balance in favor of fair use.", "Dido - Thank you (Slowed + Reverb)", 532, false, "wwia7N1kTv4", "https://www.youtube.com/watch?v=wwia7N1kTv4", "/downloads/music/Brown Rice/Dido - Thank you (Slowed + Reverb).m4a", false, 1, ~U[2020-11-07 21:19:34Z]] 09:44:52.777 [debug] QUERY OK source="sources" db=0.2ms idle=600.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:52.777 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:44:52.778 [debug] QUERY OK source="media_items" db=0.2ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [23] 09:44:52.778 [debug] Current batch of media processed. Will check again in 1000ms 09:44:53.779 [debug] Current batch of media processed. Will check again in 1000ms 09:44:54.780 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Film - Legend, 2015.", "duration" => 160, "filename" => "/downloads/music/Wolfox/Brennan Savage - Look At Me Now (Reggie Kray).m4a", "id" => "BD8rt6MaB2s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BD8rt6MaB2s", "playlist_index" => 22, "timestamp" => 1555101961, "title" => "Brennan Savage - Look At Me Now (Reggie Kray)", "upload_date" => "20190412"} 09:44:54.780 [debug] QUERY OK source="sources" db=0.2ms idle=601.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:54.781 [debug] QUERY OK source="sources" db=0.1ms idle=444.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:54.781 [debug] QUERY OK source="media_items" db=0.3ms idle=445.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-04-12 20:46:01Z], 1] 09:44:54.785 [debug] QUERY OK source="media_items" db=3.5ms idle=445.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Film - Legend, 2015.", "Brennan Savage - Look At Me Now (Reggie Kray)", "e59b4017-9e4a-4b51-8538-e33efe19ffb4", 160, false, "BD8rt6MaB2s", "https://www.youtube.com/watch?v=BD8rt6MaB2s", 22, "/downloads/music/Wolfox/Brennan Savage - Look At Me Now (Reggie Kray).m4a", false, false, false, 1, [], 1, ~U[2019-04-12 20:46:01Z], ~U[2026-09-16 09:44:54Z], ~U[2026-09-16 09:44:54Z], "Film - Legend, 2015.", "Brennan Savage - Look At Me Now (Reggie Kray)", 160, false, "BD8rt6MaB2s", "https://www.youtube.com/watch?v=BD8rt6MaB2s", "/downloads/music/Wolfox/Brennan Savage - Look At Me Now (Reggie Kray).m4a", false, 1, ~U[2019-04-12 20:46:01Z]] 09:44:54.786 [debug] QUERY OK source="sources" db=0.2ms idle=449.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:54.786 [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] 09:44:54.787 [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 [25] 09:44:54.787 [debug] Current batch of media processed. Will check again in 1000ms 09:44:55.788 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "✖ Follow HouseMusicHD ✖\r\nFacebook: https://www.facebook.com/TrapMusicHD\r\nTwitter: https://twitter.com/HouseMusicHDTV\r\nSoundcloud: https://soundcloud.com/HouseMusicHDTV\r\nInstagram: https://www.instagram.com/HouseMusicHDTV\r\nSnapchat - hmusichdtv1\r\n\r\n✖ Follow Junona Boys ✖\r\nFacebook: https://www.facebook.com/junonaboys\nSoundcloud: https://soundcloud.com/junonaboys\nInstagram: https://www.instagram.com/junonaboys\n\r\n✖ HD Family ✖\r\nRapMusicHD: https://goo.gl/J1Noub\r\nBassMusicHD: https://goo.gl/0RN70B\r\nChillMusicHD: https://goo.gl/EXAoAh\r\nHouseMusicHD: https://goo.gl/l51Abz\r\nEDMMusicHD: https://goo.gl/iGNNwY\r\nGanjaMusicHD: https://goo.gl/fXdWrL", "duration" => 150, "filename" => "/downloads/music/HouseMusicHD/MIKA - Relax, Take It Easy (JUNONA BOYS Remix).m4a", "id" => "ZI2VDOmmGiY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZI2VDOmmGiY", "playlist_index" => 23, "timestamp" => 1586792204, "title" => "MIKA - Relax, Take It Easy (JUNONA BOYS Remix)", "upload_date" => "20200413"} 09:44:55.788 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1002.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:55.789 [debug] QUERY OK source="sources" db=0.1ms idle=1002.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:55.790 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-04-13 15:36:44Z], 1] 09:44:55.794 [debug] QUERY OK source="media_items" db=4.1ms idle=1003.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["✖ Follow HouseMusicHD ✖\r\nFacebook: https://www.facebook.com/TrapMusicHD\r\nTwitter: https://twitter.com/HouseMusicHDTV\r\nSoundcloud: https://soundcloud.com/HouseMusicHDTV\r\nInstagram: https://www.instagram.com/HouseMusicHDTV\r\nSnapchat - hmusichdtv1\r\n\r\n✖ Follow Junona Boys ✖\r\nFacebook: https://www.facebook.com/junonaboys\nSoundcloud: https://soundcloud.com/junonaboys\nInstagram: https://www.instagram.com/junonaboys\n\r\n✖ HD Family ✖\r\nRapMusicHD: https://goo.gl/J1Noub\r\nBassMusicHD: https://goo.gl/0RN70B\r\nChillMusicHD: https://goo.gl/EXAoAh\r\nHouseMusicHD: https://goo.gl/l51Abz\r\nEDMMusicHD: https://goo.gl/iGNNwY\r\nGanjaMusicHD: https://goo.gl/fXdWrL", "MIKA - Relax, Take It Easy (JUNONA BOYS Remix)", "eafb1633-071d-407c-9019-73c07462b37a", 150, false, "ZI2VDOmmGiY", "https://www.youtube.com/watch?v=ZI2VDOmmGiY", 23, "/downloads/music/HouseMusicHD/MIKA - Relax, Take It Easy (JUNONA BOYS Remix).m4a", false, false, false, 1, [], 1, ~U[2020-04-13 15:36:44Z], ~U[2026-09-16 09:44:55Z], ~U[2026-09-16 09:44:55Z], "✖ Follow HouseMusicHD ✖\r\nFacebook: https://www.facebook.com/TrapMusicHD\r\nTwitter: https://twitter.com/HouseMusicHDTV\r\nSoundcloud: https://soundcloud.com/HouseMusicHDTV\r\nInstagram: https://www.instagram.com/HouseMusicHDTV\r\nSnapchat - hmusichdtv1\r\n\r\n✖ Follow Junona Boys ✖\r\nFacebook: https://www.facebook.com/junonaboys\nSoundcloud: https://soundcloud.com/junonaboys\nInstagram: https://www.instagram.com/junonaboys\n\r\n✖ HD Family ✖\r\nRapMusicHD: https://goo.gl/J1Noub\r\nBassMusicHD: https://goo.gl/0RN70B\r\nChillMusicHD: https://goo.gl/EXAoAh\r\nHouseMusicHD: https://goo.gl/l51Abz\r\nEDMMusicHD: https://goo.gl/iGNNwY\r\nGanjaMusicHD: https://goo.gl/fXdWrL", "MIKA - Relax, Take It Easy (JUNONA BOYS Remix)", 150, false, "ZI2VDOmmGiY", "https://www.youtube.com/watch?v=ZI2VDOmmGiY", "/downloads/music/HouseMusicHD/MIKA - Relax, Take It Easy (JUNONA BOYS Remix).m4a", false, 1, ~U[2020-04-13 15:36:44Z]] 09:44:55.795 [debug] QUERY OK source="sources" db=0.2ms idle=615.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:55.795 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:44:55.796 [debug] QUERY OK source="media_items" db=0.2ms idle=6.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [28] 09:44:55.796 [debug] Current batch of media processed. Will check again in 1000ms 09:44:56.797 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Antonio Lucio Vivaldi (1678 - 1741)\n\nConcerto for violin, strings and basso continuo in E minor, RV281 \nKonzert für Violine, Streicher und Basso continuo e-Moll, RV 281\n\n01. Allegro\n02. Largo\n03. Allegro\n\nRinaldo Alessandrini, harpsichord\nFabio Biondi, violin & director\nEuropa Galante Orchestra\n\n[on period instruments]\n\n------------------------\n\nArtwork: The Rape of Europa by Giovanni Battista Tiepolo, 1725", "duration" => 665, "filename" => "/downloads/music/whomakemefeel/Vivaldi Violin Concerto in E minor, RV281 | Fabio Biondi Europa Galante.m4a", "id" => "nheev87nOHw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nheev87nOHw", "playlist_index" => 24, "timestamp" => 1467471300, "title" => "Vivaldi Violin Concerto in E minor, RV281 | Fabio Biondi Europa Galante", "upload_date" => "20160702"} 09:44:56.797 [debug] QUERY OK source="sources" db=0.2ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:56.798 [debug] QUERY OK source="sources" db=0.1ms idle=1002.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:56.798 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2016-07-02 14:55:00Z], 1] 09:44:56.803 [debug] QUERY OK source="media_items" db=4.0ms idle=1002.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Antonio Lucio Vivaldi (1678 - 1741)\n\nConcerto for violin, strings and basso continuo in E minor, RV281 \nKonzert für Violine, Streicher und Basso continuo e-Moll, RV 281\n\n01. Allegro\n02. Largo\n03. Allegro\n\nRinaldo Alessandrini, harpsichord\nFabio Biondi, violin & director\nEuropa Galante Orchestra\n\n[on period instruments]\n\n------------------------\n\nArtwork: The Rape of Europa by Giovanni Battista Tiepolo, 1725", "Vivaldi Violin Concerto in E minor, RV281 | Fabio Biondi Europa Galante", "ca6150d4-313c-4cf7-9a62-95dfd0ddece5", 665, false, "nheev87nOHw", "https://www.youtube.com/watch?v=nheev87nOHw", 24, "/downloads/music/whomakemefeel/Vivaldi Violin Concerto in E minor, RV281 | Fabio Biondi Europa Galante.m4a", false, false, false, 1, [], 1, ~U[2016-07-02 14:55:00Z], ~U[2026-09-16 09:44:56Z], ~U[2026-09-16 09:44:56Z], "Antonio Lucio Vivaldi (1678 - 1741)\n\nConcerto for violin, strings and basso continuo in E minor, RV281 \nKonzert für Violine, Streicher und Basso continuo e-Moll, RV 281\n\n01. Allegro\n02. Largo\n03. Allegro\n\nRinaldo Alessandrini, harpsichord\nFabio Biondi, violin & director\nEuropa Galante Orchestra\n\n[on period instruments]\n\n------------------------\n\nArtwork: The Rape of Europa by Giovanni Battista Tiepolo, 1725", "Vivaldi Violin Concerto in E minor, RV281 | Fabio Biondi Europa Galante", 665, false, "nheev87nOHw", "https://www.youtube.com/watch?v=nheev87nOHw", "/downloads/music/whomakemefeel/Vivaldi Violin Concerto in E minor, RV281 | Fabio Biondi Europa Galante.m4a", false, 1, ~U[2016-07-02 14:55:00Z]] 09:44:56.804 [debug] QUERY OK source="sources" db=0.2ms idle=622.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:56.804 [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] 09:44:56.805 [debug] QUERY OK source="media_items" db=0.2ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [30] 09:44:56.805 [debug] Current batch of media processed. Will check again in 1000ms 09:44:57.806 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Trap Woofer 🎶 Spotify Playlist: https://open.spotify.com/playlist/0bF7X5bxLsMwlnoInm5src?si=625a0eb0a1184036\n. 🔥 Sakura - LOOK AT ME!\n\nDownload Link \n↪︎https://soundcloud.com/slava-shiponi/look-at-me\n\n🎶 Submit your music here: https://www.submithub.com/blog/trap-woofer\n\n↪︎ Contact & Business enquiries: dmitri@woofer.yt\n↪︎ Music submissions: https://trapwoofer.edmdistrict.com/\n----------------------------------------------------------------------------------------------\nFollow Sakura\nhttps://soundcloud.com/slava-shiponi\n\nOriginal Video - https://www.youtube.com/watch?v=BlifuEDoDy0\n\n✦ Follow Ilya Levchenko\nCar Owner - https://www.instagram.com/ta_samaya_rsq3\nShooting and editing - https://www.instagram.com/evgenyshilov\nhttps://www.youtube.com/channel/UCYsIRRIS2BhcqZizkoo97hw\n\n✦ Follow Trap Woofer:\nhttps://www.instagram.com/trap.woofer/\nhttps://soundcloud.com/trapwoofer\nhttps://www.facebook.com/trapwoofer\nhttps://twitter.com/ApexLouder\n\nMy personal favourite playlists:\n\n🎶Trap Woofer Car Music Videos:https://www.youtube.com/playlist?list=PLHVIHnOprTWGMlgsO-8KnSB1PQJdY40IB\n\n🎶BEST BASS EVER | TRAP WOOFER https://www.youtube.com/playlist?list=PLsp35d3XFjoMOMi2tm-ElkVuCk0vPQiul\n\n🎶Majorka Playlist: https://www.youtube.com/playlist?list=PLIvO14RznSi5G3QftRfPubNnD1jSwlfq6\n\nWARNING: These videos may cause people with photosensitive epilepsy to convulse in seizures. Viewer discretion is advised.\n\nIf you want to get your song removed from on our channel, please e-mail us and we'll respond within 24 hours.\n\n#Trap #Bass #BassBoosted #Music #NewSong #Fresh #Best", "duration" => 116, "filename" => "/downloads/music/Trap Woofer/Sakura - LOOK AT ME! (Bass Boosted).m4a", "id" => "L8NQPenfjjM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=L8NQPenfjjM", "playlist_index" => 25, "timestamp" => 1580754600, "title" => "Sakura - LOOK AT ME! (Bass Boosted)", "upload_date" => "20200203"} 09:44:57.807 [debug] QUERY OK source="sources" db=0.4ms idle=1003.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:57.807 [debug] QUERY OK source="sources" db=0.1ms idle=1003.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:57.808 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1003.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-02-03 18:30:00Z], 1] 09:44:57.822 [debug] QUERY OK source="media_items" db=13.0ms idle=1003.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Trap Woofer 🎶 Spotify Playlist: https://open.spotify.com/playlist/0bF7X5bxLsMwlnoInm5src?si=625a0eb0a1184036\n. 🔥 Sakura - LOOK AT ME!\n\nDownload Link \n↪︎https://soundcloud.com/slava-shiponi/look-at-me\n\n🎶 Submit your music here: https://www.submithub.com/blog/trap-woofer\n\n↪︎ Contact & Business enquiries: dmitri@woofer.yt\n↪︎ Music submissions: https://trapwoofer.edmdistrict.com/\n----------------------------------------------------------------------------------------------\nFollow Sakura\nhttps://soundcloud.com/slava-shiponi\n\nOriginal Video - https://www.youtube.com/watch?v=BlifuEDoDy0\n\n✦ Follow Ilya Levchenko\nCar Owner - https://www.instagram.com/ta_samaya_rsq3\nShooting and editing - https://www.instagram.com/evgenyshilov\nhttps://www.youtube.com/channel/UCYsIRRIS2BhcqZizkoo97hw\n\n✦ Follow Trap Woofer:\nhttps://www.instagram.com/trap.woofer/\nhttps://soundcloud.com/trapwoofer\nhttps://www.facebook.com/trapwoofer\nhttps://twitter.com/ApexLouder\n\nMy personal favourite playlists:\n\n🎶Trap Woofer Car Music Videos:https://www.youtube.com/playlist?list=PLHVIHnOprTWGMlgsO-8KnSB1PQJdY40IB\n\n🎶BEST BASS EVER | TRAP WOOFER https://www.youtube.com/playlist?list=PLsp35d3XFjoMOMi2tm-ElkVuCk0vPQiul\n\n🎶Majorka Playlist: https://www.youtube.com/playlist?list=PLIvO14RznSi5G3QftRfPubNnD1jSwlfq6\n\nWARNING: These videos may cause people with photosensitive epilepsy to convulse in seizures. Viewer discretion is advised.\n\nIf you want to get your song removed from on our channel, please e-mail us and we'll respond within 24 hours.\n\n#Trap #Bass #BassBoosted #Music #NewSong #Fresh #Best", "Sakura - LOOK AT ME! (Bass Boosted)", "b2612f18-f329-4c34-be73-45e718bf4123", 116, false, "L8NQPenfjjM", "https://www.youtube.com/watch?v=L8NQPenfjjM", 25, "/downloads/music/Trap Woofer/Sakura - LOOK AT ME! (Bass Boosted).m4a", false, false, false, 1, [], 1, ~U[2020-02-03 18:30:00Z], ~U[2026-09-16 09:44:57Z], ~U[2026-09-16 09:44:57Z], "Trap Woofer 🎶 Spotify Playlist: https://open.spotify.com/playlist/0bF7X5bxLsMwlnoInm5src?si=625a0eb0a1184036\n. 🔥 Sakura - LOOK AT ME!\n\nDownload Link \n↪︎https://soundcloud.com/slava-shiponi/look-at-me\n\n🎶 Submit your music here: https://www.submithub.com/blog/trap-woofer\n\n↪︎ Contact & Business enquiries: dmitri@woofer.yt\n↪︎ Music submissions: https://trapwoofer.edmdistrict.com/\n----------------------------------------------------------------------------------------------\nFollow Sakura\nhttps://soundcloud.com/slava-shiponi\n\nOriginal Video - https://www.youtube.com/watch?v=BlifuEDoDy0\n\n✦ Follow Ilya Levchenko\nCar Owner - https://www.instagram.com/ta_samaya_rsq3\nShooting and editing - https://www.instagram.com/evgenyshilov\nhttps://www.youtube.com/channel/UCYsIRRIS2BhcqZizkoo97hw\n\n✦ Follow Trap Woofer:\nhttps://www.instagram.com/trap.woofer/\nhttps://soundcloud.com/trapwoofer\nhttps://www.facebook.com/trapwoofer\nhttps://twitter.com/ApexLouder\n\nMy personal favourite playlists:\n\n🎶Trap Woofer Car Music Videos:https://www.youtube.com/playlist?list=PLHVIHnOprTWGMlgsO-8KnSB1PQJdY40IB\n\n🎶BEST BASS EVER | TRAP WOOFER https://www.youtube.com/playlist?list=PLsp35d3XFjoMOMi2tm-ElkVuCk0vPQiul\n\n🎶Majorka Playlist: https://www.youtube.com/playlist?list=PLIvO14RznSi5G3QftRfPubNnD1jSwlfq6\n\nWARNING: These videos may cause people with photosensitive epilepsy to convulse in seizures. Viewer discretion is advised.\n\nIf you want to get your song removed from on our channel, please e-mail us and we'll respond within 24 hours.\n\n#Trap #Bass #BassBoosted #Music #NewSong #Fresh #Best", "Sakura - LOOK AT ME! (Bass Boosted)", 116, false, "L8NQPenfjjM", "https://www.youtube.com/watch?v=L8NQPenfjjM", "/downloads/music/Trap Woofer/Sakura - LOOK AT ME! (Bass Boosted).m4a", false, 1, ~U[2020-02-03 18:30:00Z]] 09:44:57.823 [debug] QUERY OK source="sources" db=0.3ms idle=640.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:57.823 [debug] QUERY OK source="media_profiles" db=0.5ms idle=15.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] 09:44:57.825 [debug] QUERY OK source="media_items" db=0.6ms idle=16.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 [32] 09:44:57.825 [debug] Current batch of media processed. Will check again in 1000ms 09:44:58.826 [debug] Current batch of media processed. Will check again in 1000ms 09:44:59.827 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Yūgen is not an allusion to another world. It is about this world, this experience…\n\n🎧 Tracklist:\n00:00 CHELJI - Forgive and Forget\n02:22 ivri ヅ - luvly\n03:15 SadBoyProlific - Alone ft. ivri(prod. ocean)\n05:52 Teqkoi - You Broke My Heart Again (ft. Aiko)\n07:32 @rxseboy x @powfu x @mishaal - when we were 16 (prod. con)\n10:38 Powfu - Hear my thoughts (prod. Mai.)\n12:50 @rxseboy - i really miss you (prod. con)\n15:08 CHELJI - Thought Of Love\n17:51 Kina - Can We Kiss Forever?(feat. Adriana Proenza)\n20:51 @rxseboy - i hate moving on (prod. con)\n\n❤️ Support the artists:\n・CHELJI https://soundcloud.com/chelji\n・ivri https://soundcloud.com/ivrii\n・SadBoyProlific https://soundcloud.com/sadboyprolific\n・ocean https://soundcloud.com/oceanonthebeat\n・Teqkoi https://soundcloud.com/teqkoi\n・Aiko https://soundcloud.com/aikox\n・rxseboy https://soundcloud.com/rxseboy\n・powfu https://soundcloud.com/powfu\n・mishaal https://soundcloud.com/officialmishaal\n・con https://www.youtube.com/channel/UCIsCdBYkKiDGJxR8ZpeAYqw\n・Mai. https://soundcloud.com/maryjanexx\n・Kina https://soundcloud.com/kinabeats\n・Adriana Proenza https://soundcloud.com/adrianaproenza\n\n⛩ Art: \nBy Valentina Remenar\nhttps://valentinaremenar.com/\nhttps://www.artstation.com/tincek-marincek\nhttps://www.instagram.com/valentinaremenar/\nhttps://www.deviantart.com/valentina-remenar\nhttps://twitter.com/TincekMarincek\n___________________________________________________\n💕 LIKE AND SUBSCRIBE if you liked this video!\n🔔 Click the Bell to get notified when I upload!\n___________________________________________________\nI do not own ANY rights to any of the music or footage I share, if you have a problem with my way of promotion, leave a message on my email.\n\n✉️ kitsuneyuugen@gmail.com\n___________________________________________________\n☕ Social Media:\nTwitter: https://twitter.com/YuugenMusic\nSoundcloud: https://soundcloud.com/y-gen-491044203\nInstagram: https://www.instagram.com/yugenmusicnetwork/\nSpotify: https://spoti.fi/2OeNGt4\nChannel: https://www.youtube.com/c/YugenMusicNetwork\n\n✖️ Channel is not monetized, if ads appear they are from copyright claims. Sorry for the inconvenience. If you’d like to support me you can buy me a coffee at:\nhttps://ko-fi.com/yugenmusicnetwork\n\n▶Submit your music :\nhttps://goo.gl/ZjN9Ry\n\n▶Submit art :\nhttps://goo.gl/qKBAog\n\nLove | Lofi HipHop Mix |\n\n#Lofi #Vocals #Love", "duration" => 1389, "filename" => "/downloads/music/Yūgen/Love | Lofi HipHop Mix |.m4a", "id" => "82P9kaqZds8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=82P9kaqZds8", "playlist_index" => 26, "timestamp" => 1578319202, "title" => "Love | Lofi HipHop Mix |", "upload_date" => "20200106"} 09:44:59.828 [debug] QUERY OK source="sources" db=0.2ms idle=642.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:44:59.828 [debug] QUERY OK source="sources" db=0.1ms idle=492.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:44:59.829 [debug] QUERY OK source="media_items" db=0.3ms idle=492.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-01-06 14:00:02Z], 1] 09:44:59.998 [debug] QUERY OK source="media_items" db=169.0ms idle=493.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Yūgen is not an allusion to another world. It is about this world, this experience…\n\n🎧 Tracklist:\n00:00 CHELJI - Forgive and Forget\n02:22 ivri ヅ - luvly\n03:15 SadBoyProlific - Alone ft. ivri(prod. ocean)\n05:52 Teqkoi - You Broke My Heart Again (ft. Aiko)\n07:32 @rxseboy x @powfu x @mishaal - when we were 16 (prod. con)\n10:38 Powfu - Hear my thoughts (prod. Mai.)\n12:50 @rxseboy - i really miss you (prod. con)\n15:08 CHELJI - Thought Of Love\n17:51 Kina - Can We Kiss Forever?(feat. Adriana Proenza)\n20:51 @rxseboy - i hate moving on (prod. con)\n\n❤️ Support the artists:\n・CHELJI https://soundcloud.com/chelji\n・ivri https://soundcloud.com/ivrii\n・SadBoyProlific https://soundcloud.com/sadboyprolific\n・ocean https://soundcloud.com/oceanonthebeat\n・Teqkoi https://soundcloud.com/teqkoi\n・Aiko https://soundcloud.com/aikox\n・rxseboy https://soundcloud.com/rxseboy\n・powfu https://soundcloud.com/powfu\n・mishaal https://soundcloud.com/officialmishaal\n・con https://www.youtube.com/channel/UCIsCdBYkKiDGJxR8ZpeAYqw\n・Mai. https://soundcloud.com/maryjanexx\n・Kina https://soundcloud.com/kinabeats\n・Adriana Proenza https://soundcloud.com/adrianaproenza\n\n⛩ Art: \nBy Valentina Remenar\nhttps://valentinaremenar.com/\nhttps://www.artstation.com/tincek-marincek\nhttps://www.instagram.com/valentinaremenar/\nhttps://www.deviantart.com/valentina-remenar\nhttps://twitter.com/TincekMarincek\n___________________________________________________\n💕 LIKE AND SUBSCRIBE if you liked this video!\n🔔 Click the Bell to get notified when I upload!\n___________________________________________________\nI do not own ANY rights to any of the music or footage I share, if you have a problem with my way of promotion, leave a message on my email.\n\n✉️ kitsuneyuugen@gmail.com\n___________________________________________________\n☕ Social Media:\nTwitter: https://twitter.com/YuugenMusic\nSoundcloud: https://soundcloud.com/y-gen-491044203\nInstagram: https://www.instagram.com/yugenmusicnetwork/\nSpotify: https://spoti.fi/2OeNGt4\nChannel: https://www.youtube.com/c/YugenMusicNetwork\n\n✖️ Channel is not monetized, if ads appear they are from copyright claims. Sorry for the inconvenience. If you’d like to support me you can buy me a coffee at:\nhttps://ko-fi.com/yugenmusicnetwork\n\n▶Submit your music :\nhttps://goo.gl/ZjN9Ry\n\n▶Submit art :\nhttps://goo.gl/qKBAog\n\nLove | Lofi HipHop Mix |\n\n#Lofi #Vocals #Love", "Love | Lofi HipHop Mix |", "21efd78e-cbe3-4680-b87c-796a3d4542b7", 1389, false, "82P9kaqZds8", "https://www.youtube.com/watch?v=82P9kaqZds8", 26, "/downloads/music/Yūgen/Love | Lofi HipHop Mix |.m4a", false, false, false, 1, [], 1, ~U[2020-01-06 14:00:02Z], ~U[2026-09-16 09:44:59Z], ~U[2026-09-16 09:44:59Z], "Yūgen is not an allusion to another world. It is about this world, this experience…\n\n🎧 Tracklist:\n00:00 CHELJI - Forgive and Forget\n02:22 ivri ヅ - luvly\n03:15 SadBoyProlific - Alone ft. ivri(prod. ocean)\n05:52 Teqkoi - You Broke My Heart Again (ft. Aiko)\n07:32 @rxseboy x @powfu x @mishaal - when we were 16 (prod. con)\n10:38 Powfu - Hear my thoughts (prod. Mai.)\n12:50 @rxseboy - i really miss you (prod. con)\n15:08 CHELJI - Thought Of Love\n17:51 Kina - Can We Kiss Forever?(feat. Adriana Proenza)\n20:51 @rxseboy - i hate moving on (prod. con)\n\n❤️ Support the artists:\n・CHELJI https://soundcloud.com/chelji\n・ivri https://soundcloud.com/ivrii\n・SadBoyProlific https://soundcloud.com/sadboyprolific\n・ocean https://soundcloud.com/oceanonthebeat\n・Teqkoi https://soundcloud.com/teqkoi\n・Aiko https://soundcloud.com/aikox\n・rxseboy https://soundcloud.com/rxseboy\n・powfu https://soundcloud.com/powfu\n・mishaal https://soundcloud.com/officialmishaal\n・con https://www.youtube.com/channel/UCIsCdBYkKiDGJxR8ZpeAYqw\n・Mai. https://soundcloud.com/maryjanexx\n・Kina https://soundcloud.com/kinabeats\n・Adriana Proenza https://soundcloud.com/adrianaproenza\n\n⛩ Art: \nBy Valentina Remenar\nhttps://valentinaremenar.com/\nhttps://www.artstation.com/tincek-marincek\nhttps://www.instagram.com/valentinaremenar/\nhttps://www.deviantart.com/valentina-remenar\nhttps://twitter.com/TincekMarincek\n___________________________________________________\n💕 LIKE AND SUBSCRIBE if you liked this video!\n🔔 Click the Bell to get notified when I upload!\n___________________________________________________\nI do not own ANY rights to any of the music or footage I share, if you have a problem with my way of promotion, leave a message on my email.\n\n✉️ kitsuneyuugen@gmail.com\n___________________________________________________\n☕ Social Media:\nTwitter: https://twitter.com/YuugenMusic\nSoundcloud: https://soundcloud.com/y-gen-491044203\nInstagram: https://www.instagram.com/yugenmusicnetwork/\nSpotify: https://spoti.fi/2OeNGt4\nChannel: https://www.youtube.com/c/YugenMusicNetwork\n\n✖️ Channel is not monetized, if ads appear they are from copyright claims. Sorry for the inconvenience. If you’d like to support me you can buy me a coffee at:\nhttps://ko-fi.com/yugenmusicnetwork\n\n▶Submit your music :\nhttps://goo.gl/ZjN9Ry\n\n▶Submit art :\nhttps://goo.gl/qKBAog\n\nLove | Lofi HipHop Mix |\n\n#Lofi #Vocals #Love", "Love | Lofi HipHop Mix |", 1389, false, "82P9kaqZds8", "https://www.youtube.com/watch?v=82P9kaqZds8", "/downloads/music/Yūgen/Love | Lofi HipHop Mix |.m4a", false, 1, ~U[2020-01-06 14:00:02Z]] 09:44:59.999 [debug] QUERY OK source="sources" db=0.3ms idle=662.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:00.000 [debug] QUERY OK source="media_profiles" db=0.2ms idle=171.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] 09:45:00.000 [debug] QUERY OK source="media_items" db=0.2ms idle=172.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 [33] 09:45:00.001 [debug] Current batch of media processed. Will check again in 1000ms 09:45:00.437 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:45:01.002 [debug] Current batch of media processed. Will check again in 1000ms 09:45:02.003 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Zero - Leave The Light On (Lyrics / Lyric Video)\nDownload/Stream: https://open.spotify.com/track/4TrzjmGcj6b8ct55iYQZXl?si=8R61hZf2TLmMgMpE8Dxmxg\n🔥 Follow me on Spotify: http://spoti.fi/2epn0pp\n\nIG: https://www.instagram.com/Zero\nTwitter: https:/www.twitter.com/OfficiallyZero\nFacebook: https://www.facebook.com/officiallyzero/\n\nCredits:\n\nProduced by Mark Jackson & Ian Scott\nAdditional Production by Taylor Bird & boon\nMixed & Mastered by Taylor Bird\nWritten by Jordan Benjamin, Matthew Cullen, Mark Jackson, Ian Scott, Kevin Hissink & Taylor Bird \n\nLyrics for Zero - Leave The Light On :)\n\nChorus: \n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nVerse 1:\n\nSometimes.. i gotta mask up\nDo the job to get the money back up\nLast time i had the bad luck\nBut im sure as fuck you had my back and thats what\nMade comfortable to put my blood\nSweat and tears to both of us\nGives my veins another rush\nEvery time the work is fucking done\n\nTrouble\nIt’s just a necessary evil\nAnd it don’t always end peaceful\nI know you worry but\nDon’t give up on me\n\nChorus: \n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nVerse 2: \n\nTurn your back if you dont want to witness all the things i had to do for us\nWhen i had to do too much\nYou helped me out through all the ruts\nI was laying at home\nYou, and me, and my shadow\nYou were my backbone\nWhen i got myself together\nLooked into the mirror\nKnew theres nothing better, but some motherfuckin trouble\n\nTrouble\nIt’s just a necessary evil\nAnd it don’t always end up peaceful\nI know you worry but\nDon’t give up on me\n\nChorus:\n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nBridge: \nMaybe we dont know how\nTo get ourselves the fuck out\nof this position that were in, no difference if my job is done or im out\nWorking on it\nYou can see it all now \nNever wanted\nYou to see that im down\nHad to go and\nBreak my hands out these cuffs\nAnd erase the past and change us\nIm just saying\n\nChorus:\n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nPhoto from Unsplash!\n\n~~~~~~~» UNCVRD«~~~~~~~\n\nJoin our Slack community: https://uncvrd.herokuapp.com/\nTwitter: https://twitter.com/uncvrdHQ\nFacebook: https://www.facebook.com/uncvrd/\nSpotify: http://spoti.fi/2epn0pp\n\n**All music submissions must go through here: https://submit.uncvrd.co", "duration" => 185, "filename" => "/downloads/music/UNCVRD/Zero - Leave The Light On (Lyrics).m4a", "id" => "k5j9_N_BCx0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=k5j9_N_BCx0", "playlist_index" => 27, "timestamp" => 1551417046, "title" => "Zero - Leave The Light On (Lyrics)", "upload_date" => "20190301"} 09:45:02.004 [debug] QUERY OK source="sources" db=0.3ms idle=1566.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:02.004 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=817.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:02.005 [debug] QUERY OK source="media_items" db=0.3ms idle=668.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-03-01 05:10:46Z], 1] 09:45:02.012 [debug] QUERY OK source="media_items" db=6.0ms idle=669.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Zero - Leave The Light On (Lyrics / Lyric Video)\nDownload/Stream: https://open.spotify.com/track/4TrzjmGcj6b8ct55iYQZXl?si=8R61hZf2TLmMgMpE8Dxmxg\n🔥 Follow me on Spotify: http://spoti.fi/2epn0pp\n\nIG: https://www.instagram.com/Zero\nTwitter: https:/www.twitter.com/OfficiallyZero\nFacebook: https://www.facebook.com/officiallyzero/\n\nCredits:\n\nProduced by Mark Jackson & Ian Scott\nAdditional Production by Taylor Bird & boon\nMixed & Mastered by Taylor Bird\nWritten by Jordan Benjamin, Matthew Cullen, Mark Jackson, Ian Scott, Kevin Hissink & Taylor Bird \n\nLyrics for Zero - Leave The Light On :)\n\nChorus: \n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nVerse 1:\n\nSometimes.. i gotta mask up\nDo the job to get the money back up\nLast time i had the bad luck\nBut im sure as fuck you had my back and thats what\nMade comfortable to put my blood\nSweat and tears to both of us\nGives my veins another rush\nEvery time the work is fucking done\n\nTrouble\nIt’s just a necessary evil\nAnd it don’t always end peaceful\nI know you worry but\nDon’t give up on me\n\nChorus: \n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nVerse 2: \n\nTurn your back if you dont want to witness all the things i had to do for us\nWhen i had to do too much\nYou helped me out through all the ruts\nI was laying at home\nYou, and me, and my shadow\nYou were my backbone\nWhen i got myself together\nLooked into the mirror\nKnew theres nothing better, but some motherfuckin trouble\n\nTrouble\nIt’s just a necessary evil\nAnd it don’t always end up peaceful\nI know you worry but\nDon’t give up on me\n\nChorus:\n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nBridge: \nMaybe we dont know how\nTo get ourselves the fuck out\nof this position that were in, no difference if my job is done or im out\nWorking on it\nYou can see it all now \nNever wanted\nYou to see that im down\nHad to go and\nBreak my hands out these cuffs\nAnd erase the past and change us\nIm just saying\n\nChorus:\n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nPhoto from Unsplash!\n\n~~~~~~~» UNCVRD«~~~~~~~\n\nJoin our Slack community: https://uncvrd.herokuapp.com/\nTwitter: https://twitter.com/uncvrdHQ\nFacebook: https://www.facebook.com/uncvrd/\nSpotify: http://spoti.fi/2epn0pp\n\n**All music submissions must go through here: https://submit.uncvrd.co", "Zero - Leave The Light On (Lyrics)", "37412101-9194-409a-88a1-6fcf5ffed13f", 185, false, "k5j9_N_BCx0", "https://www.youtube.com/watch?v=k5j9_N_BCx0", 27, "/downloads/music/UNCVRD/Zero - Leave The Light On (Lyrics).m4a", false, false, false, 1, [], 1, ~U[2019-03-01 05:10:46Z], ~U[2026-09-16 09:45:02Z], ~U[2026-09-16 09:45:02Z], "Zero - Leave The Light On (Lyrics / Lyric Video)\nDownload/Stream: https://open.spotify.com/track/4TrzjmGcj6b8ct55iYQZXl?si=8R61hZf2TLmMgMpE8Dxmxg\n🔥 Follow me on Spotify: http://spoti.fi/2epn0pp\n\nIG: https://www.instagram.com/Zero\nTwitter: https:/www.twitter.com/OfficiallyZero\nFacebook: https://www.facebook.com/officiallyzero/\n\nCredits:\n\nProduced by Mark Jackson & Ian Scott\nAdditional Production by Taylor Bird & boon\nMixed & Mastered by Taylor Bird\nWritten by Jordan Benjamin, Matthew Cullen, Mark Jackson, Ian Scott, Kevin Hissink & Taylor Bird \n\nLyrics for Zero - Leave The Light On :)\n\nChorus: \n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nVerse 1:\n\nSometimes.. i gotta mask up\nDo the job to get the money back up\nLast time i had the bad luck\nBut im sure as fuck you had my back and thats what\nMade comfortable to put my blood\nSweat and tears to both of us\nGives my veins another rush\nEvery time the work is fucking done\n\nTrouble\nIt’s just a necessary evil\nAnd it don’t always end peaceful\nI know you worry but\nDon’t give up on me\n\nChorus: \n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nVerse 2: \n\nTurn your back if you dont want to witness all the things i had to do for us\nWhen i had to do too much\nYou helped me out through all the ruts\nI was laying at home\nYou, and me, and my shadow\nYou were my backbone\nWhen i got myself together\nLooked into the mirror\nKnew theres nothing better, but some motherfuckin trouble\n\nTrouble\nIt’s just a necessary evil\nAnd it don’t always end up peaceful\nI know you worry but\nDon’t give up on me\n\nChorus:\n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nBridge: \nMaybe we dont know how\nTo get ourselves the fuck out\nof this position that were in, no difference if my job is done or im out\nWorking on it\nYou can see it all now \nNever wanted\nYou to see that im down\nHad to go and\nBreak my hands out these cuffs\nAnd erase the past and change us\nIm just saying\n\nChorus:\n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nPhoto from Unsplash!\n\n~~~~~~~» UNCVRD«~~~~~~~\n\nJoin our Slack community: https://uncvrd.herokuapp.com/\nTwitter: https://twitter.com/uncvrdHQ\nFacebook: https://www.facebook.com/uncvrd/\nSpotify: http://spoti.fi/2epn0pp\n\n**All music submissions must go through here: https://submit.uncvrd.co", "Zero - Leave The Light On (Lyrics)", 185, false, "k5j9_N_BCx0", "https://www.youtube.com/watch?v=k5j9_N_BCx0", "/downloads/music/UNCVRD/Zero - Leave The Light On (Lyrics).m4a", false, 1, ~U[2019-03-01 05:10:46Z]] 09:45:02.012 [debug] QUERY OK source="sources" db=0.3ms idle=676.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:02.013 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=9.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:02.014 [debug] QUERY OK source="media_items" db=0.7ms idle=9.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [35] 09:45:02.014 [debug] Current batch of media processed. Will check again in 1000ms 09:45:03.015 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "New layout who dis\n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Besomorph - 1985 (ft. braev & Wasiu)\nhttps://biglink.to/1985\n\nBesomorph\nhttps://instagram.com/Besomorph/\nhttps://soundcloud.com/Besomorph/\nhttps://facebook.com/Besomorph\nhttps://www.twitter.com/Besomorph\n\nbraev\nhttps://twitter.com/kingbraev\nhttps://www.instagram.com/kingbraev/\nhttps://www.facebook.com/kingbraev/\nhttps://soundcloud.com/kingbraev\n\nWasiu\nhttps://twitter.com/afrowasiu\nhttps://www.instagram.com/afrowasiu/\nhttps://www.facebook.com/AfroWasiu/\nhttps://soundcloud.com/afrowasiu\n\nArtwork by DarsoX Anime\nhttps://www.artstation.com/artwork/A9Wgoz\nhttps://www.artstation.com/dezzso\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/\nSubmissions: https://www.submithub.com/blog/heroicmusic-valiant", "duration" => 166, "filename" => "/downloads/music/Valiant/Besomorph - 1985 (ft. braev & Wasiu).m4a", "id" => "S3NTO6909sc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=S3NTO6909sc", "playlist_index" => 28, "timestamp" => 1573296300, "title" => "Besomorph - 1985 (ft. braev & Wasiu)", "upload_date" => "20191109"} 09:45:03.016 [debug] QUERY OK source="sources" db=0.4ms idle=1003.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:03.016 [debug] QUERY OK source="sources" db=0.1ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:03.017 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-11-09 10:45:00Z], 1] 09:45:03.024 [debug] QUERY OK source="media_items" db=6.1ms idle=1002.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["New layout who dis\n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Besomorph - 1985 (ft. braev & Wasiu)\nhttps://biglink.to/1985\n\nBesomorph\nhttps://instagram.com/Besomorph/\nhttps://soundcloud.com/Besomorph/\nhttps://facebook.com/Besomorph\nhttps://www.twitter.com/Besomorph\n\nbraev\nhttps://twitter.com/kingbraev\nhttps://www.instagram.com/kingbraev/\nhttps://www.facebook.com/kingbraev/\nhttps://soundcloud.com/kingbraev\n\nWasiu\nhttps://twitter.com/afrowasiu\nhttps://www.instagram.com/afrowasiu/\nhttps://www.facebook.com/AfroWasiu/\nhttps://soundcloud.com/afrowasiu\n\nArtwork by DarsoX Anime\nhttps://www.artstation.com/artwork/A9Wgoz\nhttps://www.artstation.com/dezzso\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/\nSubmissions: https://www.submithub.com/blog/heroicmusic-valiant", "Besomorph - 1985 (ft. braev & Wasiu)", "1236d52b-39fe-4489-86d4-5d342f33e1fe", 166, false, "S3NTO6909sc", "https://www.youtube.com/watch?v=S3NTO6909sc", 28, "/downloads/music/Valiant/Besomorph - 1985 (ft. braev & Wasiu).m4a", false, false, false, 1, [], 1, ~U[2019-11-09 10:45:00Z], ~U[2026-09-16 09:45:03Z], ~U[2026-09-16 09:45:03Z], "New layout who dis\n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Besomorph - 1985 (ft. braev & Wasiu)\nhttps://biglink.to/1985\n\nBesomorph\nhttps://instagram.com/Besomorph/\nhttps://soundcloud.com/Besomorph/\nhttps://facebook.com/Besomorph\nhttps://www.twitter.com/Besomorph\n\nbraev\nhttps://twitter.com/kingbraev\nhttps://www.instagram.com/kingbraev/\nhttps://www.facebook.com/kingbraev/\nhttps://soundcloud.com/kingbraev\n\nWasiu\nhttps://twitter.com/afrowasiu\nhttps://www.instagram.com/afrowasiu/\nhttps://www.facebook.com/AfroWasiu/\nhttps://soundcloud.com/afrowasiu\n\nArtwork by DarsoX Anime\nhttps://www.artstation.com/artwork/A9Wgoz\nhttps://www.artstation.com/dezzso\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/\nSubmissions: https://www.submithub.com/blog/heroicmusic-valiant", "Besomorph - 1985 (ft. braev & Wasiu)", 166, false, "S3NTO6909sc", "https://www.youtube.com/watch?v=S3NTO6909sc", "/downloads/music/Valiant/Besomorph - 1985 (ft. braev & Wasiu).m4a", false, 1, ~U[2019-11-09 10:45:00Z]] 09:45:03.024 [debug] QUERY OK source="sources" db=0.2ms idle=836.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:03.025 [debug] QUERY OK source="media_profiles" db=0.4ms idle=8.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:03.026 [debug] QUERY OK source="media_items" db=0.4ms 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 [37] 09:45:03.026 [debug] Current batch of media processed. Will check again in 1000ms 09:45:04.027 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Liam reminds me of Eden \n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Liam Ello - Blunder \nhttps://fanlink.to/blunder\n\nLiam Ello\nhttps://www.instagram.com/liam.ello/\nhttps://soundcloud.com/liamello\nhttps://www.facebook.com/liamelloo\nhttps://twitter.com/liamellopuff?s=09\n\nArtwork by Guweiz\nhttps://www.facebook.com/guweiz/\nhttps://www.instagram.com/guweiz/\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/\nSubmissions: https://www.submithub.com/blog/heroicmusic-valiant", "duration" => 181, "filename" => "/downloads/music/Valiant/Liam Ello - Blunder.m4a", "id" => "iN_R5h82_3w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iN_R5h82_3w", "playlist_index" => 29, "timestamp" => 1573987500, "title" => "Liam Ello - Blunder", "upload_date" => "20191117"} 09:45:04.027 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:04.028 [debug] QUERY OK source="sources" db=0.1ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:04.028 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-11-17 10:45:00Z], 1] 09:45:04.032 [debug] QUERY OK source="media_items" db=3.1ms idle=1003.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Liam reminds me of Eden \n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Liam Ello - Blunder \nhttps://fanlink.to/blunder\n\nLiam Ello\nhttps://www.instagram.com/liam.ello/\nhttps://soundcloud.com/liamello\nhttps://www.facebook.com/liamelloo\nhttps://twitter.com/liamellopuff?s=09\n\nArtwork by Guweiz\nhttps://www.facebook.com/guweiz/\nhttps://www.instagram.com/guweiz/\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/\nSubmissions: https://www.submithub.com/blog/heroicmusic-valiant", "Liam Ello - Blunder", "09fefad0-499b-4b16-9bc3-4fae26b5fe20", 181, false, "iN_R5h82_3w", "https://www.youtube.com/watch?v=iN_R5h82_3w", 29, "/downloads/music/Valiant/Liam Ello - Blunder.m4a", false, false, false, 1, [], 1, ~U[2019-11-17 10:45:00Z], ~U[2026-09-16 09:45:04Z], ~U[2026-09-16 09:45:04Z], "Liam reminds me of Eden \n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Liam Ello - Blunder \nhttps://fanlink.to/blunder\n\nLiam Ello\nhttps://www.instagram.com/liam.ello/\nhttps://soundcloud.com/liamello\nhttps://www.facebook.com/liamelloo\nhttps://twitter.com/liamellopuff?s=09\n\nArtwork by Guweiz\nhttps://www.facebook.com/guweiz/\nhttps://www.instagram.com/guweiz/\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/\nSubmissions: https://www.submithub.com/blog/heroicmusic-valiant", "Liam Ello - Blunder", 181, false, "iN_R5h82_3w", "https://www.youtube.com/watch?v=iN_R5h82_3w", "/downloads/music/Valiant/Liam Ello - Blunder.m4a", false, 1, ~U[2019-11-17 10:45:00Z]] 09:45:04.033 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=842.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:04.033 [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] 09:45:04.033 [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 [39] 09:45:04.034 [debug] Current batch of media processed. Will check again in 1000ms 09:45:05.035 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "The hype man is back!\n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Barren Gates - S.O.S (ft. Harley Bird & M.I.M.E)\nhttps://fanlink.to/s-o-s\n\nBarren Gates\nhttps://soundcloud.com/barrengates\nhttps://www.instagram.com/barrengates/\nhttps://www.facebook.com/BarrenGates/\n\nHarley Bird\nhttps://soundcloud.com/harleybird\nhttps://www.facebook.com/harleybirdmusic\nhttps://www.instagram.com/harleybird/\nhttps://twitter.com/harleybirdmusic\n\nM.I.M.E\nhttps://soundcloud.com/onlymime\nhttps://twitter.com/TheOnlyMime\nhttps://www.instagram.com/TheOnlyMime/\nhttps://www.facebook.com/TheOnlyMime/\n\nArtwork by David Paget\nhttps://www.artstation.com/artwork/1GgqX\nhttps://www.artstation.com/davepaget\nhttps://www.instagram.com/davepagetart/\nhttps://www.youtube.com/channel/UC-ZVBnCWmBOLmsjyiV9lfDg\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/\nSubmissions: https://www.submithub.com/blog/heroicmusic-valiant", "duration" => 209, "filename" => "/downloads/music/Valiant/@BarrenGates - S.O.S (ft. Harley Bird & M.I.M.E).m4a", "id" => "hY-yijB6CgE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hY-yijB6CgE", "playlist_index" => 30, "timestamp" => 1574677803, "title" => "@BarrenGates - S.O.S (ft. Harley Bird & M.I.M.E)", "upload_date" => "20191125"} 09:45:05.036 [debug] QUERY OK source="sources" db=0.3ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:05.036 [debug] QUERY OK source="sources" db=0.1ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:05.037 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-11-25 10:30:03Z], 1] 09:45:05.041 [debug] QUERY OK source="media_items" db=3.3ms idle=1003.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The hype man is back!\n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Barren Gates - S.O.S (ft. Harley Bird & M.I.M.E)\nhttps://fanlink.to/s-o-s\n\nBarren Gates\nhttps://soundcloud.com/barrengates\nhttps://www.instagram.com/barrengates/\nhttps://www.facebook.com/BarrenGates/\n\nHarley Bird\nhttps://soundcloud.com/harleybird\nhttps://www.facebook.com/harleybirdmusic\nhttps://www.instagram.com/harleybird/\nhttps://twitter.com/harleybirdmusic\n\nM.I.M.E\nhttps://soundcloud.com/onlymime\nhttps://twitter.com/TheOnlyMime\nhttps://www.instagram.com/TheOnlyMime/\nhttps://www.facebook.com/TheOnlyMime/\n\nArtwork by David Paget\nhttps://www.artstation.com/artwork/1GgqX\nhttps://www.artstation.com/davepaget\nhttps://www.instagram.com/davepagetart/\nhttps://www.youtube.com/channel/UC-ZVBnCWmBOLmsjyiV9lfDg\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/\nSubmissions: https://www.submithub.com/blog/heroicmusic-valiant", "@BarrenGates - S.O.S (ft. Harley Bird & M.I.M.E)", "b886f66e-7bc0-4b76-925c-9340e87de349", 209, false, "hY-yijB6CgE", "https://www.youtube.com/watch?v=hY-yijB6CgE", 30, "/downloads/music/Valiant/@BarrenGates - S.O.S (ft. Harley Bird & M.I.M.E).m4a", false, false, false, 1, [], 1, ~U[2019-11-25 10:30:03Z], ~U[2026-09-16 09:45:05Z], ~U[2026-09-16 09:45:05Z], "The hype man is back!\n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Barren Gates - S.O.S (ft. Harley Bird & M.I.M.E)\nhttps://fanlink.to/s-o-s\n\nBarren Gates\nhttps://soundcloud.com/barrengates\nhttps://www.instagram.com/barrengates/\nhttps://www.facebook.com/BarrenGates/\n\nHarley Bird\nhttps://soundcloud.com/harleybird\nhttps://www.facebook.com/harleybirdmusic\nhttps://www.instagram.com/harleybird/\nhttps://twitter.com/harleybirdmusic\n\nM.I.M.E\nhttps://soundcloud.com/onlymime\nhttps://twitter.com/TheOnlyMime\nhttps://www.instagram.com/TheOnlyMime/\nhttps://www.facebook.com/TheOnlyMime/\n\nArtwork by David Paget\nhttps://www.artstation.com/artwork/1GgqX\nhttps://www.artstation.com/davepaget\nhttps://www.instagram.com/davepagetart/\nhttps://www.youtube.com/channel/UC-ZVBnCWmBOLmsjyiV9lfDg\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/\nSubmissions: https://www.submithub.com/blog/heroicmusic-valiant", "@BarrenGates - S.O.S (ft. Harley Bird & M.I.M.E)", 209, false, "hY-yijB6CgE", "https://www.youtube.com/watch?v=hY-yijB6CgE", "/downloads/music/Valiant/@BarrenGates - S.O.S (ft. Harley Bird & M.I.M.E).m4a", false, 1, ~U[2019-11-25 10:30:03Z]] 09:45:05.041 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=850.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:05.042 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:05.042 [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 [41] 09:45:05.042 [debug] Current batch of media processed. Will check again in 1000ms 09:45:06.043 [debug] Current batch of media processed. Will check again in 1000ms 09:45:07.044 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "An Amy Winehouse cover done right\n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Besomorph, N3WPORT & Elijah Hill - Back to Black (feat. RIELL)\nhttps://fanlink.to/backtoblack\n\nBesomorph\nhttps://soundcloud.com/Besomorph/\nhttps://www.facebook.com/Besomorph\nhttps://twitter.com/Besomorph\nhttps://www.instagram.com/Besomorph/\n\nN3WPORT\nhttps://soundcloud.com/n3wp0rt\nhttps://www.facebook.com/N3wportOffic...\nhttps://twitter.com/N3wportMusic\nhttps://www.instagram.com/n3wportmusic/\n\nElijah Hill\nhttps://soundcloud.com/elijahhill\nhttps://www.facebook.com/elijahhillmu...\nhttps://twitter.com/_Elijah_Hill\nhttps://www.instagram.com/elijahhill/\n\nRIELL\nhttps://soundcloud.com/iamriell/\nhttps://www.facebook.com/iamRIELL/\nhttps://www.instagram.com/iamriell/\n\nArtwork by Zeen Chin\nhttps://www.artstation.com/artwork/lVqO3e\nhttps://www.artstation.com/zeen\nhttps://www.instagram.com/zeenchin/\nhttps://www.facebook.com/Zeen.Chin\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/", "duration" => 189, "filename" => "/downloads/music/Valiant/Besomorph, N3WPORT & Elijah Hill - Back to Black (feat. RIELL).m4a", "id" => "TkevKzcSkhU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TkevKzcSkhU", "playlist_index" => 31, "timestamp" => 1574168257, "title" => "Besomorph, N3WPORT & Elijah Hill - Back to Black (feat. RIELL)", "upload_date" => "20191119"} 09:45:07.044 [debug] QUERY OK source="sources" db=0.2ms idle=850.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:07.045 [debug] QUERY OK source="sources" db=0.1ms idle=708.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:07.045 [debug] QUERY OK source="media_items" db=0.3ms idle=709.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-11-19 12:57:37Z], 1] 09:45:07.050 [debug] QUERY OK source="media_items" db=4.2ms idle=709.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["An Amy Winehouse cover done right\n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Besomorph, N3WPORT & Elijah Hill - Back to Black (feat. RIELL)\nhttps://fanlink.to/backtoblack\n\nBesomorph\nhttps://soundcloud.com/Besomorph/\nhttps://www.facebook.com/Besomorph\nhttps://twitter.com/Besomorph\nhttps://www.instagram.com/Besomorph/\n\nN3WPORT\nhttps://soundcloud.com/n3wp0rt\nhttps://www.facebook.com/N3wportOffic...\nhttps://twitter.com/N3wportMusic\nhttps://www.instagram.com/n3wportmusic/\n\nElijah Hill\nhttps://soundcloud.com/elijahhill\nhttps://www.facebook.com/elijahhillmu...\nhttps://twitter.com/_Elijah_Hill\nhttps://www.instagram.com/elijahhill/\n\nRIELL\nhttps://soundcloud.com/iamriell/\nhttps://www.facebook.com/iamRIELL/\nhttps://www.instagram.com/iamriell/\n\nArtwork by Zeen Chin\nhttps://www.artstation.com/artwork/lVqO3e\nhttps://www.artstation.com/zeen\nhttps://www.instagram.com/zeenchin/\nhttps://www.facebook.com/Zeen.Chin\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/", "Besomorph, N3WPORT & Elijah Hill - Back to Black (feat. RIELL)", "b723600f-9aa0-42c5-8f6d-e53781f14018", 189, false, "TkevKzcSkhU", "https://www.youtube.com/watch?v=TkevKzcSkhU", 31, "/downloads/music/Valiant/Besomorph, N3WPORT & Elijah Hill - Back to Black (feat. RIELL).m4a", false, false, false, 1, [], 1, ~U[2019-11-19 12:57:37Z], ~U[2026-09-16 09:45:07Z], ~U[2026-09-16 09:45:07Z], "An Amy Winehouse cover done right\n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Besomorph, N3WPORT & Elijah Hill - Back to Black (feat. RIELL)\nhttps://fanlink.to/backtoblack\n\nBesomorph\nhttps://soundcloud.com/Besomorph/\nhttps://www.facebook.com/Besomorph\nhttps://twitter.com/Besomorph\nhttps://www.instagram.com/Besomorph/\n\nN3WPORT\nhttps://soundcloud.com/n3wp0rt\nhttps://www.facebook.com/N3wportOffic...\nhttps://twitter.com/N3wportMusic\nhttps://www.instagram.com/n3wportmusic/\n\nElijah Hill\nhttps://soundcloud.com/elijahhill\nhttps://www.facebook.com/elijahhillmu...\nhttps://twitter.com/_Elijah_Hill\nhttps://www.instagram.com/elijahhill/\n\nRIELL\nhttps://soundcloud.com/iamriell/\nhttps://www.facebook.com/iamRIELL/\nhttps://www.instagram.com/iamriell/\n\nArtwork by Zeen Chin\nhttps://www.artstation.com/artwork/lVqO3e\nhttps://www.artstation.com/zeen\nhttps://www.instagram.com/zeenchin/\nhttps://www.facebook.com/Zeen.Chin\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/", "Besomorph, N3WPORT & Elijah Hill - Back to Black (feat. RIELL)", 189, false, "TkevKzcSkhU", "https://www.youtube.com/watch?v=TkevKzcSkhU", "/downloads/music/Valiant/Besomorph, N3WPORT & Elijah Hill - Back to Black (feat. RIELL).m4a", false, 1, ~U[2019-11-19 12:57:37Z]] 09:45:07.051 [debug] QUERY OK source="sources" db=0.2ms idle=714.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:07.051 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:07.052 [debug] QUERY OK source="media_items" db=0.3ms idle=6.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [43] 09:45:07.052 [debug] Current batch of media processed. Will check again in 1000ms 09:45:08.053 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "underrated song by alicks - aden\n\n\nSong: https://open.spotify.com/track/3I0eQWa6B7yXnvaRbo22bM?si=YY7GrmaeSvuwxehHAcz-gA\nSpotify Playlist: https://open.spotify.com/user/animevibe_/playlist/5Jmtc9Yh9wa2Wl6kJpY7e3?si=OFTpOFdfQP2OIa33PdoEiA\n\n\nArtists:\nhttps://soundcloud.com/alicks14\nhttps://open.spotify.com/artist/60J5TDNg9Xxp9zxDXpBOjM?si=0UF8PgMfSbq4_IE_4MRnTg\nhttps://www.instagram.com/alex_is_ok/\n\n\n\nYouTube Playlists:\nChill Vibes - https://www.youtube.com/watch?v=0yzZhPufmCU&list=PL-9AI1-of8cssTnCNbks_v0PY0fPljx7T \nNaruto Vibes - https://www.youtube.com/watch?v=UJ4ueyS4pqA&list=PL-9AI1-of8csH6z0W-l90GV2T4ZM7tjXM\n\n\nAnime: tokyo ghoul\n\n\nMerch:\nPoster & Stickers: https://teespring.com/stores/avapparel\nApparel: https://avrecords.co/apparel/\nVibes Apparel: http://vibesapparel.net\n\n\n\nChill Squad - https://www.youtube.com/channel/UCdvdopWuQpHjpvuG3i3nr4Q \nSoundCloud - https://soundcloud.com/animevibe\nikigai - https://www.youtube.com/channel/UCwpkceoj8LqJetYfgOzLLfg\nMusic Submissions - http://avrecords.co\nDiscord Server (open): https://discord.gg/wYxQuEh\n\n\nSocial media:\nAden’s Twitter: https://twitter.com/AnimeVibe_\nAden’s Insta: https://www.instagram.com/avkhan_\nDK's Twitter: https://twitter.com/Animevibe_dk\nTwitch: http://www.twitch.tv/animevibe_\n\n\nDisclaimer*\nIf you have a problem with our way of promotion, shoot us an email and we will take the video down if needed. AnimeVibe2014@gmail.com", "duration" => 198, "filename" => "/downloads/music/AnimeVibe/Alicks - starving.m4a", "id" => "Pu_NuE60W5E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Pu_NuE60W5E", "playlist_index" => 32, "timestamp" => 1572915626, "title" => "Alicks - starving", "upload_date" => "20191105"} 09:45:08.054 [debug] QUERY OK source="sources" db=0.4ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:08.055 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:08.056 [debug] QUERY OK source="media_items" db=0.5ms idle=1003.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-11-05 01:00:26Z], 1] 09:45:08.061 [debug] QUERY OK source="media_items" db=4.4ms idle=1003.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["underrated song by alicks - aden\n\n\nSong: https://open.spotify.com/track/3I0eQWa6B7yXnvaRbo22bM?si=YY7GrmaeSvuwxehHAcz-gA\nSpotify Playlist: https://open.spotify.com/user/animevibe_/playlist/5Jmtc9Yh9wa2Wl6kJpY7e3?si=OFTpOFdfQP2OIa33PdoEiA\n\n\nArtists:\nhttps://soundcloud.com/alicks14\nhttps://open.spotify.com/artist/60J5TDNg9Xxp9zxDXpBOjM?si=0UF8PgMfSbq4_IE_4MRnTg\nhttps://www.instagram.com/alex_is_ok/\n\n\n\nYouTube Playlists:\nChill Vibes - https://www.youtube.com/watch?v=0yzZhPufmCU&list=PL-9AI1-of8cssTnCNbks_v0PY0fPljx7T \nNaruto Vibes - https://www.youtube.com/watch?v=UJ4ueyS4pqA&list=PL-9AI1-of8csH6z0W-l90GV2T4ZM7tjXM\n\n\nAnime: tokyo ghoul\n\n\nMerch:\nPoster & Stickers: https://teespring.com/stores/avapparel\nApparel: https://avrecords.co/apparel/\nVibes Apparel: http://vibesapparel.net\n\n\n\nChill Squad - https://www.youtube.com/channel/UCdvdopWuQpHjpvuG3i3nr4Q \nSoundCloud - https://soundcloud.com/animevibe\nikigai - https://www.youtube.com/channel/UCwpkceoj8LqJetYfgOzLLfg\nMusic Submissions - http://avrecords.co\nDiscord Server (open): https://discord.gg/wYxQuEh\n\n\nSocial media:\nAden’s Twitter: https://twitter.com/AnimeVibe_\nAden’s Insta: https://www.instagram.com/avkhan_\nDK's Twitter: https://twitter.com/Animevibe_dk\nTwitch: http://www.twitch.tv/animevibe_\n\n\nDisclaimer*\nIf you have a problem with our way of promotion, shoot us an email and we will take the video down if needed. AnimeVibe2014@gmail.com", "Alicks - starving", "57f26d79-4ef6-4c9f-8cc9-dc7d16122e8e", 198, false, "Pu_NuE60W5E", "https://www.youtube.com/watch?v=Pu_NuE60W5E", 32, "/downloads/music/AnimeVibe/Alicks - starving.m4a", false, false, false, 1, [], 1, ~U[2019-11-05 01:00:26Z], ~U[2026-09-16 09:45:08Z], ~U[2026-09-16 09:45:08Z], "underrated song by alicks - aden\n\n\nSong: https://open.spotify.com/track/3I0eQWa6B7yXnvaRbo22bM?si=YY7GrmaeSvuwxehHAcz-gA\nSpotify Playlist: https://open.spotify.com/user/animevibe_/playlist/5Jmtc9Yh9wa2Wl6kJpY7e3?si=OFTpOFdfQP2OIa33PdoEiA\n\n\nArtists:\nhttps://soundcloud.com/alicks14\nhttps://open.spotify.com/artist/60J5TDNg9Xxp9zxDXpBOjM?si=0UF8PgMfSbq4_IE_4MRnTg\nhttps://www.instagram.com/alex_is_ok/\n\n\n\nYouTube Playlists:\nChill Vibes - https://www.youtube.com/watch?v=0yzZhPufmCU&list=PL-9AI1-of8cssTnCNbks_v0PY0fPljx7T \nNaruto Vibes - https://www.youtube.com/watch?v=UJ4ueyS4pqA&list=PL-9AI1-of8csH6z0W-l90GV2T4ZM7tjXM\n\n\nAnime: tokyo ghoul\n\n\nMerch:\nPoster & Stickers: https://teespring.com/stores/avapparel\nApparel: https://avrecords.co/apparel/\nVibes Apparel: http://vibesapparel.net\n\n\n\nChill Squad - https://www.youtube.com/channel/UCdvdopWuQpHjpvuG3i3nr4Q \nSoundCloud - https://soundcloud.com/animevibe\nikigai - https://www.youtube.com/channel/UCwpkceoj8LqJetYfgOzLLfg\nMusic Submissions - http://avrecords.co\nDiscord Server (open): https://discord.gg/wYxQuEh\n\n\nSocial media:\nAden’s Twitter: https://twitter.com/AnimeVibe_\nAden’s Insta: https://www.instagram.com/avkhan_\nDK's Twitter: https://twitter.com/Animevibe_dk\nTwitch: http://www.twitch.tv/animevibe_\n\n\nDisclaimer*\nIf you have a problem with our way of promotion, shoot us an email and we will take the video down if needed. AnimeVibe2014@gmail.com", "Alicks - starving", 198, false, "Pu_NuE60W5E", "https://www.youtube.com/watch?v=Pu_NuE60W5E", "/downloads/music/AnimeVibe/Alicks - starving.m4a", false, 1, ~U[2019-11-05 01:00:26Z]] 09:45:08.061 [debug] QUERY OK source="sources" db=0.2ms idle=866.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:08.062 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=7.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:08.063 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms 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 [44] 09:45:08.063 [debug] Current batch of media processed. Will check again in 1000ms 09:45:09.064 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "i feel brand new\n\nlisten on spotify\nhttps://open.spotify.com/track/5DFbqevvFa6H9DdusZQxbO?si=KGJ_fcU6SpK5Xrnf6ueqCA\n\nkhai dreams\nhttps://soundcloud.com/khaidreams\nhttps://open.spotify.com/artist/0lawSNBxNgJFQYJnQzLH8c\nhttps://twitter.com/khaidreams\nhttps://www.instagram.com/khai_dreams\n\nAmbition\nhttps://twitter.com/ambitionyt\nhttps://www.instagram.com/ambitionyt\nhttps://soundcloud.com/ambition-beats\n\nArtwork by 11.10\nhttps://www.instagram.com/11.10ml\nhttps://twitter.com/grapefruitsoju\nhttps://www.inprnt.com/gallery/1110", "duration" => 172, "filename" => "/downloads/music/Ambition/khai dreams - brand new.m4a", "id" => "Hii_YBiCByA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Hii_YBiCByA", "playlist_index" => 33, "timestamp" => 1572292808, "title" => "khai dreams - brand new", "upload_date" => "20191028"} 09:45:09.065 [debug] QUERY OK source="sources" db=0.5ms idle=1003.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:09.066 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1003.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:09.067 [debug] QUERY OK source="media_items" db=0.5ms idle=1003.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-10-28 20:00:08Z], 1] 09:45:09.068 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=1004.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["i feel brand new\n\nlisten on spotify\nhttps://open.spotify.com/track/5DFbqevvFa6H9DdusZQxbO?si=KGJ_fcU6SpK5Xrnf6ueqCA\n\nkhai dreams\nhttps://soundcloud.com/khaidreams\nhttps://open.spotify.com/artist/0lawSNBxNgJFQYJnQzLH8c\nhttps://twitter.com/khaidreams\nhttps://www.instagram.com/khai_dreams\n\nAmbition\nhttps://twitter.com/ambitionyt\nhttps://www.instagram.com/ambitionyt\nhttps://soundcloud.com/ambition-beats\n\nArtwork by 11.10\nhttps://www.instagram.com/11.10ml\nhttps://twitter.com/grapefruitsoju\nhttps://www.inprnt.com/gallery/1110", "khai dreams - brand new", "f4b343af-9d9c-4253-b1ad-fa157e785fe5", 172, false, "Hii_YBiCByA", "https://www.youtube.com/watch?v=Hii_YBiCByA", 33, "/downloads/music/Ambition/khai dreams - brand new.m4a", false, false, false, 1, [], 1, ~U[2019-10-28 20:00:08Z], ~U[2026-09-16 09:45:09Z], ~U[2026-09-16 09:45:09Z], "i feel brand new\n\nlisten on spotify\nhttps://open.spotify.com/track/5DFbqevvFa6H9DdusZQxbO?si=KGJ_fcU6SpK5Xrnf6ueqCA\n\nkhai dreams\nhttps://soundcloud.com/khaidreams\nhttps://open.spotify.com/artist/0lawSNBxNgJFQYJnQzLH8c\nhttps://twitter.com/khaidreams\nhttps://www.instagram.com/khai_dreams\n\nAmbition\nhttps://twitter.com/ambitionyt\nhttps://www.instagram.com/ambitionyt\nhttps://soundcloud.com/ambition-beats\n\nArtwork by 11.10\nhttps://www.instagram.com/11.10ml\nhttps://twitter.com/grapefruitsoju\nhttps://www.inprnt.com/gallery/1110", "khai dreams - brand new", 172, false, "Hii_YBiCByA", "https://www.youtube.com/watch?v=Hii_YBiCByA", "/downloads/music/Ambition/khai dreams - brand new.m4a", false, 1, ~U[2019-10-28 20:00:08Z]] 09:45:09.069 [debug] QUERY OK source="sources" db=0.1ms idle=873.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:09.069 [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] 09:45:09.070 [debug] QUERY OK source="media_items" db=0.3ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [46] 09:45:09.070 [debug] Current batch of media processed. Will check again in 1000ms 09:45:10.071 [debug] Current batch of media processed. Will check again in 1000ms 09:45:11.072 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "R4ID\n\nhttps://instagram.com/r4id_tv?igshid=25ojrxrkorn1\nhttps://soundcloud.com/lukezimm/underground \n\nCHECK OUT OUR STORE https://trash.clothing\nTRASH Official Spotify Playlists: https://open.spotify.com/playlist/2rkYXIAACgmzYFcm4cJJwF\n\n\nANIME: bobs burgers \n\nTRXSH GXNG\n---------------------------------------------------------------------------------\nTRASH 新 ドラゴン - \n😈 SHOP - https://trash.clothing/\n😈 IG: https://www.instagram.com/trashgang\n😈 DC - https://discord.gg/m68QC4f\n😈 FB - https://facebook.com/youre.here.on.purpose\n😈 VK - https://vk.com/bornoflegend\n😈 T: https://twitter.com/garbageclub\n---------------------------------------------------------------------------------\nif you have anything you want to show us, work with us, share your ideas, videos, art, contact us here:\nhttps://www.trash-gang.com/info-contact", "duration" => 128, "filename" => "/downloads/music/TRASH 新 ドラゴン/R4ID - Underground.m4a", "id" => "enyGHIEwqY4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=enyGHIEwqY4", "playlist_index" => 34, "timestamp" => 1591034743, "title" => "R4ID - Underground", "upload_date" => "20200601"} 09:45:11.072 [debug] QUERY OK source="sources" db=0.2ms 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 (?)) [1] 09:45:11.073 [debug] QUERY OK source="sources" db=0.1ms idle=736.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:11.073 [debug] QUERY OK source="media_items" db=0.3ms idle=737.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-06-01 18:05:43Z], 1] 09:45:11.075 [debug] QUERY OK source="media_items" db=0.9ms idle=737.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["R4ID\n\nhttps://instagram.com/r4id_tv?igshid=25ojrxrkorn1\nhttps://soundcloud.com/lukezimm/underground \n\nCHECK OUT OUR STORE https://trash.clothing\nTRASH Official Spotify Playlists: https://open.spotify.com/playlist/2rkYXIAACgmzYFcm4cJJwF\n\n\nANIME: bobs burgers \n\nTRXSH GXNG\n---------------------------------------------------------------------------------\nTRASH 新 ドラゴン - \n😈 SHOP - https://trash.clothing/\n😈 IG: https://www.instagram.com/trashgang\n😈 DC - https://discord.gg/m68QC4f\n😈 FB - https://facebook.com/youre.here.on.purpose\n😈 VK - https://vk.com/bornoflegend\n😈 T: https://twitter.com/garbageclub\n---------------------------------------------------------------------------------\nif you have anything you want to show us, work with us, share your ideas, videos, art, contact us here:\nhttps://www.trash-gang.com/info-contact", "R4ID - Underground", "5e4baa6d-9e1e-46ff-81b5-53ef1aafea19", 128, false, "enyGHIEwqY4", "https://www.youtube.com/watch?v=enyGHIEwqY4", 34, "/downloads/music/TRASH 新 ドラゴン/R4ID - Underground.m4a", false, false, false, 1, [], 1, ~U[2020-06-01 18:05:43Z], ~U[2026-09-16 09:45:11Z], ~U[2026-09-16 09:45:11Z], "R4ID\n\nhttps://instagram.com/r4id_tv?igshid=25ojrxrkorn1\nhttps://soundcloud.com/lukezimm/underground \n\nCHECK OUT OUR STORE https://trash.clothing\nTRASH Official Spotify Playlists: https://open.spotify.com/playlist/2rkYXIAACgmzYFcm4cJJwF\n\n\nANIME: bobs burgers \n\nTRXSH GXNG\n---------------------------------------------------------------------------------\nTRASH 新 ドラゴン - \n😈 SHOP - https://trash.clothing/\n😈 IG: https://www.instagram.com/trashgang\n😈 DC - https://discord.gg/m68QC4f\n😈 FB - https://facebook.com/youre.here.on.purpose\n😈 VK - https://vk.com/bornoflegend\n😈 T: https://twitter.com/garbageclub\n---------------------------------------------------------------------------------\nif you have anything you want to show us, work with us, share your ideas, videos, art, contact us here:\nhttps://www.trash-gang.com/info-contact", "R4ID - Underground", 128, false, "enyGHIEwqY4", "https://www.youtube.com/watch?v=enyGHIEwqY4", "/downloads/music/TRASH 新 ドラゴン/R4ID - Underground.m4a", false, 1, ~U[2020-06-01 18:05:43Z]] 09:45:11.075 [debug] QUERY OK source="sources" db=0.1ms idle=739.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:11.076 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:11.076 [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 [49] 09:45:11.076 [debug] Current batch of media processed. Will check again in 1000ms 09:45:12.077 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "such a sick remix from flashboy. make sure to subscribe to his channel! - aden\n\n\nSong: https://www.youtube.com/watch?v=-4R0WCWOzv0\nSpotify Playlist: https://open.spotify.com/user/animevibe_/playlist/5Jmtc9Yh9wa2Wl6kJpY7e3?si=OFTpOFdfQP2OIa33PdoEiA\n\n\nArtists:\nhttps://www.youtube.com/channel/UCNILZRzXydTQ2gcg0GJsdEQ\nhttps://www.instagram.com/flashboy.mp4/\nhttps://twitter.com/WilyDeColombie\n\n\nYouTube Playlists:\nChill Vibes - https://www.youtube.com/watch?v=0yzZhPufmCU&list=PL-9AI1-of8cssTnCNbks_v0PY0fPljx7T \nNaruto Vibes - https://www.youtube.com/watch?v=UJ4ueyS4pqA&list=PL-9AI1-of8csH6z0W-l90GV2T4ZM7tjXM\n\n\nAnime: naruto\n\n\nMerch:\nPoster & Stickers: https://teespring.com/stores/avapparel\nApparel: https://avrecords.co/apparel/\nVibes Apparel: http://vibesapparel.net\n\n\n\nChill Squad - https://www.youtube.com/channel/UCdvdopWuQpHjpvuG3i3nr4Q \nSoundCloud - https://soundcloud.com/animevibe\nikigai - https://www.youtube.com/channel/UCwpkceoj8LqJetYfgOzLLfg\nMusic Submissions - http://avrecords.co\nDiscord Server (open): https://discord.gg/wYxQuEh\n\n\nSocial media:\nAden’s Twitter: https://twitter.com/AnimeVibe_\nAden’s Insta: https://www.instagram.com/avkhan_\nDK's Twitter: https://twitter.com/Animevibe_dk\nTwitch: http://www.twitch.tv/animevibe_\n\n\nDisclaimer*\nIf you have a problem with our way of promotion, shoot us an email and we will take the video down if needed. AnimeVibe2014@gmail.com", "duration" => 159, "filename" => "/downloads/music/AnimeVibe/Flashboy - Sharingan (Naruto remix).m4a", "id" => "-WhU5nfpE2Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-WhU5nfpE2Q", "playlist_index" => 35, "timestamp" => 1571682303, "title" => "Flashboy - Sharingan (Naruto remix)", "upload_date" => "20191021"} 09:45:12.078 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=1002.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:12.079 [debug] QUERY OK source="sources" db=0.2ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:12.080 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=1003.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-10-21 18:25:03Z], 1] 09:45:12.086 [debug] QUERY OK source="media_items" db=4.6ms idle=1004.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["such a sick remix from flashboy. make sure to subscribe to his channel! - aden\n\n\nSong: https://www.youtube.com/watch?v=-4R0WCWOzv0\nSpotify Playlist: https://open.spotify.com/user/animevibe_/playlist/5Jmtc9Yh9wa2Wl6kJpY7e3?si=OFTpOFdfQP2OIa33PdoEiA\n\n\nArtists:\nhttps://www.youtube.com/channel/UCNILZRzXydTQ2gcg0GJsdEQ\nhttps://www.instagram.com/flashboy.mp4/\nhttps://twitter.com/WilyDeColombie\n\n\nYouTube Playlists:\nChill Vibes - https://www.youtube.com/watch?v=0yzZhPufmCU&list=PL-9AI1-of8cssTnCNbks_v0PY0fPljx7T \nNaruto Vibes - https://www.youtube.com/watch?v=UJ4ueyS4pqA&list=PL-9AI1-of8csH6z0W-l90GV2T4ZM7tjXM\n\n\nAnime: naruto\n\n\nMerch:\nPoster & Stickers: https://teespring.com/stores/avapparel\nApparel: https://avrecords.co/apparel/\nVibes Apparel: http://vibesapparel.net\n\n\n\nChill Squad - https://www.youtube.com/channel/UCdvdopWuQpHjpvuG3i3nr4Q \nSoundCloud - https://soundcloud.com/animevibe\nikigai - https://www.youtube.com/channel/UCwpkceoj8LqJetYfgOzLLfg\nMusic Submissions - http://avrecords.co\nDiscord Server (open): https://discord.gg/wYxQuEh\n\n\nSocial media:\nAden’s Twitter: https://twitter.com/AnimeVibe_\nAden’s Insta: https://www.instagram.com/avkhan_\nDK's Twitter: https://twitter.com/Animevibe_dk\nTwitch: http://www.twitch.tv/animevibe_\n\n\nDisclaimer*\nIf you have a problem with our way of promotion, shoot us an email and we will take the video down if needed. AnimeVibe2014@gmail.com", "Flashboy - Sharingan (Naruto remix)", "f1d82a68-4a83-4df2-b104-a5335fecb461", 159, false, "-WhU5nfpE2Q", "https://www.youtube.com/watch?v=-WhU5nfpE2Q", 35, "/downloads/music/AnimeVibe/Flashboy - Sharingan (Naruto remix).m4a", false, false, false, 1, [], 1, ~U[2019-10-21 18:25:03Z], ~U[2026-09-16 09:45:12Z], ~U[2026-09-16 09:45:12Z], "such a sick remix from flashboy. make sure to subscribe to his channel! - aden\n\n\nSong: https://www.youtube.com/watch?v=-4R0WCWOzv0\nSpotify Playlist: https://open.spotify.com/user/animevibe_/playlist/5Jmtc9Yh9wa2Wl6kJpY7e3?si=OFTpOFdfQP2OIa33PdoEiA\n\n\nArtists:\nhttps://www.youtube.com/channel/UCNILZRzXydTQ2gcg0GJsdEQ\nhttps://www.instagram.com/flashboy.mp4/\nhttps://twitter.com/WilyDeColombie\n\n\nYouTube Playlists:\nChill Vibes - https://www.youtube.com/watch?v=0yzZhPufmCU&list=PL-9AI1-of8cssTnCNbks_v0PY0fPljx7T \nNaruto Vibes - https://www.youtube.com/watch?v=UJ4ueyS4pqA&list=PL-9AI1-of8csH6z0W-l90GV2T4ZM7tjXM\n\n\nAnime: naruto\n\n\nMerch:\nPoster & Stickers: https://teespring.com/stores/avapparel\nApparel: https://avrecords.co/apparel/\nVibes Apparel: http://vibesapparel.net\n\n\n\nChill Squad - https://www.youtube.com/channel/UCdvdopWuQpHjpvuG3i3nr4Q \nSoundCloud - https://soundcloud.com/animevibe\nikigai - https://www.youtube.com/channel/UCwpkceoj8LqJetYfgOzLLfg\nMusic Submissions - http://avrecords.co\nDiscord Server (open): https://discord.gg/wYxQuEh\n\n\nSocial media:\nAden’s Twitter: https://twitter.com/AnimeVibe_\nAden’s Insta: https://www.instagram.com/avkhan_\nDK's Twitter: https://twitter.com/Animevibe_dk\nTwitch: http://www.twitch.tv/animevibe_\n\n\nDisclaimer*\nIf you have a problem with our way of promotion, shoot us an email and we will take the video down if needed. AnimeVibe2014@gmail.com", "Flashboy - Sharingan (Naruto remix)", 159, false, "-WhU5nfpE2Q", "https://www.youtube.com/watch?v=-WhU5nfpE2Q", "/downloads/music/AnimeVibe/Flashboy - Sharingan (Naruto remix).m4a", false, 1, ~U[2019-10-21 18:25:03Z]] 09:45:12.086 [debug] QUERY OK source="sources" db=0.2ms idle=887.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:12.087 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:12.087 [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 [64] 09:45:12.087 [debug] Current batch of media processed. Will check again in 1000ms 09:45:13.088 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "stay with me, be my everlasting fantasy \n🎧 Lofi/Chill Beats 🎧\n\nMore music from Teqkoi - http://bit.do/teqkoi\n\nTeqkoi\nhttps://soundcloud.com/teqkoi\nhttps://twitter.com/Teqkoi\nhttps://www.instagram.com/teqkoi/\nhttps://open.spotify.com/artist/6fOKLk8GmQ8xKogCRuuAwD\n\nMouse\nhttps://soundcloud.com/mouseny\nhttps://www.instagram.com/mouse.ny/\nhttps://open.spotify.com/artist/2JtZvv1C9frPmImiqseKVg\n\n💜 bootleg 💜\nsoundcloud - https://soundcloud.com/dabootlegboy\ntwitter - https://twitter.com/thebootlegboy\ninstagram - https://instagram.com/thebootlegboy\nspotify - https://bootlegboy.lnk.to/spotify\n*NEW MERCH* - http://www.thebootlegboy.com/\n\n💕Subscribe for more vibes like this 💕", "duration" => 113, "filename" => "/downloads/music/the bootleg boy/Teqkoi - Stay With Me (ft. Mouse).m4a", "id" => "-wTtTTAwMz8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-wTtTTAwMz8", "playlist_index" => 36, "timestamp" => 1554328800, "title" => "Teqkoi - Stay With Me (ft. Mouse)", "upload_date" => "20190403"} 09:45:13.089 [debug] QUERY OK source="sources" db=0.2ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:13.089 [debug] QUERY OK source="sources" db=0.1ms idle=1002.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:13.090 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-04-03 22:00:00Z], 1] 09:45:13.091 [debug] QUERY OK source="media_items" db=0.9ms idle=1002.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["stay with me, be my everlasting fantasy \n🎧 Lofi/Chill Beats 🎧\n\nMore music from Teqkoi - http://bit.do/teqkoi\n\nTeqkoi\nhttps://soundcloud.com/teqkoi\nhttps://twitter.com/Teqkoi\nhttps://www.instagram.com/teqkoi/\nhttps://open.spotify.com/artist/6fOKLk8GmQ8xKogCRuuAwD\n\nMouse\nhttps://soundcloud.com/mouseny\nhttps://www.instagram.com/mouse.ny/\nhttps://open.spotify.com/artist/2JtZvv1C9frPmImiqseKVg\n\n💜 bootleg 💜\nsoundcloud - https://soundcloud.com/dabootlegboy\ntwitter - https://twitter.com/thebootlegboy\ninstagram - https://instagram.com/thebootlegboy\nspotify - https://bootlegboy.lnk.to/spotify\n*NEW MERCH* - http://www.thebootlegboy.com/\n\n💕Subscribe for more vibes like this 💕", "Teqkoi - Stay With Me (ft. Mouse)", "18103070-0c7f-4716-82ff-7f77d7ac5130", 113, false, "-wTtTTAwMz8", "https://www.youtube.com/watch?v=-wTtTTAwMz8", 36, "/downloads/music/the bootleg boy/Teqkoi - Stay With Me (ft. Mouse).m4a", false, false, false, 1, [], 1, ~U[2019-04-03 22:00:00Z], ~U[2026-09-16 09:45:13Z], ~U[2026-09-16 09:45:13Z], "stay with me, be my everlasting fantasy \n🎧 Lofi/Chill Beats 🎧\n\nMore music from Teqkoi - http://bit.do/teqkoi\n\nTeqkoi\nhttps://soundcloud.com/teqkoi\nhttps://twitter.com/Teqkoi\nhttps://www.instagram.com/teqkoi/\nhttps://open.spotify.com/artist/6fOKLk8GmQ8xKogCRuuAwD\n\nMouse\nhttps://soundcloud.com/mouseny\nhttps://www.instagram.com/mouse.ny/\nhttps://open.spotify.com/artist/2JtZvv1C9frPmImiqseKVg\n\n💜 bootleg 💜\nsoundcloud - https://soundcloud.com/dabootlegboy\ntwitter - https://twitter.com/thebootlegboy\ninstagram - https://instagram.com/thebootlegboy\nspotify - https://bootlegboy.lnk.to/spotify\n*NEW MERCH* - http://www.thebootlegboy.com/\n\n💕Subscribe for more vibes like this 💕", "Teqkoi - Stay With Me (ft. Mouse)", 113, false, "-wTtTTAwMz8", "https://www.youtube.com/watch?v=-wTtTTAwMz8", "/downloads/music/the bootleg boy/Teqkoi - Stay With Me (ft. Mouse).m4a", false, 1, ~U[2019-04-03 22:00:00Z]] 09:45:13.092 [debug] QUERY OK source="sources" db=0.2ms idle=890.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:13.092 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:13.093 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [65] 09:45:13.093 [debug] Current batch of media processed. Will check again in 1000ms 09:45:14.094 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Listen to 'you deserve better ' by sadeyes\n🎧 Lofi/Chill Beats 🎧\n\nsadeyes\nhttps://soundcloud.com/lilsadeyes\nhttps://twitter.com/lilxsadeyes\nhttps://www.instagram.com/lilxsadeyes/\nhttps://open.spotify.com/artist/5fj4oi7qHDoklvnnYmSBl0\n\nProduced by Ocean\nhttps://soundcloud.com/oceanonthebeat\nhttps://www.youtube.com/channel/UCpipAjo9fIhDMXOoo0Mm86Q\n\nFeaturing Dhan\nhttps://soundcloud.com/lenard-lomeda\n\n💜 bootleg 💜\nsoundcloud - https://soundcloud.com/dabootlegboy\ntwitter - https://twitter.com/thebootlegboy\ninstagram - https://instagram.com/thebootlegboy\nspotify - https://bootlegboy.lnk.to/spotify\n*NEW MERCH* - http://www.thebootlegboy.com/\n\n💕Subscribe for more vibes like this 💕", "duration" => 142, "filename" => "/downloads/music/the bootleg boy/sadeyes - you deserve better.m4a", "id" => "_u8QGaLXSzc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_u8QGaLXSzc", "playlist_index" => 37, "timestamp" => 1543014001, "title" => "sadeyes - you deserve better", "upload_date" => "20181123"} 09:45:14.095 [debug] QUERY OK source="sources" db=0.4ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:14.096 [debug] QUERY OK source="sources" db=0.5ms idle=1003.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:14.098 [debug] QUERY OK source="media_items" db=2.2ms idle=1003.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-11-23 23:00:01Z], 1] 09:45:14.101 [debug] QUERY OK source="media_items" db=1.7ms idle=1005.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Listen to 'you deserve better ' by sadeyes\n🎧 Lofi/Chill Beats 🎧\n\nsadeyes\nhttps://soundcloud.com/lilsadeyes\nhttps://twitter.com/lilxsadeyes\nhttps://www.instagram.com/lilxsadeyes/\nhttps://open.spotify.com/artist/5fj4oi7qHDoklvnnYmSBl0\n\nProduced by Ocean\nhttps://soundcloud.com/oceanonthebeat\nhttps://www.youtube.com/channel/UCpipAjo9fIhDMXOoo0Mm86Q\n\nFeaturing Dhan\nhttps://soundcloud.com/lenard-lomeda\n\n💜 bootleg 💜\nsoundcloud - https://soundcloud.com/dabootlegboy\ntwitter - https://twitter.com/thebootlegboy\ninstagram - https://instagram.com/thebootlegboy\nspotify - https://bootlegboy.lnk.to/spotify\n*NEW MERCH* - http://www.thebootlegboy.com/\n\n💕Subscribe for more vibes like this 💕", "sadeyes - you deserve better", "a0005ebf-dfc9-4e61-9031-4ac34895b96b", 142, false, "_u8QGaLXSzc", "https://www.youtube.com/watch?v=_u8QGaLXSzc", 37, "/downloads/music/the bootleg boy/sadeyes - you deserve better.m4a", false, false, false, 1, [], 2, ~U[2018-11-23 23:00:01Z], ~U[2026-09-16 09:45:14Z], ~U[2026-09-16 09:45:14Z], "Listen to 'you deserve better ' by sadeyes\n🎧 Lofi/Chill Beats 🎧\n\nsadeyes\nhttps://soundcloud.com/lilsadeyes\nhttps://twitter.com/lilxsadeyes\nhttps://www.instagram.com/lilxsadeyes/\nhttps://open.spotify.com/artist/5fj4oi7qHDoklvnnYmSBl0\n\nProduced by Ocean\nhttps://soundcloud.com/oceanonthebeat\nhttps://www.youtube.com/channel/UCpipAjo9fIhDMXOoo0Mm86Q\n\nFeaturing Dhan\nhttps://soundcloud.com/lenard-lomeda\n\n💜 bootleg 💜\nsoundcloud - https://soundcloud.com/dabootlegboy\ntwitter - https://twitter.com/thebootlegboy\ninstagram - https://instagram.com/thebootlegboy\nspotify - https://bootlegboy.lnk.to/spotify\n*NEW MERCH* - http://www.thebootlegboy.com/\n\n💕Subscribe for more vibes like this 💕", "sadeyes - you deserve better", 142, false, "_u8QGaLXSzc", "https://www.youtube.com/watch?v=_u8QGaLXSzc", "/downloads/music/the bootleg boy/sadeyes - you deserve better.m4a", false, 1, ~U[2018-11-23 23:00:01Z]] 09:45:14.101 [debug] QUERY OK source="sources" db=0.2ms idle=899.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:14.102 [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] 09:45:14.103 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [67] 09:45:14.103 [debug] Current batch of media processed. Will check again in 1000ms 09:45:15.104 [debug] Current batch of media processed. Will check again in 1000ms 09:45:16.105 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "GANGSTER GANG 24/7\nInstagram ➞ https://www.instagram.com/gangstergangmusic\nFacebook ➞ https://www.facebook.com/gangstergangmusic\nSoundcloud ➞ https://soundcloud.com/gangster_gang\n\nFollow Brennan Savage:\nTwitter: https://twitter.com/brennansavage\nSoundcloud: https://soundcloud.com/brennansavage\nInstagram: https://www.instagram.com/brennansavage\n\n-GG", "duration" => 128, "filename" => "/downloads/music/GANGSTER GANG/Brennan Savage - Bulletproof (Prod. by Wayste).m4a", "id" => "oVIL5J--A8k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oVIL5J--A8k", "playlist_index" => 38, "timestamp" => 1491743350, "title" => "Brennan Savage - Bulletproof (Prod. by Wayste)", "upload_date" => "20170409"} 09:45:16.106 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=901.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:16.107 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=770.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:16.108 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=771.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-04-09 13:09:10Z], 1] 09:45:16.111 [debug] QUERY OK source="media_items" db=1.2ms queue=0.2ms idle=773.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["GANGSTER GANG 24/7\nInstagram ➞ https://www.instagram.com/gangstergangmusic\nFacebook ➞ https://www.facebook.com/gangstergangmusic\nSoundcloud ➞ https://soundcloud.com/gangster_gang\n\nFollow Brennan Savage:\nTwitter: https://twitter.com/brennansavage\nSoundcloud: https://soundcloud.com/brennansavage\nInstagram: https://www.instagram.com/brennansavage\n\n-GG", "Brennan Savage - Bulletproof (Prod. by Wayste)", "d75a4499-f44a-4f83-b38c-d10bb575900f", 128, false, "oVIL5J--A8k", "https://www.youtube.com/watch?v=oVIL5J--A8k", 38, "/downloads/music/GANGSTER GANG/Brennan Savage - Bulletproof (Prod. by Wayste).m4a", false, false, false, 1, [], 1, ~U[2017-04-09 13:09:10Z], ~U[2026-09-16 09:45:16Z], ~U[2026-09-16 09:45:16Z], "GANGSTER GANG 24/7\nInstagram ➞ https://www.instagram.com/gangstergangmusic\nFacebook ➞ https://www.facebook.com/gangstergangmusic\nSoundcloud ➞ https://soundcloud.com/gangster_gang\n\nFollow Brennan Savage:\nTwitter: https://twitter.com/brennansavage\nSoundcloud: https://soundcloud.com/brennansavage\nInstagram: https://www.instagram.com/brennansavage\n\n-GG", "Brennan Savage - Bulletproof (Prod. by Wayste)", 128, false, "oVIL5J--A8k", "https://www.youtube.com/watch?v=oVIL5J--A8k", "/downloads/music/GANGSTER GANG/Brennan Savage - Bulletproof (Prod. by Wayste).m4a", false, 1, ~U[2017-04-09 13:09:10Z]] 09:45:16.113 [debug] QUERY OK source="sources" db=1.2ms idle=775.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:16.114 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 09:45:16.115 [debug] QUERY OK source="media_items" db=0.5ms 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 [69] 09:45:16.115 [debug] Current batch of media processed. Will check again in 1000ms 09:45:17.116 [debug] Current batch of media processed. Will check again in 1000ms 09:45:18.117 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "🔉SPOTIFY🔊\n\u202Ahttps://open.spotify.com/album/1TNSQd6eMYimM1hDfaPnM7?si=E6sSZKptR7e9LxvYpQQ-1g\u202C\n\n🎸APPLE MUSIC🎸\n\u202Ahttps://itunes.apple.com/de/album/flip-it-skip-it-single/1444854238\u202C\n\n☔️SOUNDCLOUD☔️\nhttps://soundcloud.com/user-710594825/master\n\n👻BEAT VON KIRA & THANI👻\nYoung Kira:\nhttps://www.youtube.com/channel/UCT8KO9xxmsGkFPk_FpES1Aw\nhttps://twitter.com/YoungKiraFlyboy\nThani: \nhttps://www.instagram.com/beatsbythani/\nhttps://twitter.com/BeatsByThani\n\n📝TWITTER📝 Meine Gedanken in 280 Zeichen: \n http://twitter.com/Taddl\n\n📸INSTAGRAM📸 Die Welt durch meine Augen:\nhttp://www.instagram.com/taddl\n\n👔CLOTHES👔 Selbstdesignte Klamotten:\nhttps://hydra-ccc.shop/\n\n🛠MASTER🛠\nby Volker “IDR“ Gebhardt", "duration" => 168, "filename" => "/downloads/music/TJ_bb/TJ_beastboy - FLiP iT⧸SKiP iT (beat by Young Kira & Thani).m4a", "id" => "XVK3M5P6MWI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XVK3M5P6MWI", "playlist_index" => 39, "timestamp" => 1542984986, "title" => "TJ_beastboy - FLiP iT/SKiP iT (beat by Young Kira & Thani)", "upload_date" => "20181123"} 09:45:18.117 [debug] QUERY OK source="sources" db=0.2ms idle=910.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:18.118 [debug] QUERY OK source="sources" db=0.3ms idle=781.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:18.119 [debug] QUERY OK source="media_items" db=0.9ms idle=782.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-11-23 14:56:26Z], 1] 09:45:18.122 [debug] QUERY OK source="media_items" db=1.6ms idle=783.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🔉SPOTIFY🔊\n\u202Ahttps://open.spotify.com/album/1TNSQd6eMYimM1hDfaPnM7?si=E6sSZKptR7e9LxvYpQQ-1g\u202C\n\n🎸APPLE MUSIC🎸\n\u202Ahttps://itunes.apple.com/de/album/flip-it-skip-it-single/1444854238\u202C\n\n☔️SOUNDCLOUD☔️\nhttps://soundcloud.com/user-710594825/master\n\n👻BEAT VON KIRA & THANI👻\nYoung Kira:\nhttps://www.youtube.com/channel/UCT8KO9xxmsGkFPk_FpES1Aw\nhttps://twitter.com/YoungKiraFlyboy\nThani: \nhttps://www.instagram.com/beatsbythani/\nhttps://twitter.com/BeatsByThani\n\n📝TWITTER📝 Meine Gedanken in 280 Zeichen: \n http://twitter.com/Taddl\n\n📸INSTAGRAM📸 Die Welt durch meine Augen:\nhttp://www.instagram.com/taddl\n\n👔CLOTHES👔 Selbstdesignte Klamotten:\nhttps://hydra-ccc.shop/\n\n🛠MASTER🛠\nby Volker “IDR“ Gebhardt", "TJ_beastboy - FLiP iT/SKiP iT (beat by Young Kira & Thani)", "76a9e0b6-44d7-469b-9cc2-169042b08047", 168, false, "XVK3M5P6MWI", "https://www.youtube.com/watch?v=XVK3M5P6MWI", 39, "/downloads/music/TJ_bb/TJ_beastboy - FLiP iT⧸SKiP iT (beat by Young Kira & Thani).m4a", false, false, false, 1, [], 2, ~U[2018-11-23 14:56:26Z], ~U[2026-09-16 09:45:18Z], ~U[2026-09-16 09:45:18Z], "🔉SPOTIFY🔊\n\u202Ahttps://open.spotify.com/album/1TNSQd6eMYimM1hDfaPnM7?si=E6sSZKptR7e9LxvYpQQ-1g\u202C\n\n🎸APPLE MUSIC🎸\n\u202Ahttps://itunes.apple.com/de/album/flip-it-skip-it-single/1444854238\u202C\n\n☔️SOUNDCLOUD☔️\nhttps://soundcloud.com/user-710594825/master\n\n👻BEAT VON KIRA & THANI👻\nYoung Kira:\nhttps://www.youtube.com/channel/UCT8KO9xxmsGkFPk_FpES1Aw\nhttps://twitter.com/YoungKiraFlyboy\nThani: \nhttps://www.instagram.com/beatsbythani/\nhttps://twitter.com/BeatsByThani\n\n📝TWITTER📝 Meine Gedanken in 280 Zeichen: \n http://twitter.com/Taddl\n\n📸INSTAGRAM📸 Die Welt durch meine Augen:\nhttp://www.instagram.com/taddl\n\n👔CLOTHES👔 Selbstdesignte Klamotten:\nhttps://hydra-ccc.shop/\n\n🛠MASTER🛠\nby Volker “IDR“ Gebhardt", "TJ_beastboy - FLiP iT/SKiP iT (beat by Young Kira & Thani)", 168, false, "XVK3M5P6MWI", "https://www.youtube.com/watch?v=XVK3M5P6MWI", "/downloads/music/TJ_bb/TJ_beastboy - FLiP iT⧸SKiP iT (beat by Young Kira & Thani).m4a", false, 1, ~U[2018-11-23 14:56:26Z]] 09:45:18.123 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=785.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:18.125 [debug] QUERY OK source="media_profiles" db=1.1ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:18.127 [debug] QUERY OK source="media_items" db=1.3ms 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 [71] 09:45:18.127 [debug] Current batch of media processed. Will check again in 1000ms 09:45:19.128 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "🎧 Buy/Stream: https://ffm.to/ayfear\n🎬 Tour Video: https://www.youtube.com/watch?v=aSJPVTIeteI\n\n\n🎶 Genre: Rap\n\n💽 Label: Lowly Palace\n\n\n👉 Arrested Youth:\nhttps://www.instagram.com/arrestedyouth_/\nhttps://www.facebook.com/ArrestedYouthMusic/\nhttps://twitter.com/arrestedyouth\nhttps://www.youtube.com/channel/UCu2JQCzlbhmtSJC30d4M9Lw\n\n\n👉 Lowly Palace:\nhttps://soundcloud.com/lowlypalace\nhttps://www.youtube.com/channel/UCbr_gpafjcwT_MjV6K3Nh5g\nhttps://www.facebook.com/LowlyPalace/\nhttps://twitter.com/lowlypalace\nhttps://www.instagram.com/lowly/\n\n\n⭐️ xKito Music:\nhttps://www.facebook.com/xKitoMusic\nhttps://twitter.com/xkito_music\nhttps://instagram.com/xkito.music/\nhttps://soundcloud.com/xkitomusic\nhttps://www.youtube.com/c/xKitoMusic\n\n\n📄 Submit your music to xKito:\nhttps://goo.gl/mQkm4u\n\n\n✏️Submit your artwork:\nYou like to draw and would like your art to be featured on an xKito Music Video? Submit it here →\nhttps://goo.gl/uKfWmj\n\n\n🖼 PICTURE: https://www.pixiv.net/member_illust.php?mode=medium&illust_id=65127221\n©Artwork by: NOPPO@ジャンルビッチ\nhttps://www.pixiv.net/member.php?id=950926\n\n\n❗️ Usage Policy:\n🚫 Please get in touch with the label for usage of this track in your Youtube videos.\n\n\n➖➖➖➖➖➖➖➖➖➖➖➖\n\nFor business inquiries and other issues please contact xkitomusic@gmail.com", "duration" => 186, "filename" => "/downloads/music/xKito Music/Arrested Youth - Mirrors.m4a", "id" => "VgZowkPGep8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VgZowkPGep8", "playlist_index" => 40, "timestamp" => 1539313088, "title" => "Arrested Youth - Mirrors", "upload_date" => "20181012"} 09:45:19.129 [debug] QUERY OK source="sources" db=0.3ms idle=1006.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:19.129 [debug] QUERY OK source="sources" db=0.3ms idle=1005.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:19.130 [debug] QUERY OK source="media_items" db=0.3ms idle=1004.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-10-12 02:58:08Z], 1] 09:45:19.132 [debug] QUERY OK source="media_items" db=1.2ms idle=1003.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎧 Buy/Stream: https://ffm.to/ayfear\n🎬 Tour Video: https://www.youtube.com/watch?v=aSJPVTIeteI\n\n\n🎶 Genre: Rap\n\n💽 Label: Lowly Palace\n\n\n👉 Arrested Youth:\nhttps://www.instagram.com/arrestedyouth_/\nhttps://www.facebook.com/ArrestedYouthMusic/\nhttps://twitter.com/arrestedyouth\nhttps://www.youtube.com/channel/UCu2JQCzlbhmtSJC30d4M9Lw\n\n\n👉 Lowly Palace:\nhttps://soundcloud.com/lowlypalace\nhttps://www.youtube.com/channel/UCbr_gpafjcwT_MjV6K3Nh5g\nhttps://www.facebook.com/LowlyPalace/\nhttps://twitter.com/lowlypalace\nhttps://www.instagram.com/lowly/\n\n\n⭐️ xKito Music:\nhttps://www.facebook.com/xKitoMusic\nhttps://twitter.com/xkito_music\nhttps://instagram.com/xkito.music/\nhttps://soundcloud.com/xkitomusic\nhttps://www.youtube.com/c/xKitoMusic\n\n\n📄 Submit your music to xKito:\nhttps://goo.gl/mQkm4u\n\n\n✏️Submit your artwork:\nYou like to draw and would like your art to be featured on an xKito Music Video? Submit it here →\nhttps://goo.gl/uKfWmj\n\n\n🖼 PICTURE: https://www.pixiv.net/member_illust.php?mode=medium&illust_id=65127221\n©Artwork by: NOPPO@ジャンルビッチ\nhttps://www.pixiv.net/member.php?id=950926\n\n\n❗️ Usage Policy:\n🚫 Please get in touch with the label for usage of this track in your Youtube videos.\n\n\n➖➖➖➖➖➖➖➖➖➖➖➖\n\nFor business inquiries and other issues please contact xkitomusic@gmail.com", "Arrested Youth - Mirrors", "752621e4-32c6-47b3-84ef-8f6ea0504519", 186, false, "VgZowkPGep8", "https://www.youtube.com/watch?v=VgZowkPGep8", 40, "/downloads/music/xKito Music/Arrested Youth - Mirrors.m4a", false, false, false, 1, [], 1, ~U[2018-10-12 02:58:08Z], ~U[2026-09-16 09:45:19Z], ~U[2026-09-16 09:45:19Z], "🎧 Buy/Stream: https://ffm.to/ayfear\n🎬 Tour Video: https://www.youtube.com/watch?v=aSJPVTIeteI\n\n\n🎶 Genre: Rap\n\n💽 Label: Lowly Palace\n\n\n👉 Arrested Youth:\nhttps://www.instagram.com/arrestedyouth_/\nhttps://www.facebook.com/ArrestedYouthMusic/\nhttps://twitter.com/arrestedyouth\nhttps://www.youtube.com/channel/UCu2JQCzlbhmtSJC30d4M9Lw\n\n\n👉 Lowly Palace:\nhttps://soundcloud.com/lowlypalace\nhttps://www.youtube.com/channel/UCbr_gpafjcwT_MjV6K3Nh5g\nhttps://www.facebook.com/LowlyPalace/\nhttps://twitter.com/lowlypalace\nhttps://www.instagram.com/lowly/\n\n\n⭐️ xKito Music:\nhttps://www.facebook.com/xKitoMusic\nhttps://twitter.com/xkito_music\nhttps://instagram.com/xkito.music/\nhttps://soundcloud.com/xkitomusic\nhttps://www.youtube.com/c/xKitoMusic\n\n\n📄 Submit your music to xKito:\nhttps://goo.gl/mQkm4u\n\n\n✏️Submit your artwork:\nYou like to draw and would like your art to be featured on an xKito Music Video? Submit it here →\nhttps://goo.gl/uKfWmj\n\n\n🖼 PICTURE: https://www.pixiv.net/member_illust.php?mode=medium&illust_id=65127221\n©Artwork by: NOPPO@ジャンルビッチ\nhttps://www.pixiv.net/member.php?id=950926\n\n\n❗️ Usage Policy:\n🚫 Please get in touch with the label for usage of this track in your Youtube videos.\n\n\n➖➖➖➖➖➖➖➖➖➖➖➖\n\nFor business inquiries and other issues please contact xkitomusic@gmail.com", "Arrested Youth - Mirrors", 186, false, "VgZowkPGep8", "https://www.youtube.com/watch?v=VgZowkPGep8", "/downloads/music/xKito Music/Arrested Youth - Mirrors.m4a", false, 1, ~U[2018-10-12 02:58:08Z]] 09:45:19.133 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=924.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:19.133 [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] 09:45:19.134 [debug] QUERY OK source="media_items" db=0.3ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [73] 09:45:19.134 [debug] Current batch of media processed. Will check again in 1000ms 09:45:20.135 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "®️ GANGSTER SQUAD - The music channel mostly includes gangster music, hip-hop, rap, trap, and dope remixes. Hot fresh premieres from the best rappers. 🔔 Subscribe and turn on notifications to stay updated with the best music daily.\n\n🟢 Follow our Spotify Playlists: https://spoti.fi/3jTJdl6\n\n🎵 Brennan Savage - Look At Me Now\n🎫 The premiere of the track \"Look At Me Now\" took place Nov 26, 2016\n\n◉ Follow: GANGSTER FAMILY\n► Facebook: https://goo.gl/678NUE\n► VK: https://goo.gl/aG2Gw1\n► Twitter: https://goo.gl/ZfkLWT\n► Instagram: https://goo.gl/BX1y5H\n► Soundcloud: http://bit.ly/2J0AidI\n► Spotify: https://spoti.fi/2uRrAFA\n\n🥼 GS SHOP: http://bit.ly/2DA6RM8 \n\n◉ Follow to the official artist pages: Brennan Savage\n► https://soundcloud.com/brennansavage\n► https://twitter.com/BrennanSavage\n► https://www.instagram.com/brennansavage\n► https://twitter.com/realhorsehead\n\n💵 For business applications, go to 🌐 http://www.kingsmen.group\n✉️ For any questions, go to 🌐 https://www.kingsmen.group/support\n✉️ Contact the administrator IG: https://bit.ly/3fLjVzO", "duration" => 167, "filename" => "/downloads/music/GANGSTER SQUAD/Brennan Savage - Look At Me Now.m4a", "id" => "JSoH0OXIPTs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JSoH0OXIPTs", "playlist_index" => 41, "timestamp" => 1491398145, "title" => "Brennan Savage - Look At Me Now", "upload_date" => "20170405"} 09:45:20.135 [debug] QUERY OK source="sources" db=0.2ms idle=1003.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:20.136 [debug] QUERY OK source="sources" db=0.1ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:20.137 [debug] QUERY OK source="media_items" db=0.4ms idle=1002.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-04-05 13:15:45Z], 1] 09:45:20.138 [debug] QUERY OK source="media_items" db=1.1ms idle=1002.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["®️ GANGSTER SQUAD - The music channel mostly includes gangster music, hip-hop, rap, trap, and dope remixes. Hot fresh premieres from the best rappers. 🔔 Subscribe and turn on notifications to stay updated with the best music daily.\n\n🟢 Follow our Spotify Playlists: https://spoti.fi/3jTJdl6\n\n🎵 Brennan Savage - Look At Me Now\n🎫 The premiere of the track \"Look At Me Now\" took place Nov 26, 2016\n\n◉ Follow: GANGSTER FAMILY\n► Facebook: https://goo.gl/678NUE\n► VK: https://goo.gl/aG2Gw1\n► Twitter: https://goo.gl/ZfkLWT\n► Instagram: https://goo.gl/BX1y5H\n► Soundcloud: http://bit.ly/2J0AidI\n► Spotify: https://spoti.fi/2uRrAFA\n\n🥼 GS SHOP: http://bit.ly/2DA6RM8 \n\n◉ Follow to the official artist pages: Brennan Savage\n► https://soundcloud.com/brennansavage\n► https://twitter.com/BrennanSavage\n► https://www.instagram.com/brennansavage\n► https://twitter.com/realhorsehead\n\n💵 For business applications, go to 🌐 http://www.kingsmen.group\n✉️ For any questions, go to 🌐 https://www.kingsmen.group/support\n✉️ Contact the administrator IG: https://bit.ly/3fLjVzO", "Brennan Savage - Look At Me Now", "51e76944-9822-4941-9166-6e272f205d2a", 167, false, "JSoH0OXIPTs", "https://www.youtube.com/watch?v=JSoH0OXIPTs", 41, "/downloads/music/GANGSTER SQUAD/Brennan Savage - Look At Me Now.m4a", false, false, false, 1, [], 1, ~U[2017-04-05 13:15:45Z], ~U[2026-09-16 09:45:20Z], ~U[2026-09-16 09:45:20Z], "®️ GANGSTER SQUAD - The music channel mostly includes gangster music, hip-hop, rap, trap, and dope remixes. Hot fresh premieres from the best rappers. 🔔 Subscribe and turn on notifications to stay updated with the best music daily.\n\n🟢 Follow our Spotify Playlists: https://spoti.fi/3jTJdl6\n\n🎵 Brennan Savage - Look At Me Now\n🎫 The premiere of the track \"Look At Me Now\" took place Nov 26, 2016\n\n◉ Follow: GANGSTER FAMILY\n► Facebook: https://goo.gl/678NUE\n► VK: https://goo.gl/aG2Gw1\n► Twitter: https://goo.gl/ZfkLWT\n► Instagram: https://goo.gl/BX1y5H\n► Soundcloud: http://bit.ly/2J0AidI\n► Spotify: https://spoti.fi/2uRrAFA\n\n🥼 GS SHOP: http://bit.ly/2DA6RM8 \n\n◉ Follow to the official artist pages: Brennan Savage\n► https://soundcloud.com/brennansavage\n► https://twitter.com/BrennanSavage\n► https://www.instagram.com/brennansavage\n► https://twitter.com/realhorsehead\n\n💵 For business applications, go to 🌐 http://www.kingsmen.group\n✉️ For any questions, go to 🌐 https://www.kingsmen.group/support\n✉️ Contact the administrator IG: https://bit.ly/3fLjVzO", "Brennan Savage - Look At Me Now", 167, false, "JSoH0OXIPTs", "https://www.youtube.com/watch?v=JSoH0OXIPTs", "/downloads/music/GANGSTER SQUAD/Brennan Savage - Look At Me Now.m4a", false, 1, ~U[2017-04-05 13:15:45Z]] 09:45:20.139 [debug] QUERY OK source="sources" db=0.2ms idle=930.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:20.139 [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] 09:45:20.140 [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 [75] 09:45:20.140 [debug] Current batch of media processed. Will check again in 1000ms 09:45:21.141 [debug] Current batch of media processed. Will check again in 1000ms 09:45:21.350 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:22.142 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "▶️ Apashe - Majesty (feat. Wasiu) 🎵\n+1 like if you are listening to this with the volume turned all the way up! let's go! #bassheads\n\nSUBSCRIBE IF U ARE NEW: http://bit.ly/DTBSubscribe \nClick that 🔔 to turn on notifications! DO NOT MISS AN UPLOAD!\n\nTagz:\n#apashe\n#majesty\n#wasiu\n#trap\n#trapmusic\n#dropthebassline\n\n🔽 Download this Song d(^_^)b 🔽\nhttps://kannibalenrecords.lnk.to/Apashe_Requiem\n\nWallpaper Credit: \nhttps://timsaunders.deviantart.com/art/Rose-King-Wallpaper-Background-385806714\n\nLYRICS\nI'm the shit, use your throne as my toilet seat\nI demand the King's ransom for royalty \nI deserve a mansion I'm royalty \nAddress me your majesty\nThe form on your dynasty\nThe old one was diamond see (?)\nI am your highness, please\nAddress me your majesty\n\nIt's been classic, this classic in gold art\nUrban black Smith, black fisted Mozart \n[Drop]\n\nThe dream for the soul to the old laws\nGather round, we can know, watch it, throw far \nNew king has ascended a ghost yah\nCrown me your majesty oh lord\nMajesty oh lord (oh lord)\nIt's been classic, this classic in gold art\nUrban black Smith, black fisted Mozart \n\nStay cool the north king must be colder (ah)\nExhale now I look like a smoker\nThe hail me as King but when hell freezes over\nWell I reign supreme and that's hell on your shoulder \nRain drops feel like a boulder \nDrowning in a pool of your cold blood\nSuffocate them kings, nothing in lungs\nHold your breathe I'm the air to the kingdom\n\nAll the stars and galaxies \nAddress me as your majesty\nSo better say your majesty \nI might react irradically\nThrow you in the fire\nPurifier \nI'm messiah \nMy empires on the rise\nYou better find yourself a place to have it\nCrazy farmers say it \nTwas my name divine I'm aiming high\nGo look in my face or eyes \nTake you down and save your life\nGlory to the emperor \nMy temperature is rising\nAlways higher, getting violent \nAll these silencers are silent shhh\n\nThe dream for the soul to the old laws\nGather round, we can know, watch it, throw far \nNew king has ascended a ghost yah\nCrown me your majesty oh lord\nMajesty oh lord (oh lord)\nIt's been classic, this classic in gold art\nUrban black Smith, black fisted Mozart\n\n🎶 Exclusive Drop the Bassline Playlists 🎶 \n🔸 Trap: http://bit.ly/DTBTrap\n🔸 Dubstep: http://bit.ly/DTBDubstep\n🔸 Future Bass: http://bit.ly/DTBFuture\n🔸 Electro House: http://bit.ly/DTBElectro \n🔸 EDM: http://bit.ly/DTBEDM\n🔸 Memes & Themes: http://bit.ly/Memes-Themes\n\n➥ APASHE\nhttps://soundcloud.com/lindien\nhttps://www.instagram.com/apashe/\nhttps://twitter.com/Apashe_Music\nhttps://www.facebook.com/Apashe\n\n➥ Wasiu\nhttps://www.facebook.com/AfroWasiu/\nhttps://soundcloud.com/afrowasiu\nhttps://twitter.com/AfroWasiu\nhttps://www.instagram.com/AfroWasiu/\n\n➥ Drop the Bassline \nhttp://snapchat.com/add/bassdrop\nhttp://soundcloud.com/drop-the-bassline\nhttp://twitter.com/dropthebassline\nhttp://facebook.com/dropthebassline\nhttp://dropthebassline.com\n\n➥ Submit your music: http://dropthebassline.com/submit", "duration" => 268, "filename" => "/downloads/music/Drop the Bassline/Apashe - Majesty (feat. Wasiu) || Trap Music.m4a", "id" => "mSbVLB2TU3I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mSbVLB2TU3I", "playlist_index" => 42, "timestamp" => 1519588160, "title" => "Apashe - Majesty (feat. Wasiu) || Trap Music", "upload_date" => "20180225"} 09:45:22.143 [debug] QUERY OK source="sources" db=0.4ms idle=806.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:22.144 [debug] QUERY OK source="sources" db=0.3ms idle=807.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:22.144 [debug] QUERY OK source="media_items" db=0.5ms idle=808.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-02-25 19:49:20Z], 1] 09:45:22.147 [debug] QUERY OK source="media_items" db=1.9ms idle=808.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["▶️ Apashe - Majesty (feat. Wasiu) 🎵\n+1 like if you are listening to this with the volume turned all the way up! let's go! #bassheads\n\nSUBSCRIBE IF U ARE NEW: http://bit.ly/DTBSubscribe \nClick that 🔔 to turn on notifications! DO NOT MISS AN UPLOAD!\n\nTagz:\n#apashe\n#majesty\n#wasiu\n#trap\n#trapmusic\n#dropthebassline\n\n🔽 Download this Song d(^_^)b 🔽\nhttps://kannibalenrecords.lnk.to/Apashe_Requiem\n\nWallpaper Credit: \nhttps://timsaunders.deviantart.com/art/Rose-King-Wallpaper-Background-385806714\n\nLYRICS\nI'm the shit, use your throne as my toilet seat\nI demand the King's ransom for royalty \nI deserve a mansion I'm royalty \nAddress me your majesty\nThe form on your dynasty\nThe old one was diamond see (?)\nI am your highness, please\nAddress me your majesty\n\nIt's been classic, this classic in gold art\nUrban black Smith, black fisted Mozart \n[Drop]\n\nThe dream for the soul to the old laws\nGather round, we can know, watch it, throw far \nNew king has ascended a ghost yah\nCrown me your majesty oh lord\nMajesty oh lord (oh lord)\nIt's been classic, this classic in gold art\nUrban black Smith, black fisted Mozart \n\nStay cool the north king must be colder (ah)\nExhale now I look like a smoker\nThe hail me as King but when hell freezes over\nWell I reign supreme and that's hell on your shoulder \nRain drops feel like a boulder \nDrowning in a pool of your cold blood\nSuffocate them kings, nothing in lungs\nHold your breathe I'm the air to the kingdom\n\nAll the stars and galaxies \nAddress me as your majesty\nSo better say your majesty \nI might react irradically\nThrow you in the fire\nPurifier \nI'm messiah \nMy empires on the rise\nYou better find yourself a place to have it\nCrazy farmers say it \nTwas my name divine I'm aiming high\nGo look in my face or eyes \nTake you down and save your life\nGlory to the emperor \nMy temperature is rising\nAlways higher, getting violent \nAll these silencers are silent shhh\n\nThe dream for the soul to the old laws\nGather round, we can know, watch it, throw far \nNew king has ascended a ghost yah\nCrown me your majesty oh lord\nMajesty oh lord (oh lord)\nIt's been classic, this classic in gold art\nUrban black Smith, black fisted Mozart\n\n🎶 Exclusive Drop the Bassline Playlists 🎶 \n🔸 Trap: http://bit.ly/DTBTrap\n🔸 Dubstep: http://bit.ly/DTBDubstep\n🔸 Future Bass: http://bit.ly/DTBFuture\n🔸 Electro House: http://bit.ly/DTBElectro \n🔸 EDM: http://bit.ly/DTBEDM\n🔸 Memes & Themes: http://bit.ly/Memes-Themes\n\n➥ APASHE\nhttps://soundcloud.com/lindien\nhttps://www.instagram.com/apashe/\nhttps://twitter.com/Apashe_Music\nhttps://www.facebook.com/Apashe\n\n➥ Wasiu\nhttps://www.facebook.com/AfroWasiu/\nhttps://soundcloud.com/afrowasiu\nhttps://twitter.com/AfroWasiu\nhttps://www.instagram.com/AfroWasiu/\n\n➥ Drop the Bassline \nhttp://snapchat.com/add/bassdrop\nhttp://soundcloud.com/drop-the-bassline\nhttp://twitter.com/dropthebassline\nhttp://facebook.com/dropthebassline\nhttp://dropthebassline.com\n\n➥ Submit your music: http://dropthebassline.com/submit", "Apashe - Majesty (feat. Wasiu) || Trap Music", "fe6c456b-4ee8-42da-80e1-4a68fbd324ff", 268, false, "mSbVLB2TU3I", "https://www.youtube.com/watch?v=mSbVLB2TU3I", 42, "/downloads/music/Drop the Bassline/Apashe - Majesty (feat. Wasiu) || Trap Music.m4a", false, false, false, 1, [], 1, ~U[2018-02-25 19:49:20Z], ~U[2026-09-16 09:45:22Z], ~U[2026-09-16 09:45:22Z], "▶️ Apashe - Majesty (feat. Wasiu) 🎵\n+1 like if you are listening to this with the volume turned all the way up! let's go! #bassheads\n\nSUBSCRIBE IF U ARE NEW: http://bit.ly/DTBSubscribe \nClick that 🔔 to turn on notifications! DO NOT MISS AN UPLOAD!\n\nTagz:\n#apashe\n#majesty\n#wasiu\n#trap\n#trapmusic\n#dropthebassline\n\n🔽 Download this Song d(^_^)b 🔽\nhttps://kannibalenrecords.lnk.to/Apashe_Requiem\n\nWallpaper Credit: \nhttps://timsaunders.deviantart.com/art/Rose-King-Wallpaper-Background-385806714\n\nLYRICS\nI'm the shit, use your throne as my toilet seat\nI demand the King's ransom for royalty \nI deserve a mansion I'm royalty \nAddress me your majesty\nThe form on your dynasty\nThe old one was diamond see (?)\nI am your highness, please\nAddress me your majesty\n\nIt's been classic, this classic in gold art\nUrban black Smith, black fisted Mozart \n[Drop]\n\nThe dream for the soul to the old laws\nGather round, we can know, watch it, throw far \nNew king has ascended a ghost yah\nCrown me your majesty oh lord\nMajesty oh lord (oh lord)\nIt's been classic, this classic in gold art\nUrban black Smith, black fisted Mozart \n\nStay cool the north king must be colder (ah)\nExhale now I look like a smoker\nThe hail me as King but when hell freezes over\nWell I reign supreme and that's hell on your shoulder \nRain drops feel like a boulder \nDrowning in a pool of your cold blood\nSuffocate them kings, nothing in lungs\nHold your breathe I'm the air to the kingdom\n\nAll the stars and galaxies \nAddress me as your majesty\nSo better say your majesty \nI might react irradically\nThrow you in the fire\nPurifier \nI'm messiah \nMy empires on the rise\nYou better find yourself a place to have it\nCrazy farmers say it \nTwas my name divine I'm aiming high\nGo look in my face or eyes \nTake you down and save your life\nGlory to the emperor \nMy temperature is rising\nAlways higher, getting violent \nAll these silencers are silent shhh\n\nThe dream for the soul to the old laws\nGather round, we can know, watch it, throw far \nNew king has ascended a ghost yah\nCrown me your majesty oh lord\nMajesty oh lord (oh lord)\nIt's been classic, this classic in gold art\nUrban black Smith, black fisted Mozart\n\n🎶 Exclusive Drop the Bassline Playlists 🎶 \n🔸 Trap: http://bit.ly/DTBTrap\n🔸 Dubstep: http://bit.ly/DTBDubstep\n🔸 Future Bass: http://bit.ly/DTBFuture\n🔸 Electro House: http://bit.ly/DTBElectro \n🔸 EDM: http://bit.ly/DTBEDM\n🔸 Memes & Themes: http://bit.ly/Memes-Themes\n\n➥ APASHE\nhttps://soundcloud.com/lindien\nhttps://www.instagram.com/apashe/\nhttps://twitter.com/Apashe_Music\nhttps://www.facebook.com/Apashe\n\n➥ Wasiu\nhttps://www.facebook.com/AfroWasiu/\nhttps://soundcloud.com/afrowasiu\nhttps://twitter.com/AfroWasiu\nhttps://www.instagram.com/AfroWasiu/\n\n➥ Drop the Bassline \nhttp://snapchat.com/add/bassdrop\nhttp://soundcloud.com/drop-the-bassline\nhttp://twitter.com/dropthebassline\nhttp://facebook.com/dropthebassline\nhttp://dropthebassline.com\n\n➥ Submit your music: http://dropthebassline.com/submit", "Apashe - Majesty (feat. Wasiu) || Trap Music", 268, false, "mSbVLB2TU3I", "https://www.youtube.com/watch?v=mSbVLB2TU3I", "/downloads/music/Drop the Bassline/Apashe - Majesty (feat. Wasiu) || Trap Music.m4a", false, 1, ~U[2018-02-25 19:49:20Z]] 09:45:22.148 [debug] QUERY OK source="sources" db=0.3ms idle=796.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:22.148 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:22.149 [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 [77] 09:45:22.149 [debug] Current batch of media processed. Will check again in 1000ms 09:45:23.150 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "The feeeeeeeeeeeeeels\n\nDownload Unlike Pluto - Dearly Departed\nhttps://itunes.apple.com/us/artist/unlike-pluto/id570280504\n\nUnlike Pluto\nhttps://soundcloud.com/unlikepluto\nhttps://www.facebook.com/unlikepluto\nhttps://www.instagram.com/unlikepluto/\nhttps://unlikepluto.com/\nhttps://www.youtube.com/unlikepluto\n\nArtwork: https://www.zerochan.net/617088#full\n\nHeroic\nhttps://www.twitch.tv/simplyheroic\nhttps://www.facebook.com/HeroicMusic\nhttps://twitter.com/Heroic_Music\nhttps://soundcloud.com/heroicforces\nhttp://heroicmusic.printmighty.co.nz/", "duration" => 212, "filename" => "/downloads/music/Valiant/Unlike Pluto - Dearly Departed.m4a", "id" => "_Ttsga6Sulw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_Ttsga6Sulw", "playlist_index" => 43, "timestamp" => 1538908200, "title" => "Unlike Pluto - Dearly Departed", "upload_date" => "20181007"} 09:45:23.150 [debug] QUERY OK source="sources" db=0.2ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:23.151 [debug] QUERY OK source="sources" db=0.1ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:23.151 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-10-07 10:30:00Z], 1] 09:45:23.153 [debug] QUERY OK source="media_items" db=0.9ms idle=1002.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The feeeeeeeeeeeeeels\n\nDownload Unlike Pluto - Dearly Departed\nhttps://itunes.apple.com/us/artist/unlike-pluto/id570280504\n\nUnlike Pluto\nhttps://soundcloud.com/unlikepluto\nhttps://www.facebook.com/unlikepluto\nhttps://www.instagram.com/unlikepluto/\nhttps://unlikepluto.com/\nhttps://www.youtube.com/unlikepluto\n\nArtwork: https://www.zerochan.net/617088#full\n\nHeroic\nhttps://www.twitch.tv/simplyheroic\nhttps://www.facebook.com/HeroicMusic\nhttps://twitter.com/Heroic_Music\nhttps://soundcloud.com/heroicforces\nhttp://heroicmusic.printmighty.co.nz/", "Unlike Pluto - Dearly Departed", "0a25bfe2-ef04-46e5-b7a3-aee27333c444", 212, false, "_Ttsga6Sulw", "https://www.youtube.com/watch?v=_Ttsga6Sulw", 43, "/downloads/music/Valiant/Unlike Pluto - Dearly Departed.m4a", false, false, false, 1, [], 1, ~U[2018-10-07 10:30:00Z], ~U[2026-09-16 09:45:23Z], ~U[2026-09-16 09:45:23Z], "The feeeeeeeeeeeeeels\n\nDownload Unlike Pluto - Dearly Departed\nhttps://itunes.apple.com/us/artist/unlike-pluto/id570280504\n\nUnlike Pluto\nhttps://soundcloud.com/unlikepluto\nhttps://www.facebook.com/unlikepluto\nhttps://www.instagram.com/unlikepluto/\nhttps://unlikepluto.com/\nhttps://www.youtube.com/unlikepluto\n\nArtwork: https://www.zerochan.net/617088#full\n\nHeroic\nhttps://www.twitch.tv/simplyheroic\nhttps://www.facebook.com/HeroicMusic\nhttps://twitter.com/Heroic_Music\nhttps://soundcloud.com/heroicforces\nhttp://heroicmusic.printmighty.co.nz/", "Unlike Pluto - Dearly Departed", 212, false, "_Ttsga6Sulw", "https://www.youtube.com/watch?v=_Ttsga6Sulw", "/downloads/music/Valiant/Unlike Pluto - Dearly Departed.m4a", false, 1, ~U[2018-10-07 10:30:00Z]] 09:45:23.153 [debug] QUERY OK source="sources" db=0.2ms idle=940.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:23.154 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:23.154 [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 [79] 09:45:23.154 [debug] Current batch of media processed. Will check again in 1000ms 09:45:24.156 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Pham - Movements (feat. Yung Fusion) [Official Music Video]\n\n● Subscribe: http://bit.ly/25aRTSP\nBUY: http://apple.co/200FYmQ\n\n~~~~~~~» Quote of the day «~~~~~~~\n\n\"I’m not telling you it’s going to be easy… I’m telling you it’s going to be worth it.\"\n-- Unknown\n\nShare your quotes with me in the comment section with #cloudquote\n\nCloudKid Shop: http://cldkid.com/shop\n\n~~~~~~~» Pham «~~~~~~~\n\nSoundcloud: https://soundcloud.com/itspham\nFacebook: https://www.facebook.com/phammusic\nYoutube: https://www.youtube.com/user/dawidpha...\nManagement: matt@evolvethegroup.com\n\n~~~~~~~» Yung Fusion «~~~~~~~\n\nSoundcloud: https://soundcloud.com/theyungfusion\nFacebook: https://www.facebook.com/TheYungFusio...\nYoutube: https://www.youtube.com/user/TheYungF...\nContact: Officialyungfusion@Gmail.com\n\n~~~~~~~» Artist Intelligence Agency «~~~~~~~\n\nSoundcloud: http://aia.ag/AIA-SC\nFacebook: http://aia.ag/AIA-FB\nYoutube: http://aia.ag/AIA-YT\nTwitter: http://aia.ag/AIA-TW\nInstagram: http://aia.ag/AIA-IG\n\n~~~~~~~» Cloudkid «~~~~~~~\n \n» The Paint I use: http://amzn.to/2fdOePI\n\nTwitter: https://twitter.com/CloudKidMusic\nSoundcloud: https://soundcloud.com/cloudkid\nFacebook: https://www.facebook.com/cloudkidprom...\nInstagram: https://instagram.com/cldkid\nSnapchat: @cldkid\n\nWant your track on CloudKid? It's easy! Contact me on my YouTube or message me at: CloudKidOfficial@gmail.com\n\n~~~~~~~» Legal stuff «~~~~~~~\n\nI do not own any of the content of the video and it has been uploaded for promotion purposes only. If any producer or label has an Issue with any upload, contact me directly through youtube or under CloudKidOfficial@gmail.com and the video will be taken down immediately! This includes owners of the images used.", "duration" => 233, "filename" => "/downloads/music/CloudKid/Pham - Movements (feat. Yung Fusion) [Official Music Video].m4a", "id" => "uuPMXS7dd9s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uuPMXS7dd9s", "playlist_index" => 44, "timestamp" => 1459782018, "title" => "Pham - Movements (feat. Yung Fusion) [Official Music Video]", "upload_date" => "20160404"} 09:45:24.156 [debug] QUERY OK source="sources" db=0.2ms idle=1003.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:24.157 [debug] QUERY OK source="sources" db=0.1ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:24.157 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2016-04-04 15:00:18Z], 1] 09:45:24.159 [debug] QUERY OK source="media_items" db=1.3ms idle=1003.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Pham - Movements (feat. Yung Fusion) [Official Music Video]\n\n● Subscribe: http://bit.ly/25aRTSP\nBUY: http://apple.co/200FYmQ\n\n~~~~~~~» Quote of the day «~~~~~~~\n\n\"I’m not telling you it’s going to be easy… I’m telling you it’s going to be worth it.\"\n-- Unknown\n\nShare your quotes with me in the comment section with #cloudquote\n\nCloudKid Shop: http://cldkid.com/shop\n\n~~~~~~~» Pham «~~~~~~~\n\nSoundcloud: https://soundcloud.com/itspham\nFacebook: https://www.facebook.com/phammusic\nYoutube: https://www.youtube.com/user/dawidpha...\nManagement: matt@evolvethegroup.com\n\n~~~~~~~» Yung Fusion «~~~~~~~\n\nSoundcloud: https://soundcloud.com/theyungfusion\nFacebook: https://www.facebook.com/TheYungFusio...\nYoutube: https://www.youtube.com/user/TheYungF...\nContact: Officialyungfusion@Gmail.com\n\n~~~~~~~» Artist Intelligence Agency «~~~~~~~\n\nSoundcloud: http://aia.ag/AIA-SC\nFacebook: http://aia.ag/AIA-FB\nYoutube: http://aia.ag/AIA-YT\nTwitter: http://aia.ag/AIA-TW\nInstagram: http://aia.ag/AIA-IG\n\n~~~~~~~» Cloudkid «~~~~~~~\n \n» The Paint I use: http://amzn.to/2fdOePI\n\nTwitter: https://twitter.com/CloudKidMusic\nSoundcloud: https://soundcloud.com/cloudkid\nFacebook: https://www.facebook.com/cloudkidprom...\nInstagram: https://instagram.com/cldkid\nSnapchat: @cldkid\n\nWant your track on CloudKid? It's easy! Contact me on my YouTube or message me at: CloudKidOfficial@gmail.com\n\n~~~~~~~» Legal stuff «~~~~~~~\n\nI do not own any of the content of the video and it has been uploaded for promotion purposes only. If any producer or label has an Issue with any upload, contact me directly through youtube or under CloudKidOfficial@gmail.com and the video will be taken down immediately! This includes owners of the images used.", "Pham - Movements (feat. Yung Fusion) [Official Music Video]", "1b0589e0-b0e0-4409-b875-dbbff1dfe550", 233, false, "uuPMXS7dd9s", "https://www.youtube.com/watch?v=uuPMXS7dd9s", 44, "/downloads/music/CloudKid/Pham - Movements (feat. Yung Fusion) [Official Music Video].m4a", false, false, false, 1, [], 1, ~U[2016-04-04 15:00:18Z], ~U[2026-09-16 09:45:24Z], ~U[2026-09-16 09:45:24Z], "Pham - Movements (feat. Yung Fusion) [Official Music Video]\n\n● Subscribe: http://bit.ly/25aRTSP\nBUY: http://apple.co/200FYmQ\n\n~~~~~~~» Quote of the day «~~~~~~~\n\n\"I’m not telling you it’s going to be easy… I’m telling you it’s going to be worth it.\"\n-- Unknown\n\nShare your quotes with me in the comment section with #cloudquote\n\nCloudKid Shop: http://cldkid.com/shop\n\n~~~~~~~» Pham «~~~~~~~\n\nSoundcloud: https://soundcloud.com/itspham\nFacebook: https://www.facebook.com/phammusic\nYoutube: https://www.youtube.com/user/dawidpha...\nManagement: matt@evolvethegroup.com\n\n~~~~~~~» Yung Fusion «~~~~~~~\n\nSoundcloud: https://soundcloud.com/theyungfusion\nFacebook: https://www.facebook.com/TheYungFusio...\nYoutube: https://www.youtube.com/user/TheYungF...\nContact: Officialyungfusion@Gmail.com\n\n~~~~~~~» Artist Intelligence Agency «~~~~~~~\n\nSoundcloud: http://aia.ag/AIA-SC\nFacebook: http://aia.ag/AIA-FB\nYoutube: http://aia.ag/AIA-YT\nTwitter: http://aia.ag/AIA-TW\nInstagram: http://aia.ag/AIA-IG\n\n~~~~~~~» Cloudkid «~~~~~~~\n \n» The Paint I use: http://amzn.to/2fdOePI\n\nTwitter: https://twitter.com/CloudKidMusic\nSoundcloud: https://soundcloud.com/cloudkid\nFacebook: https://www.facebook.com/cloudkidprom...\nInstagram: https://instagram.com/cldkid\nSnapchat: @cldkid\n\nWant your track on CloudKid? It's easy! Contact me on my YouTube or message me at: CloudKidOfficial@gmail.com\n\n~~~~~~~» Legal stuff «~~~~~~~\n\nI do not own any of the content of the video and it has been uploaded for promotion purposes only. If any producer or label has an Issue with any upload, contact me directly through youtube or under CloudKidOfficial@gmail.com and the video will be taken down immediately! This includes owners of the images used.", "Pham - Movements (feat. Yung Fusion) [Official Music Video]", 233, false, "uuPMXS7dd9s", "https://www.youtube.com/watch?v=uuPMXS7dd9s", "/downloads/music/CloudKid/Pham - Movements (feat. Yung Fusion) [Official Music Video].m4a", false, 1, ~U[2016-04-04 15:00:18Z]] 09:45:24.160 [debug] QUERY OK source="sources" db=0.1ms idle=946.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:24.160 [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] 09:45:24.161 [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 [81] 09:45:24.161 [debug] Current batch of media processed. Will check again in 1000ms 09:45:25.162 [debug] Current batch of media processed. Will check again in 1000ms 09:45:26.163 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "#Aviencloud – Taking you to a better place\n• CIKI – Syndrome [Pop]\n• Open me senpai and support the music artist, artwork artist and grab your download ʕ•͡ɛ•͡ʼʼʔ.\n• Take me with you and visit avienclouds spotify: https://open.spotify.com/user/aviencloud\n• For more music click here: http://bit.ly/1lXTxUN\n• Don't forget to check the 24/7 live stream: https://goo.gl/4EN3uN\n• For more good vibes click here: http://bit.ly/CloudyLand\n\nAviencloud Ambient Chill & Relax [Playlist] - https://goo.gl/r5IZMo\nAviencloud Classics [Playlist] - https://goo.gl/hqcVqZ\nAviencloud Happy Vibe [Playlist] - https://goo.gl/a1K63Z\n\n» Download: N/A\n\nSupport #CIKI\nhttps://soundcloud.com/ciikki\nhttps://instagram.com/ciikki\nhttps://ciikki.tumblr.com\n\nSupport us\nhttps://discord.gg/7SwuhgR\nhttps://open.spotify.com/user/aviencloud/playlist/1eHx5AddXZB5KqYOczgArk\nhttps://reddit.com/r/Aviencloud\nhttps://facebook.com/Aviencloud\nhttps://soundcloud.com/aviencloud\nhttps://instagram.com/aviencloud\nhttps://plus.google.com/+Aviencloud\nhttps://twitter.com/Aviencloud\nhttps://youtube.com/user/Aviencloud\n\n--\n\nSupport GK0322\nhttps://www.pixiv.net/member.php?id=3820953\nhttps://twitter.com/gk0322\n\nArtwork by GK0322\nhttps://www.pixiv.net/member_illust.php?mode=medium&illust_id=63376470\n\n--\n\nSubmit your music & artwork: http://www.aviencloud.com/submission", "duration" => 221, "filename" => "/downloads/music/Aviencloud/CIKI – Syndrome.m4a", "id" => "RMV3mxC3380", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RMV3mxC3380", "playlist_index" => 45, "timestamp" => 1520123344, "title" => "CIKI – Syndrome", "upload_date" => "20180304"} 09:45:26.164 [debug] QUERY OK source="sources" db=0.5ms idle=947.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:26.166 [debug] QUERY OK source="sources" db=1.4ms idle=828.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:26.167 [debug] QUERY OK source="media_items" db=0.6ms idle=830.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-03-04 00:29:04Z], 1] 09:45:26.171 [debug] QUERY OK source="media_items" db=3.3ms idle=831.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#Aviencloud – Taking you to a better place\n• CIKI – Syndrome [Pop]\n• Open me senpai and support the music artist, artwork artist and grab your download ʕ•͡ɛ•͡ʼʼʔ.\n• Take me with you and visit avienclouds spotify: https://open.spotify.com/user/aviencloud\n• For more music click here: http://bit.ly/1lXTxUN\n• Don't forget to check the 24/7 live stream: https://goo.gl/4EN3uN\n• For more good vibes click here: http://bit.ly/CloudyLand\n\nAviencloud Ambient Chill & Relax [Playlist] - https://goo.gl/r5IZMo\nAviencloud Classics [Playlist] - https://goo.gl/hqcVqZ\nAviencloud Happy Vibe [Playlist] - https://goo.gl/a1K63Z\n\n» Download: N/A\n\nSupport #CIKI\nhttps://soundcloud.com/ciikki\nhttps://instagram.com/ciikki\nhttps://ciikki.tumblr.com\n\nSupport us\nhttps://discord.gg/7SwuhgR\nhttps://open.spotify.com/user/aviencloud/playlist/1eHx5AddXZB5KqYOczgArk\nhttps://reddit.com/r/Aviencloud\nhttps://facebook.com/Aviencloud\nhttps://soundcloud.com/aviencloud\nhttps://instagram.com/aviencloud\nhttps://plus.google.com/+Aviencloud\nhttps://twitter.com/Aviencloud\nhttps://youtube.com/user/Aviencloud\n\n--\n\nSupport GK0322\nhttps://www.pixiv.net/member.php?id=3820953\nhttps://twitter.com/gk0322\n\nArtwork by GK0322\nhttps://www.pixiv.net/member_illust.php?mode=medium&illust_id=63376470\n\n--\n\nSubmit your music & artwork: http://www.aviencloud.com/submission", "CIKI – Syndrome", "04d3d72e-21c3-4ae5-bd89-1fdb10056fb2", 221, false, "RMV3mxC3380", "https://www.youtube.com/watch?v=RMV3mxC3380", 45, "/downloads/music/Aviencloud/CIKI – Syndrome.m4a", false, false, false, 1, [], 1, ~U[2018-03-04 00:29:04Z], ~U[2026-09-16 09:45:26Z], ~U[2026-09-16 09:45:26Z], "#Aviencloud – Taking you to a better place\n• CIKI – Syndrome [Pop]\n• Open me senpai and support the music artist, artwork artist and grab your download ʕ•͡ɛ•͡ʼʼʔ.\n• Take me with you and visit avienclouds spotify: https://open.spotify.com/user/aviencloud\n• For more music click here: http://bit.ly/1lXTxUN\n• Don't forget to check the 24/7 live stream: https://goo.gl/4EN3uN\n• For more good vibes click here: http://bit.ly/CloudyLand\n\nAviencloud Ambient Chill & Relax [Playlist] - https://goo.gl/r5IZMo\nAviencloud Classics [Playlist] - https://goo.gl/hqcVqZ\nAviencloud Happy Vibe [Playlist] - https://goo.gl/a1K63Z\n\n» Download: N/A\n\nSupport #CIKI\nhttps://soundcloud.com/ciikki\nhttps://instagram.com/ciikki\nhttps://ciikki.tumblr.com\n\nSupport us\nhttps://discord.gg/7SwuhgR\nhttps://open.spotify.com/user/aviencloud/playlist/1eHx5AddXZB5KqYOczgArk\nhttps://reddit.com/r/Aviencloud\nhttps://facebook.com/Aviencloud\nhttps://soundcloud.com/aviencloud\nhttps://instagram.com/aviencloud\nhttps://plus.google.com/+Aviencloud\nhttps://twitter.com/Aviencloud\nhttps://youtube.com/user/Aviencloud\n\n--\n\nSupport GK0322\nhttps://www.pixiv.net/member.php?id=3820953\nhttps://twitter.com/gk0322\n\nArtwork by GK0322\nhttps://www.pixiv.net/member_illust.php?mode=medium&illust_id=63376470\n\n--\n\nSubmit your music & artwork: http://www.aviencloud.com/submission", "CIKI – Syndrome", 221, false, "RMV3mxC3380", "https://www.youtube.com/watch?v=RMV3mxC3380", "/downloads/music/Aviencloud/CIKI – Syndrome.m4a", false, 1, ~U[2018-03-04 00:29:04Z]] 09:45:26.172 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=835.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:26.173 [debug] QUERY OK source="media_profiles" db=0.5ms idle=8.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:26.174 [debug] QUERY OK source="media_items" db=0.7ms 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 [83] 09:45:26.174 [debug] Current batch of media processed. Will check again in 1000ms 09:45:27.175 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "-Disparity Team-\n \nhey guys and welcome to our 5th MEP !!\nWe had a pretty hard time finishing this xD and its kind of a new style for many editors in the crew, but we hope u will enjoy it!\n\n⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋\n\n\nIntro: MaxotsAMV || Tokyo Ghoul\n\nPart 1: https://www.youtube.com/user/xStartJfulx || Zankyo No Terror\n\nPart 2: https://www.youtube.com/user/iBlueRockerx3 || Madoka Magica\n\nPart 3: https://www.youtube.com/user/franeks19991 || Monogatari\n\nPart 4: https://www.youtube.com/user/Duczmen2 || Charlotte\n\nPart 5: https://www.youtube.com/channel/UChplI34aPC788h24fqnLJmQ || Darker Than Black \n\nPart 6: https://www.youtube.com/user/KamiToSora || Zetsuen No Tempest\n\nPart 7: https://www.youtube.com/user/TIAMVS || Fullmetal Alchemist: Brotherhood\n\nPart 8: https://www.youtube.com/user/juliocesaresteves || Hyouka\n\n\n—\n\n• Song: Zella Day - Hypnotic\n\n⇨ APPLY HERE if you want be a part of DT:\nhttp://goo.gl/forms/Ib9KJHBr7F\n\n⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋\n\n'Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for \"fair use\" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favor of fair use. No copyright infringement intended. All rights to clips and music belong to their respective owners'", "duration" => 157, "filename" => "/downloads/music/Disparity Team/Hypnotic [MEP].m4a", "id" => "UgmIVHg7Q5M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=UgmIVHg7Q5M", "playlist_index" => 46, "timestamp" => 1458867441, "title" => "Hypnotic [MEP]", "upload_date" => "20160325"} 09:45:27.176 [debug] QUERY OK source="sources" db=0.2ms idle=1004.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:27.176 [debug] QUERY OK source="sources" db=0.1ms idle=1003.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:27.177 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2016-03-25 00:57:21Z], 1] 09:45:27.179 [debug] QUERY OK source="media_items" db=1.3ms idle=1003.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["-Disparity Team-\n \nhey guys and welcome to our 5th MEP !!\nWe had a pretty hard time finishing this xD and its kind of a new style for many editors in the crew, but we hope u will enjoy it!\n\n⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋\n\n\nIntro: MaxotsAMV || Tokyo Ghoul\n\nPart 1: https://www.youtube.com/user/xStartJfulx || Zankyo No Terror\n\nPart 2: https://www.youtube.com/user/iBlueRockerx3 || Madoka Magica\n\nPart 3: https://www.youtube.com/user/franeks19991 || Monogatari\n\nPart 4: https://www.youtube.com/user/Duczmen2 || Charlotte\n\nPart 5: https://www.youtube.com/channel/UChplI34aPC788h24fqnLJmQ || Darker Than Black \n\nPart 6: https://www.youtube.com/user/KamiToSora || Zetsuen No Tempest\n\nPart 7: https://www.youtube.com/user/TIAMVS || Fullmetal Alchemist: Brotherhood\n\nPart 8: https://www.youtube.com/user/juliocesaresteves || Hyouka\n\n\n—\n\n• Song: Zella Day - Hypnotic\n\n⇨ APPLY HERE if you want be a part of DT:\nhttp://goo.gl/forms/Ib9KJHBr7F\n\n⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋\n\n'Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for \"fair use\" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favor of fair use. No copyright infringement intended. All rights to clips and music belong to their respective owners'", "Hypnotic [MEP]", "b51994f4-0cb2-4eb2-9a8b-5db8f2050af6", 157, false, "UgmIVHg7Q5M", "https://www.youtube.com/watch?v=UgmIVHg7Q5M", 46, "/downloads/music/Disparity Team/Hypnotic [MEP].m4a", false, false, false, 1, [], 1, ~U[2016-03-25 00:57:21Z], ~U[2026-09-16 09:45:27Z], ~U[2026-09-16 09:45:27Z], "-Disparity Team-\n \nhey guys and welcome to our 5th MEP !!\nWe had a pretty hard time finishing this xD and its kind of a new style for many editors in the crew, but we hope u will enjoy it!\n\n⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋\n\n\nIntro: MaxotsAMV || Tokyo Ghoul\n\nPart 1: https://www.youtube.com/user/xStartJfulx || Zankyo No Terror\n\nPart 2: https://www.youtube.com/user/iBlueRockerx3 || Madoka Magica\n\nPart 3: https://www.youtube.com/user/franeks19991 || Monogatari\n\nPart 4: https://www.youtube.com/user/Duczmen2 || Charlotte\n\nPart 5: https://www.youtube.com/channel/UChplI34aPC788h24fqnLJmQ || Darker Than Black \n\nPart 6: https://www.youtube.com/user/KamiToSora || Zetsuen No Tempest\n\nPart 7: https://www.youtube.com/user/TIAMVS || Fullmetal Alchemist: Brotherhood\n\nPart 8: https://www.youtube.com/user/juliocesaresteves || Hyouka\n\n\n—\n\n• Song: Zella Day - Hypnotic\n\n⇨ APPLY HERE if you want be a part of DT:\nhttp://goo.gl/forms/Ib9KJHBr7F\n\n⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋\n\n'Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for \"fair use\" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favor of fair use. No copyright infringement intended. All rights to clips and music belong to their respective owners'", "Hypnotic [MEP]", 157, false, "UgmIVHg7Q5M", "https://www.youtube.com/watch?v=UgmIVHg7Q5M", "/downloads/music/Disparity Team/Hypnotic [MEP].m4a", false, 1, ~U[2016-03-25 00:57:21Z]] 09:45:27.179 [debug] QUERY OK source="sources" db=0.2ms idle=962.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:27.180 [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] 09:45:27.180 [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 [84] 09:45:27.180 [debug] Current batch of media processed. Will check again in 1000ms 09:45:28.181 [debug] Current batch of media processed. Will check again in 1000ms 09:45:29.182 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Video zu \"xD\", das wir spontan während der Tour gedreht haben. Danke an Lu für's filmen und schneiden. Danke an Mokubae für die Fisheye-Linse! Gönnt euch - http://bit.ly/Spotify_xD\n\nKamera & Schnitt: LUNA DARKO https://www.youtube.com/user/LunaDarkoOfficial\nProduction: HYDRA CLIQUE\nEquipment (Fisheye Objektiv): YOUNG MOKUBA https://twitter.com/youngmokuba\n\nTHANKS TO:\nNOK from the Future, Young Kira, Navy, Young Mokuba, Dorincourt, Leroy & SPACE CAMP CREW\n\n\nLYRICS:\n\n[Intro: A]\nSwerve, swerve, swerve, swerve! Jaa, eyy\n\n[Part 1: A & T]\nIch lache euch alle aus, so wie Mr. Wixa\nDein Weak-Ass-Flow hat mich getriggert\nJaja, Blitzgewitter\nWenn ich flex' auf dem Track mit dem Brickminister\nJaja, Mittelfinger\nAn die Gagos und ihren Mist auf Twitter\nIhr seid out-dated, so wie Windows Vista\nIhr meint ihr wärt die Future - ha, sicher sicher, klar\nEy, Flowwechsel, die so fresh sind, hat keiner von euch Lowlevels\nWill ich 'nen fordernden Gegner, dann müsst' ich mich klonen oder meinen Bro batteln\nYou don't get it, ne, versteh'n tut ihr gar nix\nFür euch sind wir nur ein Fehler der Matrix, was wollt ihr tun, wenn DAT ADAM aufs Gas tritt?\nOh damn, oh damn, das hätte niemand gedacht\nEy, die YouTube-Lelleks zeigen steady, wie man es macht\nSag mir, wer von den Lames packt so viel Stil in die Parts?\nWir machen dasselbe mit der Scene wie Freezer mit Namek\nBoom, we blow it up und Deutsche Rapper call'n Domian, brr\nOhne Spaß, wir drei sind on fire wie Ponita, ey\nIhr Style ist nicht eigen und weiter verbreitet als Comic Sans, ey\nBei Weitem ist keiner so nice wie die Hydra - you know it, bruh\n\n[Bridge 1]\n„Yeah, man – you know these German Rappers?“\n„Oh, fuck 'em man!“\n„They want to be like American rappers so bad right now.“\n„Yeah, that’s true!“\n„They just talkin 'bout fucking bitches, making money and all that lame ass boring shit.“\n\n[Part 2: A & T]\nYeah, geh und zähl dein Cash, zähl dein Cash, wir sorgen für 'nen Themawechsel\nIn der Welt ist stupid sein jetzt der Megatrend\nGeh mal weg, denn wenn wir spray'n, dann mit Vehemenz\nPermanent sind die DFA-Boys in ihr'm Element\nUnd bleiben wie sie sind, einfach nur gechillt - uns zu haten hat leider keinen Sinn\nDrei verspielte Kids zeigen ihre Skills, droppen Hits und besteigen den Olymp\nSchweben über Beats, leben die Musik - jede Selbstkritik wäre Blasphemie\nLad' 'ne Gun mit den Versen und den Skeems, ziel' auf euch und entleer' das Magazin\nWir spitten Fire wie ein Charizard\nImmer große Klappe wie ein Karnimani, bruh\nWir durchschauen all ihre Moves, Homie, Sharingan\nDer Sound ballert, wie ein fucking Kamehameha, woah\nWir flexen so ab wie 'ne Kreissäge\nEcht lächerlich, dass ihr euch einredet\nDass das, was ihr macht, die Future ist\nIch lach' über euch und die Scheißszene\nHahahaha, hahahaha, hahahaha, hahahaha\n\n[Bridge 2]\n„Yo brother!“\n„Mhm?“\n„You know, german rappers are really creative.“\n„Oh really?“\n„Yeah, they are creative when it comes to inventing new sell-out moves. You know, they want you to buy their album years before they even put out some music. They put stupid shit no one needs in ugly boxes, call them deluxe, just to push their revenue, which leads to better chart rankings in Germany.“\n„That’s hella wack!“\n\n[Part 3: A & T]\nYeah - genau das sind die Moves, mein Homie, jaja\nWarum sind sie solche Tools, mein Homie? Oh damn\nWir sind cold wie ein fuckin' Snowman\nUnd wie ein Virus für ihr fuckin' Program\nSie sind trapped im Jetzt und wir schon im Morgen, jajaja\nYeah, wir sind die motherfuckin' Babas\nZerfetzen in Sekunden wie Piranhas\nEure Promo ist nicht mehr als Propaganda\nBin zwar kein Japaner, aber euch nenne ich „Baka“\nHaha, haha - ihr seid alle lachhaft\nMein Magen tut weh, weil ich so lach', es ist unfassbar\nHahahahahaha\nWir bändigen Flames wie der Avatar\nTell me, wenn sie der Newshit sind\nWarum bring'n sie dann nichts Neues?\nManchmal gönn' ich mir, was in diesem Land als Coolshit gilt\nUnd bin disappointed\nFucking disappointed! - Einfach nur annoying (urgh)\nUnd wir soll'n also die sein, die hier Toys sind?\nWas vor Jahr'n schon von uns kam, bring'n Blitzmerker erst heute\nWir changen das Game, " <> ..., "duration" => 240, "filename" => "/downloads/music/DAT ADAM/DAT ADAM - xD (HOW TO FLEX & TROLL A SCENE).m4a", "id" => "0W_k5WzaCSY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0W_k5WzaCSY", "playlist_index" => 47, "timestamp" => 1493546400, "title" => "DAT ADAM - xD (HOW TO FLEX & TROLL A SCENE)", "upload_date" => "20170430"} 09:45:29.183 [debug] QUERY OK source="sources" db=0.2ms idle=963.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:29.183 [debug] QUERY OK source="sources" db=0.1ms idle=847.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:29.184 [debug] QUERY OK source="media_items" db=0.3ms idle=847.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-04-30 10:00:00Z], 1] 09:45:29.258 [debug] QUERY OK source="media_items" db=73.1ms idle=848.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Video zu \"xD\", das wir spontan während der Tour gedreht haben. Danke an Lu für's filmen und schneiden. Danke an Mokubae für die Fisheye-Linse! Gönnt euch - http://bit.ly/Spotify_xD\n\nKamera & Schnitt: LUNA DARKO https://www.youtube.com/user/LunaDarkoOfficial\nProduction: HYDRA CLIQUE\nEquipment (Fisheye Objektiv): YOUNG MOKUBA https://twitter.com/youngmokuba\n\nTHANKS TO:\nNOK from the Future, Young Kira, Navy, Young Mokuba, Dorincourt, Leroy & SPACE CAMP CREW\n\n\nLYRICS:\n\n[Intro: A]\nSwerve, swerve, swerve, swerve! Jaa, eyy\n\n[Part 1: A & T]\nIch lache euch alle aus, so wie Mr. Wixa\nDein Weak-Ass-Flow hat mich getriggert\nJaja, Blitzgewitter\nWenn ich flex' auf dem Track mit dem Brickminister\nJaja, Mittelfinger\nAn die Gagos und ihren Mist auf Twitter\nIhr seid out-dated, so wie Windows Vista\nIhr meint ihr wärt die Future - ha, sicher sicher, klar\nEy, Flowwechsel, die so fresh sind, hat keiner von euch Lowlevels\nWill ich 'nen fordernden Gegner, dann müsst' ich mich klonen oder meinen Bro batteln\nYou don't get it, ne, versteh'n tut ihr gar nix\nFür euch sind wir nur ein Fehler der Matrix, was wollt ihr tun, wenn DAT ADAM aufs Gas tritt?\nOh damn, oh damn, das hätte niemand gedacht\nEy, die YouTube-Lelleks zeigen steady, wie man es macht\nSag mir, wer von den Lames packt so viel Stil in die Parts?\nWir machen dasselbe mit der Scene wie Freezer mit Namek\nBoom, we blow it up und Deutsche Rapper call'n Domian, brr\nOhne Spaß, wir drei sind on fire wie Ponita, ey\nIhr Style ist nicht eigen und weiter verbreitet als Comic Sans, ey\nBei Weitem ist keiner so nice wie die Hydra - you know it, bruh\n\n[Bridge 1]\n„Yeah, man – you know these German Rappers?“\n„Oh, fuck 'em man!“\n„They want to be like American rappers so bad right now.“\n„Yeah, that’s true!“\n„They just talkin 'bout fucking bitches, making money and all that lame ass boring shit.“\n\n[Part 2: A & T]\nYeah, geh und zähl dein Cash, zähl dein Cash, wir sorgen für 'nen Themawechsel\nIn der Welt ist stupid sein jetzt der Megatrend\nGeh mal weg, denn wenn wir spray'n, dann mit Vehemenz\nPermanent sind die DFA-Boys in ihr'm Element\nUnd bleiben wie sie sind, einfach nur gechillt - uns zu haten hat leider keinen Sinn\nDrei verspielte Kids zeigen ihre Skills, droppen Hits und besteigen den Olymp\nSchweben über Beats, leben die Musik - jede Selbstkritik wäre Blasphemie\nLad' 'ne Gun mit den Versen und den Skeems, ziel' auf euch und entleer' das Magazin\nWir spitten Fire wie ein Charizard\nImmer große Klappe wie ein Karnimani, bruh\nWir durchschauen all ihre Moves, Homie, Sharingan\nDer Sound ballert, wie ein fucking Kamehameha, woah\nWir flexen so ab wie 'ne Kreissäge\nEcht lächerlich, dass ihr euch einredet\nDass das, was ihr macht, die Future ist\nIch lach' über euch und die Scheißszene\nHahahaha, hahahaha, hahahaha, hahahaha\n\n[Bridge 2]\n„Yo brother!“\n„Mhm?“\n„You know, german rappers are really creative.“\n„Oh really?“\n„Yeah, they are creative when it comes to inventing new sell-out moves. You know, they want you to buy their album years before they even put out some music. They put stupid shit no one needs in ugly boxes, call them deluxe, just to push their revenue, which leads to better chart rankings in Germany.“\n„That’s hella wack!“\n\n[Part 3: A & T]\nYeah - genau das sind die Moves, mein Homie, jaja\nWarum sind sie solche Tools, mein Homie? Oh damn\nWir sind cold wie ein fuckin' Snowman\nUnd wie ein Virus für ihr fuckin' Program\nSie sind trapped im Jetzt und wir schon im Morgen, jajaja\nYeah, wir sind die motherfuckin' Babas\nZerfetzen in Sekunden wie Piranhas\nEure Promo ist nicht mehr als Propaganda\nBin zwar kein Japaner, aber euch nenne ich „Baka“\nHaha, haha - ihr seid alle lachhaft\nMein Magen tut weh, weil ich so lach', es ist unfassbar\nHahahahahaha\nWir bändigen Flames wie der Avatar\nTell me, wenn sie der Newshit sind\nWarum bring'n sie dann nichts Neues?\nManchmal gönn' ich mir, was in diesem Land als Coolshit gilt\nUnd bin disappointed\nFucking disappointed! - Einfach nur annoying (urgh)\nUnd wir soll'n also die sein, die hier Toys sind?\nWas vor Jahr'n schon von uns kam, bring'n Blitzmerker erst heute\nWir changen das Game, " <> ..., "DAT ADAM - xD (HOW TO FLEX & TROLL A SCENE)", "af36f8d9-87a3-4551-926c-9c0785d260ae", 240, false, "0W_k5WzaCSY", "https://www.youtube.com/watch?v=0W_k5WzaCSY", 47, "/downloads/music/DAT ADAM/DAT ADAM - xD (HOW TO FLEX & TROLL A SCENE).m4a", false, false, false, 1, [], 1, ~U[2017-04-30 10:00:00Z], ~U[2026-09-16 09:45:29Z], ~U[2026-09-16 09:45:29Z], "Video zu \"xD\", das wir spontan während der Tour gedreht haben. Danke an Lu für's filmen und schneiden. Danke an Mokubae für die Fisheye-Linse! Gönnt euch - http://bit.ly/Spotify_xD\n\nKamera & Schnitt: LUNA DARKO https://www.youtube.com/user/LunaDarkoOfficial\nProduction: HYDRA CLIQUE\nEquipment (Fisheye Objektiv): YOUNG MOKUBA https://twitter.com/youngmokuba\n\nTHANKS TO:\nNOK from the Future, Young Kira, Navy, Young Mokuba, Dorincourt, Leroy & SPACE CAMP CREW\n\n\nLYRICS:\n\n[Intro: A]\nSwerve, swerve, swerve, swerve! Jaa, eyy\n\n[Part 1: A & T]\nIch lache euch alle aus, so wie Mr. Wixa\nDein Weak-Ass-Flow hat mich getriggert\nJaja, Blitzgewitter\nWenn ich flex' auf dem Track mit dem Brickminister\nJaja, Mittelfinger\nAn die Gagos und ihren Mist auf Twitter\nIhr seid out-dated, so wie Windows Vista\nIhr meint ihr wärt die Future - ha, sicher sicher, klar\nEy, Flowwechsel, die so fresh sind, hat keiner von euch Lowlevels\nWill ich 'nen fordernden Gegner, dann müsst' ich mich klonen oder meinen Bro batteln\nYou don't get it, ne, versteh'n tut ihr gar nix\nFür euch sind wir nur ein Fehler der Matrix, was wollt ihr tun, wenn DAT ADAM aufs Gas tritt?\nOh damn, oh damn, das hätte niemand gedacht\nEy, die YouTube-Lelleks zeigen steady, wie man es macht\nSag mir, wer von den Lames packt so viel Stil in die Parts?\nWir machen dasselbe mit der Scene wie Freezer mit Namek\nBoom, we blow it up und Deutsche Rapper call'n Domian, brr\nOhne Spaß, wir drei sind on fire wie Ponita, ey\nIhr Style ist nicht eigen und weiter verbreitet als Comic Sans, ey\nBei Weitem ist keiner so nice wie die Hydra - you know it, bruh\n\n[Bridge 1]\n„Yeah, man – you know these German Rappers?“\n„Oh, fuck 'em man!“\n„They want to be like American rappers so bad right now.“\n„Yeah, that’s true!“\n„They just talkin 'bout fucking bitches, making money and all that lame ass boring shit.“\n\n[Part 2: A & T]\nYeah, geh und zähl dein Cash, zähl dein Cash, wir sorgen für 'nen Themawechsel\nIn der Welt ist stupid sein jetzt der Megatrend\nGeh mal weg, denn wenn wir spray'n, dann mit Vehemenz\nPermanent sind die DFA-Boys in ihr'm Element\nUnd bleiben wie sie sind, einfach nur gechillt - uns zu haten hat leider keinen Sinn\nDrei verspielte Kids zeigen ihre Skills, droppen Hits und besteigen den Olymp\nSchweben über Beats, leben die Musik - jede Selbstkritik wäre Blasphemie\nLad' 'ne Gun mit den Versen und den Skeems, ziel' auf euch und entleer' das Magazin\nWir spitten Fire wie ein Charizard\nImmer große Klappe wie ein Karnimani, bruh\nWir durchschauen all ihre Moves, Homie, Sharingan\nDer Sound ballert, wie ein fucking Kamehameha, woah\nWir flexen so ab wie 'ne Kreissäge\nEcht lächerlich, dass ihr euch einred (truncated) 09:45:29.258 [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" = ?) [1] 09:45:29.259 [debug] QUERY OK source="media_profiles" db=0.1ms idle=75.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:29.259 [debug] QUERY OK source="media_items" db=0.2ms idle=75.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 [86] 09:45:29.259 [debug] Current batch of media processed. Will check again in 1000ms 09:45:30.261 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "◤Thanks For Watching◢\n▼Click ''Show More'' for important links and info ▼\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n➥ Nightcore → In The Air\n➥ Genre: House\n➥ Original Title: Raven & Kreyn - In The Air\n➥ Download Link: /InTheAirID\n➥ Picture: http://www./member_illust.php?mode=medium&illust_id=59592660\n➥ Artist (artwork): http://www./member.php?id=9685977\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n▼Support the Artists▼\n\n➥ Raven & Kreyn\n●http://soundcloud.com/ravenkreyn\n●http://facebook.com/ravenkreyn\n●http://instagram.com/ravenkreyn\n\n➥ NCS\n●http://soundcloud.com/NoCopyrightSounds\n●http://instagram.com/NoCopyrightSounds\n●http://facebook.com/NoCopyrightSounds\n●http://twitch.tv/NoCopyrightSounds\n●http://twitter.com/NCSounds\n●http://spoti.fi/NCS\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n▼Support me here▼\n\n●Instagram: https://goo.gl/sIIU9R\n●Discord: https://discord.gg/8mr4Hjy\n●Twitch.tv: http://goo.gl/HuXddd\n●Facebook: http://goo.gl/9lE8f4\n●Soundcloud: https://goo.gl/DhRyyk\n●Donate: https://goo.gl/PjOzEq\n●My Promotion Channel: https://goo.gl/ULDA2l\n●Twitter: https://goo.gl/zrZW9x\n●Google+ : https://goo.gl/vGMOqM\n\n●For business inquiries: nepgearftw@gmail.com\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n▼DISCLAIMER▼\n\nI don't own anything in the video, including the audio and picture.\nThe credits go to the respective owners. I've just ''nightcored'' the song, \nwhich means i pitched it up and sped it up. If you are the owner of the song \nplease send me an email on this mail address and i will remove the song:\nnepgearftw@gmail.com\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ Who are you?\nMy channel name used to be ''Amazing Nightcore''\nI've changed it to ''Shiko'' https://youtu.be/iejEKTCE8GI", "duration" => 127, "filename" => "/downloads/music/Shiko/Nightcore - In The Air ✔.m4a", "id" => "oW1xCAyT7Ko", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oW1xCAyT7Ko", "playlist_index" => 48, "timestamp" => 1492002005, "title" => "Nightcore - In The Air ✔", "upload_date" => "20170412"} 09:45:30.262 [debug] QUERY OK source="sources" db=0.2ms idle=1004.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:30.262 [debug] QUERY OK source="sources" db=0.1ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:30.263 [debug] QUERY OK source="media_items" db=0.4ms idle=1003.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-04-12 13:00:05Z], 1] 09:45:30.265 [debug] QUERY OK source="media_items" db=1.3ms idle=1003.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["◤Thanks For Watching◢\n▼Click ''Show More'' for important links and info ▼\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n➥ Nightcore → In The Air\n➥ Genre: House\n➥ Original Title: Raven & Kreyn - In The Air\n➥ Download Link: /InTheAirID\n➥ Picture: http://www./member_illust.php?mode=medium&illust_id=59592660\n➥ Artist (artwork): http://www./member.php?id=9685977\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n▼Support the Artists▼\n\n➥ Raven & Kreyn\n●http://soundcloud.com/ravenkreyn\n●http://facebook.com/ravenkreyn\n●http://instagram.com/ravenkreyn\n\n➥ NCS\n●http://soundcloud.com/NoCopyrightSounds\n●http://instagram.com/NoCopyrightSounds\n●http://facebook.com/NoCopyrightSounds\n●http://twitch.tv/NoCopyrightSounds\n●http://twitter.com/NCSounds\n●http://spoti.fi/NCS\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n▼Support me here▼\n\n●Instagram: https://goo.gl/sIIU9R\n●Discord: https://discord.gg/8mr4Hjy\n●Twitch.tv: http://goo.gl/HuXddd\n●Facebook: http://goo.gl/9lE8f4\n●Soundcloud: https://goo.gl/DhRyyk\n●Donate: https://goo.gl/PjOzEq\n●My Promotion Channel: https://goo.gl/ULDA2l\n●Twitter: https://goo.gl/zrZW9x\n●Google+ : https://goo.gl/vGMOqM\n\n●For business inquiries: nepgearftw@gmail.com\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n▼DISCLAIMER▼\n\nI don't own anything in the video, including the audio and picture.\nThe credits go to the respective owners. I've just ''nightcored'' the song, \nwhich means i pitched it up and sped it up. If you are the owner of the song \nplease send me an email on this mail address and i will remove the song:\nnepgearftw@gmail.com\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ Who are you?\nMy channel name used to be ''Amazing Nightcore''\nI've changed it to ''Shiko'' https://youtu.be/iejEKTCE8GI", "Nightcore - In The Air ✔", "9bad109e-7ebd-4109-92d0-60057186bec8", 127, false, "oW1xCAyT7Ko", "https://www.youtube.com/watch?v=oW1xCAyT7Ko", 48, "/downloads/music/Shiko/Nightcore - In The Air ✔.m4a", false, false, false, 1, [], 1, ~U[2017-04-12 13:00:05Z], ~U[2026-09-16 09:45:30Z], ~U[2026-09-16 09:45:30Z], "◤Thanks For Watching◢\n▼Click ''Show More'' for important links and info ▼\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n➥ Nightcore → In The Air\n➥ Genre: House\n➥ Original Title: Raven & Kreyn - In The Air\n➥ Download Link: /InTheAirID\n➥ Picture: http://www./member_illust.php?mode=medium&illust_id=59592660\n➥ Artist (artwork): http://www./member.php?id=9685977\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n▼Support the Artists▼\n\n➥ Raven & Kreyn\n●http://soundcloud.com/ravenkreyn\n●http://facebook.com/ravenkreyn\n●http://instagram.com/ravenkreyn\n\n➥ NCS\n●http://soundcloud.com/NoCopyrightSounds\n●http://instagram.com/NoCopyrightSounds\n●http://facebook.com/NoCopyrightSounds\n●http://twitch.tv/NoCopyrightSounds\n●http://twitter.com/NCSounds\n●http://spoti.fi/NCS\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n▼Support me here▼\n\n●Instagram: https://goo.gl/sIIU9R\n●Discord: https://discord.gg/8mr4Hjy\n●Twitch.tv: http://goo.gl/HuXddd\n●Facebook: http://goo.gl/9lE8f4\n●Soundcloud: https://goo.gl/DhRyyk\n●Donate: https://goo.gl/PjOzEq\n●My Promotion Channel: https://goo.gl/ULDA2l\n●Twitter: https://goo.gl/zrZW9x\n●Google+ : https://goo.gl/vGMOqM\n\n●For business inquiries: nepgearftw@gmail.com\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n▼DISCLAIMER▼\n\nI don't own anything in the video, including the audio and picture.\nThe credits go to the respective owners. I've just ''nightcored'' the song, \nwhich means i pitched it up and sped it up. If you are the owner of the song \nplease send me an email on this mail address and i will remove the song:\nnepgearftw@gmail.com\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ Who are you?\nMy channel name used to be ''Amazing Nightcore''\nI've changed it to ''Shiko'' https://youtu.be/iejEKTCE8GI", "Nightcore - In The Air ✔", 127, false, "oW1xCAyT7Ko", "https://www.youtube.com/watch?v=oW1xCAyT7Ko", "/downloads/music/Shiko/Nightcore - In The Air ✔.m4a", false, 1, ~U[2017-04-12 13:00:05Z]] 09:45:30.265 [debug] QUERY OK source="sources" db=0.1ms idle=43.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:30.266 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:30.266 [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 [99] 09:45:30.266 [debug] Current batch of media processed. Will check again in 1000ms 09:45:31.268 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "♫ Free Download: https://click.dj/stelouse/bryce-fox-horns-stlouse-remix\n♥ Heart it on HypeMachine: http://hypem.com/track/2kw6s/Bryce+Fox+-+Horns+(ST%C3%A9LOUSE+Remix\n\n[Genre: Electronic]\n\n\n►STéLOUSE:\nhttps://soundcloud.com/stelouse\nhttps://www.instagram.com/stelouse/\nhttps://www.facebook.com/stelouse\nhttps://twitter.com/stelouse\nhttp://stelouse.com/\n\n\n►Bryce Fox:\nhttps://soundcloud.com/brycefoxed\nhttps://www.instagram.com/brycefoxed/?hl=en\nhttps://twitter.com/BryceFoxed\n\n\n►xKito Music:\nhttps://www.facebook.com/xKitoMusic\nhttps://twitter.com/xkito_music\nhttps://instagram.com/xkito_m/\nhttps://soundcloud.com/xkitomusic\nhttps://www.youtube.com/c/xKitoMusic\n\n\n►Submit your music to xKito:\nhttps://www.toneden.io/xkito\n\n\n►SUBMIT YOUR ARTWORK!\nYou like to draw and would like your art to be featured on an xKito Music Video? Send an email to xkitomusic@gmail.com with your art attached!\n\n\n►PICTURE → http://www.pixiv.net/member_illust.php?mode=medium&illust_id=59459784\n©Artwork by: 駿河クロイツ\nhttp://www.pixiv.net/member.php?id=2361021\nhttps://twitter.com/kurenai153\nhttp://rozariomain.tumblr.com/\n\n\n►Usage Policy:\n✖ Please get in touch with the artist(s) for usage of this track in your Youtube videos.\n\n\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n•IMPORTANT: \nIf any artist or label has copyright issues with my videos (including artists of the images used), please send an e-mail to: xkitomusic@gmail.com and I will remove it immediately!", "duration" => 204, "filename" => "/downloads/music/xKito Music/Bryce Fox - Horns (STéLOUSE Remix).m4a", "id" => "Q_NB5luxtic", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Q_NB5luxtic", "playlist_index" => 49, "timestamp" => 1486927761, "title" => "Bryce Fox - Horns (STéLOUSE Remix)", "upload_date" => "20170212"} 09:45:31.269 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:31.269 [debug] QUERY OK source="sources" db=0.1ms idle=1003.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:31.269 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-02-12 19:29:21Z], 1] 09:45:31.271 [debug] QUERY OK source="media_items" db=1.2ms idle=1003.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["♫ Free Download: https://click.dj/stelouse/bryce-fox-horns-stlouse-remix\n♥ Heart it on HypeMachine: http://hypem.com/track/2kw6s/Bryce+Fox+-+Horns+(ST%C3%A9LOUSE+Remix\n\n[Genre: Electronic]\n\n\n►STéLOUSE:\nhttps://soundcloud.com/stelouse\nhttps://www.instagram.com/stelouse/\nhttps://www.facebook.com/stelouse\nhttps://twitter.com/stelouse\nhttp://stelouse.com/\n\n\n►Bryce Fox:\nhttps://soundcloud.com/brycefoxed\nhttps://www.instagram.com/brycefoxed/?hl=en\nhttps://twitter.com/BryceFoxed\n\n\n►xKito Music:\nhttps://www.facebook.com/xKitoMusic\nhttps://twitter.com/xkito_music\nhttps://instagram.com/xkito_m/\nhttps://soundcloud.com/xkitomusic\nhttps://www.youtube.com/c/xKitoMusic\n\n\n►Submit your music to xKito:\nhttps://www.toneden.io/xkito\n\n\n►SUBMIT YOUR ARTWORK!\nYou like to draw and would like your art to be featured on an xKito Music Video? Send an email to xkitomusic@gmail.com with your art attached!\n\n\n►PICTURE → http://www.pixiv.net/member_illust.php?mode=medium&illust_id=59459784\n©Artwork by: 駿河クロイツ\nhttp://www.pixiv.net/member.php?id=2361021\nhttps://twitter.com/kurenai153\nhttp://rozariomain.tumblr.com/\n\n\n►Usage Policy:\n✖ Please get in touch with the artist(s) for usage of this track in your Youtube videos.\n\n\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n•IMPORTANT: \nIf any artist or label has copyright issues with my videos (including artists of the images used), please send an e-mail to: xkitomusic@gmail.com and I will remove it immediately!", "Bryce Fox - Horns (STéLOUSE Remix)", "e9991c3f-d847-455c-99e9-6427a75963a7", 204, false, "Q_NB5luxtic", "https://www.youtube.com/watch?v=Q_NB5luxtic", 49, "/downloads/music/xKito Music/Bryce Fox - Horns (STéLOUSE Remix).m4a", false, false, false, 1, [], 1, ~U[2017-02-12 19:29:21Z], ~U[2026-09-16 09:45:31Z], ~U[2026-09-16 09:45:31Z], "♫ Free Download: https://click.dj/stelouse/bryce-fox-horns-stlouse-remix\n♥ Heart it on HypeMachine: http://hypem.com/track/2kw6s/Bryce+Fox+-+Horns+(ST%C3%A9LOUSE+Remix\n\n[Genre: Electronic]\n\n\n►STéLOUSE:\nhttps://soundcloud.com/stelouse\nhttps://www.instagram.com/stelouse/\nhttps://www.facebook.com/stelouse\nhttps://twitter.com/stelouse\nhttp://stelouse.com/\n\n\n►Bryce Fox:\nhttps://soundcloud.com/brycefoxed\nhttps://www.instagram.com/brycefoxed/?hl=en\nhttps://twitter.com/BryceFoxed\n\n\n►xKito Music:\nhttps://www.facebook.com/xKitoMusic\nhttps://twitter.com/xkito_music\nhttps://instagram.com/xkito_m/\nhttps://soundcloud.com/xkitomusic\nhttps://www.youtube.com/c/xKitoMusic\n\n\n►Submit your music to xKito:\nhttps://www.toneden.io/xkito\n\n\n►SUBMIT YOUR ARTWORK!\nYou like to draw and would like your art to be featured on an xKito Music Video? Send an email to xkitomusic@gmail.com with your art attached!\n\n\n►PICTURE → http://www.pixiv.net/member_illust.php?mode=medium&illust_id=59459784\n©Artwork by: 駿河クロイツ\nhttp://www.pixiv.net/member.php?id=2361021\nhttps://twitter.com/kurenai153\nhttp://rozariomain.tumblr.com/\n\n\n►Usage Policy:\n✖ Please get in touch with the artist(s) for usage of this track in your Youtube videos.\n\n\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n•IMPORTANT: \nIf any artist or label has copyright issues with my videos (including artists of the images used), please send an e-mail to: xkitomusic@gmail.com and I will remove it immediately!", "Bryce Fox - Horns (STéLOUSE Remix)", 204, false, "Q_NB5luxtic", "https://www.youtube.com/watch?v=Q_NB5luxtic", "/downloads/music/xKito Music/Bryce Fox - Horns (STéLOUSE Remix).m4a", false, 1, ~U[2017-02-12 19:29:21Z]] 09:45:31.272 [debug] QUERY OK source="sources" db=0.1ms idle=49.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:31.272 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:31.273 [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 [100] 09:45:31.273 [debug] Current batch of media processed. Will check again in 1000ms 09:45:32.274 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Vanic - Samurai (feat. Katy Tiz) (Spirix Remix)\n\n⬙ FAVOURITES ON SPOTIFY ⬙\n⇥ http://mrsuicidesheep.com/favourites\n\nSamurai!\nDownload... http://apple.co/2mZ5ESn\n\nSpirix\nhttps://soundcloud.com/spirixmusic\nhttps://www.facebook.com/spirixmusic\nhttps://twitter.com/spirixmusic\nhttps://www.instagram.com/spirixofficial/\n\nVanic\nhttps://soundcloud.com/djvanic\nhttps://www.facebook.com/djvanic\nhttps://twitter.com/djVANIC\nhttps://www.instagram.com/djvanic/\n\nArtwork by Guweiz\nhttp://fav.me/d9v76x8\nhttps://twitter.com/ttguweiz\nhttps://www.patreon.com/guweiz\nhttps://www.facebook.com/guweiz\n\n⬗ Sheepy Store ⬗\n⇥ http://mrsuicidesheep.com/store\n\n⬖ Submit Music & Art ⬖\n⇥ http://mrsuicidesheep.com/submit\n\n⬙ Sheepy Instagram ⬙\n⇥ http://mrsuicidesheep.com/insta\n\n⬘ Spotify: Channel Uploads ⬘\n⇥ http://mrsuicidesheep.com/channeluploads\n\n⬗ Spotify: Seeking Blue ⬗\n⇥ http://mrsuicidesheep.com/skblueplaylist", "duration" => 186, "filename" => "/downloads/music/MrSuicideSheep/Vanic - Samurai (feat. Katy Tiz) (Spirix Remix).m4a", "id" => "0khZ8h5szik", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0khZ8h5szik", "playlist_index" => 50, "timestamp" => 1490387359, "title" => "Vanic - Samurai (feat. Katy Tiz) (Spirix Remix)", "upload_date" => "20170324"} 09:45:32.275 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:32.276 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1003.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:32.277 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1003.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-03-24 20:29:19Z], 1] 09:45:32.280 [debug] QUERY OK source="media_items" db=2.4ms idle=1004.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Vanic - Samurai (feat. Katy Tiz) (Spirix Remix)\n\n⬙ FAVOURITES ON SPOTIFY ⬙\n⇥ http://mrsuicidesheep.com/favourites\n\nSamurai!\nDownload... http://apple.co/2mZ5ESn\n\nSpirix\nhttps://soundcloud.com/spirixmusic\nhttps://www.facebook.com/spirixmusic\nhttps://twitter.com/spirixmusic\nhttps://www.instagram.com/spirixofficial/\n\nVanic\nhttps://soundcloud.com/djvanic\nhttps://www.facebook.com/djvanic\nhttps://twitter.com/djVANIC\nhttps://www.instagram.com/djvanic/\n\nArtwork by Guweiz\nhttp://fav.me/d9v76x8\nhttps://twitter.com/ttguweiz\nhttps://www.patreon.com/guweiz\nhttps://www.facebook.com/guweiz\n\n⬗ Sheepy Store ⬗\n⇥ http://mrsuicidesheep.com/store\n\n⬖ Submit Music & Art ⬖\n⇥ http://mrsuicidesheep.com/submit\n\n⬙ Sheepy Instagram ⬙\n⇥ http://mrsuicidesheep.com/insta\n\n⬘ Spotify: Channel Uploads ⬘\n⇥ http://mrsuicidesheep.com/channeluploads\n\n⬗ Spotify: Seeking Blue ⬗\n⇥ http://mrsuicidesheep.com/skblueplaylist", "Vanic - Samurai (feat. Katy Tiz) (Spirix Remix)", "8099ae1b-4484-4a44-9144-f93817b98b83", 186, false, "0khZ8h5szik", "https://www.youtube.com/watch?v=0khZ8h5szik", 50, "/downloads/music/MrSuicideSheep/Vanic - Samurai (feat. Katy Tiz) (Spirix Remix).m4a", false, false, false, 1, [], 1, ~U[2017-03-24 20:29:19Z], ~U[2026-09-16 09:45:32Z], ~U[2026-09-16 09:45:32Z], "Vanic - Samurai (feat. Katy Tiz) (Spirix Remix)\n\n⬙ FAVOURITES ON SPOTIFY ⬙\n⇥ http://mrsuicidesheep.com/favourites\n\nSamurai!\nDownload... http://apple.co/2mZ5ESn\n\nSpirix\nhttps://soundcloud.com/spirixmusic\nhttps://www.facebook.com/spirixmusic\nhttps://twitter.com/spirixmusic\nhttps://www.instagram.com/spirixofficial/\n\nVanic\nhttps://soundcloud.com/djvanic\nhttps://www.facebook.com/djvanic\nhttps://twitter.com/djVANIC\nhttps://www.instagram.com/djvanic/\n\nArtwork by Guweiz\nhttp://fav.me/d9v76x8\nhttps://twitter.com/ttguweiz\nhttps://www.patreon.com/guweiz\nhttps://www.facebook.com/guweiz\n\n⬗ Sheepy Store ⬗\n⇥ http://mrsuicidesheep.com/store\n\n⬖ Submit Music & Art ⬖\n⇥ http://mrsuicidesheep.com/submit\n\n⬙ Sheepy Instagram ⬙\n⇥ http://mrsuicidesheep.com/insta\n\n⬘ Spotify: Channel Uploads ⬘\n⇥ http://mrsuicidesheep.com/channeluploads\n\n⬗ Spotify: Seeking Blue ⬗\n⇥ http://mrsuicidesheep.com/skblueplaylist", "Vanic - Samurai (feat. Katy Tiz) (Spirix Remix)", 186, false, "0khZ8h5szik", "https://www.youtube.com/watch?v=0khZ8h5szik", "/downloads/music/MrSuicideSheep/Vanic - Samurai (feat. Katy Tiz) (Spirix Remix).m4a", false, 1, ~U[2017-03-24 20:29:19Z]] 09:45:32.281 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=57.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:32.281 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:32.282 [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 [101] 09:45:32.282 [debug] Current batch of media processed. Will check again in 1000ms 09:45:33.283 [debug] Current batch of media processed. Will check again in 1000ms 09:45:34.284 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "⭐️ Follow us on Spotify:\n➥ https://divergemusic.group/SpotifyPlaylists\n\n♫ Artist: Klaypex, GRÉTA\nTrack: Robot Love\nGenre: Future Funk\n\n♫ Free Download\n● https://soundcloud.com/klaypex/robotlove\n\n♫ Support on iTunes\n● http://smarturl.it/The-FutureEP\n \n★ Klaypex\nSoundcloud → https://soundcloud.com/klaypex\nFacebook → http://www.facebook.com/Klaypex/\nYoutube → http://www.youtube.com/Klaypex\nWebsite → http://www.klaypex.com/\nTwitter → http://www.twitter.com/Klaypex\n\n★ GRÉTA\nSoundcloud → https://soundcloud.com/gretakaren\nFacebook → https://www.facebook.com/greta.k.gretarsdottir\nYoutube → https://www.youtube.com/gretakaren1\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n★ Background: http://i.imgur.com/bFvxyjE.png\n• Artwork by Dangmill\nhttp://www.pixiv.net/member.php?id=5155946\n\n★ Intro Background: http://i.imgur.com/XEwywJl.jpg\n• Artwork by Hiten\nhttp://www.pixiv.net/member.php?id=490219\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n© Diversity\nTwitter → https://twitter.com/DiversPromo\nWebsite → http://www.edm-diversity.com/\nYoutube → http://www.youtube.com/user/DiavelNN\nBeatport → https://pro.beatport.com/label/diversity-recordings/46335\nGoogle+ → https://plus.google.com/+edmDiversityRecordings\nFacebook → https://www.facebook.com/diverpromos\nSoundcloud → https://soundcloud.com/diversitypromotions\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nIf any producer or label has an issue with any of the uploads please get in contact (ztitaniumzz@gmail.com) and it will be deleted immediately (this includes artists of the images used) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n🚫 Copyrights\nAll of the music you hear on this channel is copyrighted and has been provided to this channel with permission from the artists/labels.\nPlease get in touch with the label for usage of this track in your videos.", "duration" => 230, "filename" => "/downloads/music/Diversity/Klaypex ft. GRÉTA - Robot Love.m4a", "id" => "XShdmeKmNxw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XShdmeKmNxw", "playlist_index" => 51, "timestamp" => 1430413998, "title" => "Klaypex ft. GRÉTA - Robot Love", "upload_date" => "20150430"} 09:45:34.285 [debug] QUERY OK source="sources" db=0.4ms idle=948.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:34.285 [debug] QUERY OK source="sources" db=0.4ms idle=949.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:34.286 [debug] QUERY OK source="media_items" db=0.4ms idle=949.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2015-04-30 17:13:18Z], 1] 09:45:34.289 [debug] QUERY OK source="media_items" db=1.5ms idle=950.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["⭐️ Follow us on Spotify:\n➥ https://divergemusic.group/SpotifyPlaylists\n\n♫ Artist: Klaypex, GRÉTA\nTrack: Robot Love\nGenre: Future Funk\n\n♫ Free Download\n● https://soundcloud.com/klaypex/robotlove\n\n♫ Support on iTunes\n● http://smarturl.it/The-FutureEP\n \n★ Klaypex\nSoundcloud → https://soundcloud.com/klaypex\nFacebook → http://www.facebook.com/Klaypex/\nYoutube → http://www.youtube.com/Klaypex\nWebsite → http://www.klaypex.com/\nTwitter → http://www.twitter.com/Klaypex\n\n★ GRÉTA\nSoundcloud → https://soundcloud.com/gretakaren\nFacebook → https://www.facebook.com/greta.k.gretarsdottir\nYoutube → https://www.youtube.com/gretakaren1\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n★ Background: http://i.imgur.com/bFvxyjE.png\n• Artwork by Dangmill\nhttp://www.pixiv.net/member.php?id=5155946\n\n★ Intro Background: http://i.imgur.com/XEwywJl.jpg\n• Artwork by Hiten\nhttp://www.pixiv.net/member.php?id=490219\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n© Diversity\nTwitter → https://twitter.com/DiversPromo\nWebsite → http://www.edm-diversity.com/\nYoutube → http://www.youtube.com/user/DiavelNN\nBeatport → https://pro.beatport.com/label/diversity-recordings/46335\nGoogle+ → https://plus.google.com/+edmDiversityRecordings\nFacebook → https://www.facebook.com/diverpromos\nSoundcloud → https://soundcloud.com/diversitypromotions\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nIf any producer or label has an issue with any of the uploads please get in contact (ztitaniumzz@gmail.com) and it will be deleted immediately (this includes artists of the images used) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n🚫 Copyrights\nAll of the music you hear on this channel is copyrighted and has been provided to this channel with permission from the artists/labels.\nPlease get in touch with the label for usage of this track in your videos.", "Klaypex ft. GRÉTA - Robot Love", "2019a3aa-a7f1-484a-b57b-ad2c6db8cfed", 230, false, "XShdmeKmNxw", "https://www.youtube.com/watch?v=XShdmeKmNxw", 51, "/downloads/music/Diversity/Klaypex ft. GRÉTA - Robot Love.m4a", false, false, false, 1, [], 1, ~U[2015-04-30 17:13:18Z], ~U[2026-09-16 09:45:34Z], ~U[2026-09-16 09:45:34Z], "⭐️ Follow us on Spotify:\n➥ https://divergemusic.group/SpotifyPlaylists\n\n♫ Artist: Klaypex, GRÉTA\nTrack: Robot Love\nGenre: Future Funk\n\n♫ Free Download\n● https://soundcloud.com/klaypex/robotlove\n\n♫ Support on iTunes\n● http://smarturl.it/The-FutureEP\n \n★ Klaypex\nSoundcloud → https://soundcloud.com/klaypex\nFacebook → http://www.facebook.com/Klaypex/\nYoutube → http://www.youtube.com/Klaypex\nWebsite → http://www.klaypex.com/\nTwitter → http://www.twitter.com/Klaypex\n\n★ GRÉTA\nSoundcloud → https://soundcloud.com/gretakaren\nFacebook → https://www.facebook.com/greta.k.gretarsdottir\nYoutube → https://www.youtube.com/gretakaren1\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n★ Background: http://i.imgur.com/bFvxyjE.png\n• Artwork by Dangmill\nhttp://www.pixiv.net/member.php?id=5155946\n\n★ Intro Background: http://i.imgur.com/XEwywJl.jpg\n• Artwork by Hiten\nhttp://www.pixiv.net/member.php?id=490219\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n© Diversity\nTwitter → https://twitter.com/DiversPromo\nWebsite → http://www.edm-diversity.com/\nYoutube → http://www.youtube.com/user/DiavelNN\nBeatport → https://pro.beatport.com/label/diversity-recordings/46335\nGoogle+ → https://plus.google.com/+edmDiversityRecordings\nFacebook → https://www.facebook.com/diverpromos\nSoundcloud → https://soundcloud.com/diversitypromotions\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nIf any producer or label has an issue with any of the uploads please get in contact (ztitaniumzz@gmail.com) and it will be deleted immediately (this includes artists of the images used) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n🚫 Copyrights\nAll of the music you hear on this channel is copyrighted and has been provided to this channel with permission from the artists/labels.\nPlease get in touch with the label for usage of this track in your videos.", "Klaypex ft. GRÉTA - Robot Love", 230, false, "XShdmeKmNxw", "https://www.youtube.com/watch?v=XShdmeKmNxw", "/downloads/music/Diversity/Klaypex ft. GRÉTA - Robot Love.m4a", false, 1, ~U[2015-04-30 17:13:18Z]] 09:45:34.289 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=63.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:34.290 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:34.291 [debug] QUERY OK source="media_items" db=0.3ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [102] 09:45:34.291 [debug] Current batch of media processed. Will check again in 1000ms 09:45:35.292 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "♫ Artist: Flaremode\nTrack: Saturday\nGenre: Funk\n\n♫ Free Download\n● http://click.dj/diversityrecs/flaremode-saturday\n\n♫ Listen on Spotify\n● http://open.spotify.com/album/1TXMpnllY18767wQV6QBBh\n \n★ Flaremode\nSoundcloud → https://soundcloud.com/flaremode\nFacebook → http://www.facebook.com/flaremodeofficial\nYoutube → http://www.youtube.com/user/FLAREMODETV\nTwitter → http://twitter.com/flaremode\n\n★ Diversity\nTwitter → https://twitter.com/DiversPromo\nWebsite → http://www.edm-diversity.com/\nYoutube → http://www.youtube.com/user/DiavelNN\nBeatport → https://pro.beatport.com/label/diversity-recordings/46335\nGoogle+ → https://plus.google.com/+edmDiversityRecordings\nFacebook → https://www.facebook.com/diverpromos\nSoundcloud → https://soundcloud.com/diversitypromotions\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n★ Background: http://i.imgur.com/1Ka1vUA.jpg\n• Artwork by リキ-ト\nhttp://www.pixiv.net/member.php?id=7905100\n\n★ Intro Background: http://i.imgur.com/QsEbKBz.jpg\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nIf any producer or label has an issue with any of the uploads please get in contact (ztitaniumzz@gmail.com) and it will be deleted immediately (this includes artists of the images used) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n🚫 Copyrights\nAll of the music you hear on this channel is copyrighted and has been provided to this channel with permission from the artists/labels.\nPlease get in touch with the label for usage of this track in your videos.", "duration" => 323, "filename" => "/downloads/music/Diversity/Flaremode - Saturday | Diversity Release.m4a", "id" => "exzFCMI0KJQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=exzFCMI0KJQ", "playlist_index" => 52, "timestamp" => 1428811593, "title" => "Flaremode - Saturday | Diversity Release", "upload_date" => "20150412"} 09:45:35.293 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1004.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:35.294 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1003.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:35.295 [debug] QUERY OK source="media_items" db=0.7ms idle=1003.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2015-04-12 04:06:33Z], 1] 09:45:35.297 [debug] QUERY OK source="media_items" db=1.7ms idle=1004.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["♫ Artist: Flaremode\nTrack: Saturday\nGenre: Funk\n\n♫ Free Download\n● http://click.dj/diversityrecs/flaremode-saturday\n\n♫ Listen on Spotify\n● http://open.spotify.com/album/1TXMpnllY18767wQV6QBBh\n \n★ Flaremode\nSoundcloud → https://soundcloud.com/flaremode\nFacebook → http://www.facebook.com/flaremodeofficial\nYoutube → http://www.youtube.com/user/FLAREMODETV\nTwitter → http://twitter.com/flaremode\n\n★ Diversity\nTwitter → https://twitter.com/DiversPromo\nWebsite → http://www.edm-diversity.com/\nYoutube → http://www.youtube.com/user/DiavelNN\nBeatport → https://pro.beatport.com/label/diversity-recordings/46335\nGoogle+ → https://plus.google.com/+edmDiversityRecordings\nFacebook → https://www.facebook.com/diverpromos\nSoundcloud → https://soundcloud.com/diversitypromotions\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n★ Background: http://i.imgur.com/1Ka1vUA.jpg\n• Artwork by リキ-ト\nhttp://www.pixiv.net/member.php?id=7905100\n\n★ Intro Background: http://i.imgur.com/QsEbKBz.jpg\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nIf any producer or label has an issue with any of the uploads please get in contact (ztitaniumzz@gmail.com) and it will be deleted immediately (this includes artists of the images used) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n🚫 Copyrights\nAll of the music you hear on this channel is copyrighted and has been provided to this channel with permission from the artists/labels.\nPlease get in touch with the label for usage of this track in your videos.", "Flaremode - Saturday | Diversity Release", "95d276be-b180-4cf7-8598-611c525ab4b0", 323, false, "exzFCMI0KJQ", "https://www.youtube.com/watch?v=exzFCMI0KJQ", 52, "/downloads/music/Diversity/Flaremode - Saturday | Diversity Release.m4a", false, false, false, 1, [], 1, ~U[2015-04-12 04:06:33Z], ~U[2026-09-16 09:45:35Z], ~U[2026-09-16 09:45:35Z], "♫ Artist: Flaremode\nTrack: Saturday\nGenre: Funk\n\n♫ Free Download\n● http://click.dj/diversityrecs/flaremode-saturday\n\n♫ Listen on Spotify\n● http://open.spotify.com/album/1TXMpnllY18767wQV6QBBh\n \n★ Flaremode\nSoundcloud → https://soundcloud.com/flaremode\nFacebook → http://www.facebook.com/flaremodeofficial\nYoutube → http://www.youtube.com/user/FLAREMODETV\nTwitter → http://twitter.com/flaremode\n\n★ Diversity\nTwitter → https://twitter.com/DiversPromo\nWebsite → http://www.edm-diversity.com/\nYoutube → http://www.youtube.com/user/DiavelNN\nBeatport → https://pro.beatport.com/label/diversity-recordings/46335\nGoogle+ → https://plus.google.com/+edmDiversityRecordings\nFacebook → https://www.facebook.com/diverpromos\nSoundcloud → https://soundcloud.com/diversitypromotions\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n★ Background: http://i.imgur.com/1Ka1vUA.jpg\n• Artwork by リキ-ト\nhttp://www.pixiv.net/member.php?id=7905100\n\n★ Intro Background: http://i.imgur.com/QsEbKBz.jpg\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nIf any producer or label has an issue with any of the uploads please get in contact (ztitaniumzz@gmail.com) and it will be deleted immediately (this includes artists of the images used) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n🚫 Copyrights\nAll of the music you hear on this channel is copyrighted and has been provided to this channel with permission from the artists/labels.\nPlease get in touch with the label for usage of this track in your videos.", "Flaremode - Saturday | Diversity Release", 323, false, "exzFCMI0KJQ", "https://www.youtube.com/watch?v=exzFCMI0KJQ", "/downloads/music/Diversity/Flaremode - Saturday | Diversity Release.m4a", false, 1, ~U[2015-04-12 04:06:33Z]] 09:45:35.298 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=70.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:35.299 [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] 09:45:35.299 [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 [103] 09:45:35.299 [debug] Current batch of media processed. Will check again in 1000ms 09:45:36.300 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "ily Nards :) - aden\n\n\n\nOriginal Video: https://www.youtube.com/watch?v=KFtKs...\n\n\nEditor : https://www.youtube.com/channel/UCqDp...\n\n\nSong: https://soundcloud.com/tennysonmusic/...\n\n\n\nMusic Submissions: http://animevibe.co\nMusic Submissions: http://animevibe.co\nMusic Submissions: http://animevibe.co\n\n\n\n\n\nAV Merch: https://teespring.com/stores/animevibe\n\n\nAnimeVibe:\nTwitter: https://twitter.com/AnimeVibe_\nDK's Twitter: https://twitter.com/Animevibe_dk\nInsta: https://www.instagram.com/avrecords.co\nSoundcloud: https://soundcloud.com/animevibe\nTwitch: http://www.twitch.tv/animevibe_\n\n\n\nDisclaimer*\nWe do not own ANY rights to any of the music or footage we share, if you have a problem with our way of promotion, shoot us an email and we will take the video down if needed. AnimeVibe2014@gmail.com", "duration" => 141, "filename" => "/downloads/music/AnimeVibe/For You x Nards (AMV).m4a", "id" => "whlW8RY-Jl0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=whlW8RY-Jl0", "playlist_index" => 53, "timestamp" => 1487980878, "title" => "For You x Nards (AMV)", "upload_date" => "20170225"} 09:45:36.300 [debug] QUERY OK source="sources" db=0.2ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:36.301 [debug] QUERY OK source="sources" db=0.3ms idle=1002.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:36.302 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-02-25 00:01:18Z], 1] 09:45:36.305 [debug] QUERY OK source="media_items" db=2.3ms idle=1002.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["ily Nards :) - aden\n\n\n\nOriginal Video: https://www.youtube.com/watch?v=KFtKs...\n\n\nEditor : https://www.youtube.com/channel/UCqDp...\n\n\nSong: https://soundcloud.com/tennysonmusic/...\n\n\n\nMusic Submissions: http://animevibe.co\nMusic Submissions: http://animevibe.co\nMusic Submissions: http://animevibe.co\n\n\n\n\n\nAV Merch: https://teespring.com/stores/animevibe\n\n\nAnimeVibe:\nTwitter: https://twitter.com/AnimeVibe_\nDK's Twitter: https://twitter.com/Animevibe_dk\nInsta: https://www.instagram.com/avrecords.co\nSoundcloud: https://soundcloud.com/animevibe\nTwitch: http://www.twitch.tv/animevibe_\n\n\n\nDisclaimer*\nWe do not own ANY rights to any of the music or footage we share, if you have a problem with our way of promotion, shoot us an email and we will take the video down if needed. AnimeVibe2014@gmail.com", "For You x Nards (AMV)", "35c4ea55-be2b-4a62-a5bb-59b1829f41e4", 141, false, "whlW8RY-Jl0", "https://www.youtube.com/watch?v=whlW8RY-Jl0", 53, "/downloads/music/AnimeVibe/For You x Nards (AMV).m4a", false, false, false, 1, [], 1, ~U[2017-02-25 00:01:18Z], ~U[2026-09-16 09:45:36Z], ~U[2026-09-16 09:45:36Z], "ily Nards :) - aden\n\n\n\nOriginal Video: https://www.youtube.com/watch?v=KFtKs...\n\n\nEditor : https://www.youtube.com/channel/UCqDp...\n\n\nSong: https://soundcloud.com/tennysonmusic/...\n\n\n\nMusic Submissions: http://animevibe.co\nMusic Submissions: http://animevibe.co\nMusic Submissions: http://animevibe.co\n\n\n\n\n\nAV Merch: https://teespring.com/stores/animevibe\n\n\nAnimeVibe:\nTwitter: https://twitter.com/AnimeVibe_\nDK's Twitter: https://twitter.com/Animevibe_dk\nInsta: https://www.instagram.com/avrecords.co\nSoundcloud: https://soundcloud.com/animevibe\nTwitch: http://www.twitch.tv/animevibe_\n\n\n\nDisclaimer*\nWe do not own ANY rights to any of the music or footage we share, if you have a problem with our way of promotion, shoot us an email and we will take the video down if needed. AnimeVibe2014@gmail.com", "For You x Nards (AMV)", 141, false, "whlW8RY-Jl0", "https://www.youtube.com/watch?v=whlW8RY-Jl0", "/downloads/music/AnimeVibe/For You x Nards (AMV).m4a", false, 1, ~U[2017-02-25 00:01:18Z]] 09:45:36.306 [debug] QUERY OK source="sources" db=0.3ms idle=76.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:36.306 [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] 09:45:36.307 [debug] QUERY OK source="media_items" db=0.4ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [104] 09:45:36.308 [debug] Current batch of media processed. Will check again in 1000ms 09:45:37.309 [debug] Current batch of media processed. Will check again in 1000ms 09:45:38.310 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Download 'Delight': https://www.junodownload.com/products/delight/2069252-02/\n\n♫ Follow Jamie Berry:\n♥ Soundcloud: https://soundcloud.com/jamie-berry\n♥ Facebook: https://www.facebook.com/jamie.berry3\n♥ Website: http://www.flakrecords.com/jamieberry.php\n\n♫ Follow Octavia Rose:\n♥ Soundcloud: https://soundcloud.com/octavia-rose\n♥I nstagram: https://www.instagram.com/octaviarosemusic/\n♥ Facebook: https://www.facebook.com/Octavia-Rose-102835114395692/\n\n♫ Follow Flak Records: \n♥ Soundcloud: https://soundcloud.com/flakrecords\n♥ Facebook: https://www.facebook.com/pages/Flak-Records/233465740030102\n♥ Twitter: http://twitter.com/FLAKRecords\n\n♫ Support Funky Panda\n♥ Website: http://www.funkypanda.net/\n♥ Spotify: https://open.spotify.com/user/funky_way\n♥ Facebook: https://www.facebook.com/funkypanda\n♥ SoundCloud: https://soundcloud.com/fnkypanda\n♥ Twitter: https://twitter.com/FunkyPanda\n♥ YouTube: https://www.youtube.com/FunkyPanda\n♥ Merch: https://designbyhumans.com/shop/FunkyPanda\n\nStream FunkyWay on Spotify: https://open.spotify.com/user/funky_way\n\nDo you want to Showcase your Music on Funky Panda? Be sure to send all your music links to demo@funkypanda.net\n\n▼ ▼ ▼\n\nArtwork & Animation by Petirep\n♥ DeviantArt: http://petirep.deviantart.com/\n\n∞ Thank you for Listening to YouTube's #1 Funky Network ∞\n\n#Electro #Swing #Dance", "duration" => 344, "filename" => "/downloads/music/Funky Panda™/#ElectroSwing | Jamie Berry ft. Octavia Rose - Delight.m4a", "id" => "aH5aq4V0Ywk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aH5aq4V0Ywk", "playlist_index" => 54, "timestamp" => 1354803271, "title" => "#ElectroSwing | Jamie Berry ft. Octavia Rose - Delight", "upload_date" => "20121206"} 09:45:38.311 [debug] QUERY OK source="sources" db=0.5ms idle=974.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:38.312 [debug] QUERY OK source="sources" db=0.3ms queue=0.4ms idle=975.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:38.313 [debug] QUERY OK source="media_items" db=0.5ms queue=0.4ms idle=976.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-12-06 14:14:31Z], 1] 09:45:38.317 [debug] QUERY OK source="media_items" db=2.2ms queue=0.1ms idle=978.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Download 'Delight': https://www.junodownload.com/products/delight/2069252-02/\n\n♫ Follow Jamie Berry:\n♥ Soundcloud: https://soundcloud.com/jamie-berry\n♥ Facebook: https://www.facebook.com/jamie.berry3\n♥ Website: http://www.flakrecords.com/jamieberry.php\n\n♫ Follow Octavia Rose:\n♥ Soundcloud: https://soundcloud.com/octavia-rose\n♥I nstagram: https://www.instagram.com/octaviarosemusic/\n♥ Facebook: https://www.facebook.com/Octavia-Rose-102835114395692/\n\n♫ Follow Flak Records: \n♥ Soundcloud: https://soundcloud.com/flakrecords\n♥ Facebook: https://www.facebook.com/pages/Flak-Records/233465740030102\n♥ Twitter: http://twitter.com/FLAKRecords\n\n♫ Support Funky Panda\n♥ Website: http://www.funkypanda.net/\n♥ Spotify: https://open.spotify.com/user/funky_way\n♥ Facebook: https://www.facebook.com/funkypanda\n♥ SoundCloud: https://soundcloud.com/fnkypanda\n♥ Twitter: https://twitter.com/FunkyPanda\n♥ YouTube: https://www.youtube.com/FunkyPanda\n♥ Merch: https://designbyhumans.com/shop/FunkyPanda\n\nStream FunkyWay on Spotify: https://open.spotify.com/user/funky_way\n\nDo you want to Showcase your Music on Funky Panda? Be sure to send all your music links to demo@funkypanda.net\n\n▼ ▼ ▼\n\nArtwork & Animation by Petirep\n♥ DeviantArt: http://petirep.deviantart.com/\n\n∞ Thank you for Listening to YouTube's #1 Funky Network ∞\n\n#Electro #Swing #Dance", "#ElectroSwing | Jamie Berry ft. Octavia Rose - Delight", "a8ab5c9d-257c-4645-91ea-f89cfd4b0bb9", 344, false, "aH5aq4V0Ywk", "https://www.youtube.com/watch?v=aH5aq4V0Ywk", 54, "/downloads/music/Funky Panda™/#ElectroSwing | Jamie Berry ft. Octavia Rose - Delight.m4a", false, false, false, 1, [], 1, ~U[2012-12-06 14:14:31Z], ~U[2026-09-16 09:45:38Z], ~U[2026-09-16 09:45:38Z], "Download 'Delight': https://www.junodownload.com/products/delight/2069252-02/\n\n♫ Follow Jamie Berry:\n♥ Soundcloud: https://soundcloud.com/jamie-berry\n♥ Facebook: https://www.facebook.com/jamie.berry3\n♥ Website: http://www.flakrecords.com/jamieberry.php\n\n♫ Follow Octavia Rose:\n♥ Soundcloud: https://soundcloud.com/octavia-rose\n♥I nstagram: https://www.instagram.com/octaviarosemusic/\n♥ Facebook: https://www.facebook.com/Octavia-Rose-102835114395692/\n\n♫ Follow Flak Records: \n♥ Soundcloud: https://soundcloud.com/flakrecords\n♥ Facebook: https://www.facebook.com/pages/Flak-Records/233465740030102\n♥ Twitter: http://twitter.com/FLAKRecords\n\n♫ Support Funky Panda\n♥ Website: http://www.funkypanda.net/\n♥ Spotify: https://open.spotify.com/user/funky_way\n♥ Facebook: https://www.facebook.com/funkypanda\n♥ SoundCloud: https://soundcloud.com/fnkypanda\n♥ Twitter: https://twitter.com/FunkyPanda\n♥ YouTube: https://www.youtube.com/FunkyPanda\n♥ Merch: https://designbyhumans.com/shop/FunkyPanda\n\nStream FunkyWay on Spotify: https://open.spotify.com/user/funky_way\n\nDo you want to Showcase your Music on Funky Panda? Be sure to send all your music links to demo@funkypanda.net\n\n▼ ▼ ▼\n\nArtwork & Animation by Petirep\n♥ DeviantArt: http://petirep.deviantart.com/\n\n∞ Thank you for Listening to YouTube's #1 Funky Network ∞\n\n#Electro #Swing #Dance", "#ElectroSwing | Jamie Berry ft. Octavia Rose - Delight", 344, false, "aH5aq4V0Ywk", "https://www.youtube.com/watch?v=aH5aq4V0Ywk", "/downloads/music/Funky Panda™/#ElectroSwing | Jamie Berry ft. Octavia Rose - Delight.m4a", false, 1, ~U[2012-12-06 14:14:31Z]] 09:45:38.318 [debug] QUERY OK source="sources" db=0.6ms idle=86.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:38.318 [debug] QUERY OK source="media_profiles" db=0.5ms idle=7.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:38.320 [debug] QUERY OK source="media_items" db=0.7ms 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 [105] 09:45:38.320 [debug] Current batch of media processed. Will check again in 1000ms 09:45:39.321 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Hey Leute,\neinige meiner deutschen Fans wissen bereits, dass man mich in einem deutschen TV Spot sehen kann. Das ist eins meiner größeren Projekte, an denen ich in den letzten Monaten gearbeitet habe. Mit dem Video möchte ich auch meinen internationalen Followern die Chance geben, zu sehen, was ich so gemacht habe. Dies ist die lange Version und beinhaltet mehr Tanzszenen. ;)\nIch hoffe, es gefällt euch.\n\nHi folks,\nsome of my german viewers already know that you can see me in a german TV commercial. This is one of the bigger projects I was working on in the last couple of month. I just wanted to give my international audience the chance to have a look at what I've done so far. This is the extended version - so it involves a lot more of dancing. ;) I hope you enjoy.\n______________________________________________________________\n\nSubscribe: \u202Ahttp://bit.ly/1GL2F5D\nWeb: http://martapr.com/svenotten-justsomemotion\nBookings: marta@martapr.com - http://martapr.com\nCommercial by: Deka\nInstagram: https://www.instagram.com/svenotten_\nFacebook: https://www.facebook.com/SvenOttenjsm/\nTwitter: https://twitter.com/SvenOtten_\n\n______________________________________________________________\n\nSong: Jamie Berry Feat. Octavia Rose - Delight", "duration" => 103, "filename" => "/downloads/music/Sven Otten - JustSomeMotion/Sven Otten - JustSomeMotion - Deka Spot (Extended Version) - Jamie Berry Feat. Octavia Rose -Delight.m4a", "id" => "mhO7wSAoQCI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mhO7wSAoQCI", "playlist_index" => 55, "timestamp" => 1435305600, "title" => "Sven Otten - JustSomeMotion - Deka Spot (Extended Version) - Jamie Berry Feat. Octavia Rose -Delight", "upload_date" => "20150626"} 09:45:39.321 [debug] QUERY OK source="sources" db=0.2ms idle=1004.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:39.322 [debug] QUERY OK source="sources" db=0.1ms idle=1004.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:39.322 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2015-06-26 08:00:00Z], 1] 09:45:39.324 [debug] QUERY OK source="media_items" db=1.1ms idle=1003.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Hey Leute,\neinige meiner deutschen Fans wissen bereits, dass man mich in einem deutschen TV Spot sehen kann. Das ist eins meiner größeren Projekte, an denen ich in den letzten Monaten gearbeitet habe. Mit dem Video möchte ich auch meinen internationalen Followern die Chance geben, zu sehen, was ich so gemacht habe. Dies ist die lange Version und beinhaltet mehr Tanzszenen. ;)\nIch hoffe, es gefällt euch.\n\nHi folks,\nsome of my german viewers already know that you can see me in a german TV commercial. This is one of the bigger projects I was working on in the last couple of month. I just wanted to give my international audience the chance to have a look at what I've done so far. This is the extended version - so it involves a lot more of dancing. ;) I hope you enjoy.\n______________________________________________________________\n\nSubscribe: \u202Ahttp://bit.ly/1GL2F5D\nWeb: http://martapr.com/svenotten-justsomemotion\nBookings: marta@martapr.com - http://martapr.com\nCommercial by: Deka\nInstagram: https://www.instagram.com/svenotten_\nFacebook: https://www.facebook.com/SvenOttenjsm/\nTwitter: https://twitter.com/SvenOtten_\n\n______________________________________________________________\n\nSong: Jamie Berry Feat. Octavia Rose - Delight", "Sven Otten - JustSomeMotion - Deka Spot (Extended Version) - Jamie Berry Feat. Octavia Rose -Delight", "e4392f63-072d-4241-937d-8a0991642535", 103, false, "mhO7wSAoQCI", "https://www.youtube.com/watch?v=mhO7wSAoQCI", 55, "/downloads/music/Sven Otten - JustSomeMotion/Sven Otten - JustSomeMotion - Deka Spot (Extended Version) - Jamie Berry Feat. Octavia Rose -Delight.m4a", false, false, false, 1, [], 1, ~U[2015-06-26 08:00:00Z], ~U[2026-09-16 09:45:39Z], ~U[2026-09-16 09:45:39Z], "Hey Leute,\neinige meiner deutschen Fans wissen bereits, dass man mich in einem deutschen TV Spot sehen kann. Das ist eins meiner größeren Projekte, an denen ich in den letzten Monaten gearbeitet habe. Mit dem Video möchte ich auch meinen internationalen Followern die Chance geben, zu sehen, was ich so gemacht habe. Dies ist die lange Version und beinhaltet mehr Tanzszenen. ;)\nIch hoffe, es gefällt euch.\n\nHi folks,\nsome of my german viewers already know that you can see me in a german TV commercial. This is one of the bigger projects I was working on in the last couple of month. I just wanted to give my international audience the chance to have a look at what I've done so far. This is the extended version - so it involves a lot more of dancing. ;) I hope you enjoy.\n______________________________________________________________\n\nSubscribe: \u202Ahttp://bit.ly/1GL2F5D\nWeb: http://martapr.com/svenotten-justsomemotion\nBookings: marta@martapr.com - http://martapr.com\nCommercial by: Deka\nInstagram: https://www.instagram.com/svenotten_\nFacebook: https://www.facebook.com/SvenOttenjsm/\nTwitter: https://twitter.com/SvenOtten_\n\n______________________________________________________________\n\nSong: Jamie Berry Feat. Octavia Rose - Delight", "Sven Otten - JustSomeMotion - Deka Spot (Extended Version) - Jamie Berry Feat. Octavia Rose -Delight", 103, false, "mhO7wSAoQCI", "https://www.youtube.com/watch?v=mhO7wSAoQCI", "/downloads/music/Sven Otten - JustSomeMotion/Sven Otten - JustSomeMotion - Deka Spot (Extended Version) - Jamie Berry Feat. Octavia Rose -Delight.m4a", false, 1, ~U[2015-06-26 08:00:00Z]] 09:45:39.325 [debug] QUERY OK source="sources" db=0.1ms idle=93.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:39.325 [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] 09:45:39.325 [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 [106] 09:45:39.326 [debug] Current batch of media processed. Will check again in 1000ms 09:45:40.327 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Black Coast - TRNDSTTR (Lucian Remix)\n\n~~~~~~~» Quote of the day «~~~~~~~\n\n\"Eighty percent of success is showing up.\"\n-- Woody Allen\n\nShare your quotes with me in the comment section below and I might use it for the next quote of the day!\n\nCloudKid Shop: http://cldkid.com/shop\n\n#trndsttr #cloudkid #trap #remix #music\n\n~~~~~~~» Official Video «~~~~~~~\n\nhttps://youtu.be/Ym1EiPvs-8Q\n\n~~~~~~~» Buy on iTunes «~~~~~~~\n\nhttp://apple.co/21HhuhE\n\n~~~~~~~» Lucian «~~~~~~~\n\nSoundcloud: https://soundcloud.com/lucianofficial\nFacebook: https://www.facebook.com/lucianmusic\nTwitter: https://www.twitter.com/luciantune\n❤ on Hypem: http://goo.gl/a2dtfU\n\n~~~~~~~» Black Coast «~~~~~~~\n\nSoundcloud: https://soundcloud.com/blackcoast\nFacebook: https://www.facebook.com/BlackCoastOf...\nTwitter: https://twitter.com/blackcoast_\nContact: stan.blackcoast@gmail.com\n\n~~~~~~~» Contact Cloudkid «~~~~~~~\n\n» The Paint I use: http://amzn.to/2fdOePI\n \nTwitter: https://twitter.com/CloudKidMusic\nSoundcloud: https://soundcloud.com/cloudkid\nFacebook: https://www.facebook.com/cloudkidpromotion/\nInstagram: https://instagram.com/cldkid\nSnapchat: @cldkid\n\nWant your track on CloudKid? It's easy! Contact me on my YouTube or message me at: CloudKidOfficial@gmail.com\n\n~~~~~~~» The image used «~~~~~~~\n\nPicture taken by: L98\nProfile: https://www.flickr.com/people/9831095...\n\nThe Image: https://www.flickr.com/photos/9831095...\n\n~~~~~~~» Legal stuff «~~~~~~~\n\nI do not own any of the content of the video and it has been uploaded for promotion purposes only. If any producer or label has an Issue with any upload, contact me directly through youtube oder under CloudKidOfficial@gmail.com and the video will be taken down immediately! This includes owners of the images used.", "duration" => 180, "filename" => "/downloads/music/CloudKid/Black Coast - TRNDSTTR (Lucian Remix).m4a", "id" => "r7Ve8ExE8YY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=r7Ve8ExE8YY", "playlist_index" => 56, "timestamp" => 1416663863, "title" => "Black Coast - TRNDSTTR (Lucian Remix)", "upload_date" => "20141122"} 09:45:40.328 [debug] QUERY OK source="sources" db=0.9ms idle=1003.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:40.329 [debug] QUERY OK source="sources" db=0.2ms idle=1003.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:40.330 [debug] QUERY OK source="media_items" db=0.6ms idle=1003.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2014-11-22 13:44:23Z], 1] 09:45:40.356 [debug] QUERY OK source="media_items" db=26.0ms idle=1004.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Black Coast - TRNDSTTR (Lucian Remix)\n\n~~~~~~~» Quote of the day «~~~~~~~\n\n\"Eighty percent of success is showing up.\"\n-- Woody Allen\n\nShare your quotes with me in the comment section below and I might use it for the next quote of the day!\n\nCloudKid Shop: http://cldkid.com/shop\n\n#trndsttr #cloudkid #trap #remix #music\n\n~~~~~~~» Official Video «~~~~~~~\n\nhttps://youtu.be/Ym1EiPvs-8Q\n\n~~~~~~~» Buy on iTunes «~~~~~~~\n\nhttp://apple.co/21HhuhE\n\n~~~~~~~» Lucian «~~~~~~~\n\nSoundcloud: https://soundcloud.com/lucianofficial\nFacebook: https://www.facebook.com/lucianmusic\nTwitter: https://www.twitter.com/luciantune\n❤ on Hypem: http://goo.gl/a2dtfU\n\n~~~~~~~» Black Coast «~~~~~~~\n\nSoundcloud: https://soundcloud.com/blackcoast\nFacebook: https://www.facebook.com/BlackCoastOf...\nTwitter: https://twitter.com/blackcoast_\nContact: stan.blackcoast@gmail.com\n\n~~~~~~~» Contact Cloudkid «~~~~~~~\n\n» The Paint I use: http://amzn.to/2fdOePI\n \nTwitter: https://twitter.com/CloudKidMusic\nSoundcloud: https://soundcloud.com/cloudkid\nFacebook: https://www.facebook.com/cloudkidpromotion/\nInstagram: https://instagram.com/cldkid\nSnapchat: @cldkid\n\nWant your track on CloudKid? It's easy! Contact me on my YouTube or message me at: CloudKidOfficial@gmail.com\n\n~~~~~~~» The image used «~~~~~~~\n\nPicture taken by: L98\nProfile: https://www.flickr.com/people/9831095...\n\nThe Image: https://www.flickr.com/photos/9831095...\n\n~~~~~~~» Legal stuff «~~~~~~~\n\nI do not own any of the content of the video and it has been uploaded for promotion purposes only. If any producer or label has an Issue with any upload, contact me directly through youtube oder under CloudKidOfficial@gmail.com and the video will be taken down immediately! This includes owners of the images used.", "Black Coast - TRNDSTTR (Lucian Remix)", "99bde206-786f-467c-aef3-c366a97d3a8e", 180, false, "r7Ve8ExE8YY", "https://www.youtube.com/watch?v=r7Ve8ExE8YY", 56, "/downloads/music/CloudKid/Black Coast - TRNDSTTR (Lucian Remix).m4a", false, false, false, 1, [], 1, ~U[2014-11-22 13:44:23Z], ~U[2026-09-16 09:45:40Z], ~U[2026-09-16 09:45:40Z], "Black Coast - TRNDSTTR (Lucian Remix)\n\n~~~~~~~» Quote of the day «~~~~~~~\n\n\"Eighty percent of success is showing up.\"\n-- Woody Allen\n\nShare your quotes with me in the comment section below and I might use it for the next quote of the day!\n\nCloudKid Shop: http://cldkid.com/shop\n\n#trndsttr #cloudkid #trap #remix #music\n\n~~~~~~~» Official Video «~~~~~~~\n\nhttps://youtu.be/Ym1EiPvs-8Q\n\n~~~~~~~» Buy on iTunes «~~~~~~~\n\nhttp://apple.co/21HhuhE\n\n~~~~~~~» Lucian «~~~~~~~\n\nSoundcloud: https://soundcloud.com/lucianofficial\nFacebook: https://www.facebook.com/lucianmusic\nTwitter: https://www.twitter.com/luciantune\n❤ on Hypem: http://goo.gl/a2dtfU\n\n~~~~~~~» Black Coast «~~~~~~~\n\nSoundcloud: https://soundcloud.com/blackcoast\nFacebook: https://www.facebook.com/BlackCoastOf...\nTwitter: https://twitter.com/blackcoast_\nContact: stan.blackcoast@gmail.com\n\n~~~~~~~» Contact Cloudkid «~~~~~~~\n\n» The Paint I use: http://amzn.to/2fdOePI\n \nTwitter: https://twitter.com/CloudKidMusic\nSoundcloud: https://soundcloud.com/cloudkid\nFacebook: https://www.facebook.com/cloudkidpromotion/\nInstagram: https://instagram.com/cldkid\nSnapchat: @cldkid\n\nWant your track on CloudKid? It's easy! Contact me on my YouTube or message me at: CloudKidOfficial@gmail.com\n\n~~~~~~~» The image used «~~~~~~~\n\nPicture taken by: L98\nProfile: https://www.flickr.com/people/9831095...\n\nThe Image: https://www.flickr.com/photos/9831095...\n\n~~~~~~~» Legal stuff «~~~~~~~\n\nI do not own any of the content of the video and it has been uploaded for promotion purposes only. If any producer or label has an Issue with any upload, contact me directly through youtube oder under CloudKidOfficial@gmail.com and the video will be taken down immediately! This includes owners of the images used.", "Black Coast - TRNDSTTR (Lucian Remix)", 180, false, "r7Ve8ExE8YY", "https://www.youtube.com/watch?v=r7Ve8ExE8YY", "/downloads/music/CloudKid/Black Coast - TRNDSTTR (Lucian Remix).m4a", false, 1, ~U[2014-11-22 13:44:23Z]] 09:45:40.357 [debug] QUERY OK source="sources" db=0.3ms idle=124.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:40.358 [debug] QUERY OK source="media_profiles" db=0.1ms idle=29.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] 09:45:40.358 [debug] QUERY OK source="media_items" db=0.2ms idle=29.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 [107] 09:45:40.358 [debug] Current batch of media processed. Will check again in 1000ms 09:45:41.359 [debug] Current batch of media processed. Will check again in 1000ms 09:45:42.360 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Join Jack Pepper’s adventures throughout Mouseburg in this lo-fi inspired animation! Composed by Patryk Scelina as part of the MOUSE: P.I. For Hire Original Game Soundtrack, including \"Good Mouse\" by Caravan Palace.\n\nMOUSE: P.I. For Hire is out now across PC (Steam), PlayStation 5, Xbox Series X|S, and Nintendo Switch 2!\n\nBuy Now -\nSteam: https://mouse.playside.games/qvb1jZB\nPlayStation 5: https://mouse.playside.games/5SbiFaK\nXbox Series X|S: https://mouse.playside.games/M1vqX2U\nNintendo Switch 2: https://mouse.playside.games/OhZuYdY\n\nOriginal Game Soundtrack -\nStreaming Platforms: https://idol-io.ffm.to/mousepiforhireost\nMondo Vinyl: https://mondoshop.com/products/mouse-p-i-for-hire-original-soundtrack\n\nSocial Links -\nWebsite: https://mouse.playside.games/CfYuFgT\nX: https://x.com/mousethegame\nTikTok: https://www.tiktok.com/@mousethegame\nInstagram: https://www.instagram.com/mousethegame/\nThreads: https://www.threads.com/@mousethegame\nFacebook: https://www.facebook.com/mousethegame\nDiscord: https://discord.gg/TXkCFYEMPB\nBluesky: https://bsky.app/profile/mousethegame.bsky.social\n\nPatryk Scelina - \nYouTube: https://www.youtube.com/@patrykscelina\nYouTube Music: https://music.youtube.com/channel/UCTSZfCncvtF-KLbrueEmDpA?si=k-LZt47mLyTP2kAn\nSpotify: https://open.spotify.com/artist/0Fni4pCfrEfXXfuTBwRhPI?si=CRHawZR5SHCpRBQwuSrpDA\n\nMusicians -\nTrumpet: Jan Chojnacki\nAlto Saxophone: Kacper Mikołajuk\nTenor Saxophone: Kacper Mikołajuk\nBaritone Saxophone: Kacper Mikołajuk\nTenor Trombone: Szymon Rybitw\nBass Trombone: Adam Kurek\nClarinet: Mateusz Rybicki\nPiano: Anton Mikhailov\nBass: Ivan Lipatov\nDrums: Irakli Choladze\n\nProduction -\nMusic: Patryk Scelina\nOrchestration: Kacper Mikołajuk\nRecording: Kamil Biedrzycki\nMix and Mastering: Kamil Biedrzycki\nRhythm Section Recordings: Kamil Biedrzycki & Olajide Pari\n\n#MOUSE #MOUSEthegame #MOUSEPIForHire", "duration" => 2896, "filename" => "/downloads/music/MOUSE: P.I. For Hire/MOUSE: P.I. For Hire | Original Game Soundtrack (FULL).m4a", "id" => "zUSeCuBlxxo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zUSeCuBlxxo", "playlist_index" => 57, "timestamp" => 1776697308, "title" => "MOUSE: P.I. For Hire | Original Game Soundtrack (FULL)", "upload_date" => "20260420"} 09:45:42.361 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=125.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:42.361 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [1] 09:45:42.362 [debug] QUERY OK source="media_items" db=0.3ms idle=25.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-20 15:01:48Z], 1] 09:45:42.369 [debug] QUERY OK source="media_items" db=6.6ms idle=26.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join Jack Pepper’s adventures throughout Mouseburg in this lo-fi inspired animation! Composed by Patryk Scelina as part of the MOUSE: P.I. For Hire Original Game Soundtrack, including \"Good Mouse\" by Caravan Palace.\n\nMOUSE: P.I. For Hire is out now across PC (Steam), PlayStation 5, Xbox Series X|S, and Nintendo Switch 2!\n\nBuy Now -\nSteam: https://mouse.playside.games/qvb1jZB\nPlayStation 5: https://mouse.playside.games/5SbiFaK\nXbox Series X|S: https://mouse.playside.games/M1vqX2U\nNintendo Switch 2: https://mouse.playside.games/OhZuYdY\n\nOriginal Game Soundtrack -\nStreaming Platforms: https://idol-io.ffm.to/mousepiforhireost\nMondo Vinyl: https://mondoshop.com/products/mouse-p-i-for-hire-original-soundtrack\n\nSocial Links -\nWebsite: https://mouse.playside.games/CfYuFgT\nX: https://x.com/mousethegame\nTikTok: https://www.tiktok.com/@mousethegame\nInstagram: https://www.instagram.com/mousethegame/\nThreads: https://www.threads.com/@mousethegame\nFacebook: https://www.facebook.com/mousethegame\nDiscord: https://discord.gg/TXkCFYEMPB\nBluesky: https://bsky.app/profile/mousethegame.bsky.social\n\nPatryk Scelina - \nYouTube: https://www.youtube.com/@patrykscelina\nYouTube Music: https://music.youtube.com/channel/UCTSZfCncvtF-KLbrueEmDpA?si=k-LZt47mLyTP2kAn\nSpotify: https://open.spotify.com/artist/0Fni4pCfrEfXXfuTBwRhPI?si=CRHawZR5SHCpRBQwuSrpDA\n\nMusicians -\nTrumpet: Jan Chojnacki\nAlto Saxophone: Kacper Mikołajuk\nTenor Saxophone: Kacper Mikołajuk\nBaritone Saxophone: Kacper Mikołajuk\nTenor Trombone: Szymon Rybitw\nBass Trombone: Adam Kurek\nClarinet: Mateusz Rybicki\nPiano: Anton Mikhailov\nBass: Ivan Lipatov\nDrums: Irakli Choladze\n\nProduction -\nMusic: Patryk Scelina\nOrchestration: Kacper Mikołajuk\nRecording: Kamil Biedrzycki\nMix and Mastering: Kamil Biedrzycki\nRhythm Section Recordings: Kamil Biedrzycki & Olajide Pari\n\n#MOUSE #MOUSEthegame #MOUSEPIForHire", "MOUSE: P.I. For Hire | Original Game Soundtrack (FULL)", "55454312-8627-4da9-bb72-427d224d090b", 2896, false, "zUSeCuBlxxo", "https://www.youtube.com/watch?v=zUSeCuBlxxo", 57, "/downloads/music/MOUSE: P.I. For Hire/MOUSE: P.I. For Hire | Original Game Soundtrack (FULL).m4a", false, false, false, 1, [], 1, ~U[2026-04-20 15:01:48Z], ~U[2026-09-16 09:45:42Z], ~U[2026-09-16 09:45:42Z], "Join Jack Pepper’s adventures throughout Mouseburg in this lo-fi inspired animation! Composed by Patryk Scelina as part of the MOUSE: P.I. For Hire Original Game Soundtrack, including \"Good Mouse\" by Caravan Palace.\n\nMOUSE: P.I. For Hire is out now across PC (Steam), PlayStation 5, Xbox Series X|S, and Nintendo Switch 2!\n\nBuy Now -\nSteam: https://mouse.playside.games/qvb1jZB\nPlayStation 5: https://mouse.playside.games/5SbiFaK\nXbox Series X|S: https://mouse.playside.games/M1vqX2U\nNintendo Switch 2: https://mouse.playside.games/OhZuYdY\n\nOriginal Game Soundtrack -\nStreaming Platforms: https://idol-io.ffm.to/mousepiforhireost\nMondo Vinyl: https://mondoshop.com/products/mouse-p-i-for-hire-original-soundtrack\n\nSocial Links -\nWebsite: https://mouse.playside.games/CfYuFgT\nX: https://x.com/mousethegame\nTikTok: https://www.tiktok.com/@mousethegame\nInstagram: https://www.instagram.com/mousethegame/\nThreads: https://www.threads.com/@mousethegame\nFacebook: https://www.facebook.com/mousethegame\nDiscord: https://discord.gg/TXkCFYEMPB\nBluesky: https://bsky.app/profile/mousethegame.bsky.social\n\nPatryk Scelina - \nYouTube: https://www.youtube.com/@patrykscelina\nYouTube Music: https://music.youtube.com/channel/UCTSZfCncvtF-KLbrueEmDpA?si=k-LZt47mLyTP2kAn\nSpotify: https://open.spotify.com/artist/0Fni4pCfrEfXXfuTBwRhPI?si=CRHawZR5SHCpRBQwuSrpDA\n\nMusicians -\nTrumpet: Jan Chojnacki\nAlto Saxophone: Kacper Mikołajuk\nTenor Saxophone: Kacper Mikołajuk\nBaritone Saxophone: Kacper Mikołajuk\nTenor Trombone: Szymon Rybitw\nBass Trombone: Adam Kurek\nClarinet: Mateusz Rybicki\nPiano: Anton Mikhailov\nBass: Ivan Lipatov\nDrums: Irakli Choladze\n\nProduction -\nMusic: Patryk Scelina\nOrchestration: Kacper Mikołajuk\nRecording: Kamil Biedrzycki\nMix and Mastering: Kamil Biedrzycki\nRhythm Section Recordings: Kamil Biedrzycki & Olajide Pari\n\n#MOUSE #MOUSEthegame #MOUSEPIForHire", "MOUSE: P.I. For Hire | Original Game Soundtrack (FULL)", 2896, false, "zUSeCuBlxxo", "https://www.youtube.com/watch?v=zUSeCuBlxxo", "/downloads/music/MOUSE: P.I. For Hire/MOUSE: P.I. For Hire | Original Game Soundtrack (FULL).m4a", false, 1, ~U[2026-04-20 15:01:48Z]] 09:45:42.369 [debug] QUERY OK source="sources" db=0.2ms idle=33.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:42.370 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:42.370 [debug] QUERY OK source="media_items" db=0.2ms idle=9.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10780] 09:45:42.370 [debug] Current batch of media processed. Will check again in 1000ms 09:45:43.372 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "04.04 \"prince of WORRY\"\n\n0:00 Intro\n0:08 Pump It Flip\n2:18 Get Low Flip\n4:23 One Piece Flip\n6:43 Chop Suey Flip\n8:40 BBX Part\n9:30 Porcelain Flip\n11:40 It G Ma Flip\n13:50 Faint Flip\n14:51 Numb Flip\n15:48 Outro\n\n🎹 Beats by Kira On The Phone\n▫️https://youtube.com/@KIRAONTHEPHONEANDTHANI\n\n🎛️ Mix & Co-Production by Thani & Outakey\n▫️https://www.instagram.com/beatsbythani\n▫️https://www.instagram.com/outakey\n\n🎙️ BBX Mix by Madox\n▫️https://www.instagram.com/madox_beatbox\n\n🧶 Hoodie by gh0ulip\n▫️https://gh0ulip.com\n\n🧵bb-Shop:\nhttps://beastboy.shop/\n\n🎬 Video & Edit by bb\n\nRIP Chester Bennington", "duration" => 955, "filename" => "/downloads/music/TJ_bb/FEUER IN DER LUNGE [live].m4a", "id" => "t4FgfXIB1Zc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=t4FgfXIB1Zc", "playlist_index" => 58, "timestamp" => 1774786506, "title" => "FEUER IN DER LUNGE [live]", "upload_date" => "20260329"} 09:45:43.372 [debug] QUERY OK source="sources" db=0.2ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:43.373 [debug] QUERY OK source="sources" db=0.1ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:43.373 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-29 12:15:06Z], 1] 09:45:43.376 [debug] QUERY OK source="media_items" db=1.7ms idle=1003.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["04.04 \"prince of WORRY\"\n\n0:00 Intro\n0:08 Pump It Flip\n2:18 Get Low Flip\n4:23 One Piece Flip\n6:43 Chop Suey Flip\n8:40 BBX Part\n9:30 Porcelain Flip\n11:40 It G Ma Flip\n13:50 Faint Flip\n14:51 Numb Flip\n15:48 Outro\n\n🎹 Beats by Kira On The Phone\n▫️https://youtube.com/@KIRAONTHEPHONEANDTHANI\n\n🎛️ Mix & Co-Production by Thani & Outakey\n▫️https://www.instagram.com/beatsbythani\n▫️https://www.instagram.com/outakey\n\n🎙️ BBX Mix by Madox\n▫️https://www.instagram.com/madox_beatbox\n\n🧶 Hoodie by gh0ulip\n▫️https://gh0ulip.com\n\n🧵bb-Shop:\nhttps://beastboy.shop/\n\n🎬 Video & Edit by bb\n\nRIP Chester Bennington", "FEUER IN DER LUNGE [live]", "2d1b90d1-e48e-4b26-9281-60eca7061b1b", 955, false, "t4FgfXIB1Zc", "https://www.youtube.com/watch?v=t4FgfXIB1Zc", 58, "/downloads/music/TJ_bb/FEUER IN DER LUNGE [live].m4a", false, false, false, 1, [], 1, ~U[2026-03-29 12:15:06Z], ~U[2026-09-16 09:45:43Z], ~U[2026-09-16 09:45:43Z], "04.04 \"prince of WORRY\"\n\n0:00 Intro\n0:08 Pump It Flip\n2:18 Get Low Flip\n4:23 One Piece Flip\n6:43 Chop Suey Flip\n8:40 BBX Part\n9:30 Porcelain Flip\n11:40 It G Ma Flip\n13:50 Faint Flip\n14:51 Numb Flip\n15:48 Outro\n\n🎹 Beats by Kira On The Phone\n▫️https://youtube.com/@KIRAONTHEPHONEANDTHANI\n\n🎛️ Mix & Co-Production by Thani & Outakey\n▫️https://www.instagram.com/beatsbythani\n▫️https://www.instagram.com/outakey\n\n🎙️ BBX Mix by Madox\n▫️https://www.instagram.com/madox_beatbox\n\n🧶 Hoodie by gh0ulip\n▫️https://gh0ulip.com\n\n🧵bb-Shop:\nhttps://beastboy.shop/\n\n🎬 Video & Edit by bb\n\nRIP Chester Bennington", "FEUER IN DER LUNGE [live]", 955, false, "t4FgfXIB1Zc", "https://www.youtube.com/watch?v=t4FgfXIB1Zc", "/downloads/music/TJ_bb/FEUER IN DER LUNGE [live].m4a", false, 1, ~U[2026-03-29 12:15:06Z]] 09:45:43.376 [debug] QUERY OK source="sources" db=0.1ms idle=140.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:43.377 [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] 09:45:43.377 [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 [37769] 09:45:43.377 [debug] Current batch of media processed. Will check again in 1000ms 09:45:44.378 [debug] Current batch of media processed. Will check again in 1000ms 09:45:45.379 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "🫀“prince of WORRY“ on Spotify:\n💽 https://open.spotify.com/prerelease/7s8SPZ4Px2B8BFydvwPf6D?si=mgXe1yC_Ql-1vWe60Sp5lg\n\n🎹 Beat by Young Kira & outakey\nhttps://www.instagram.com/youngkirawestghosts/\nhttps://www.instagram.com/outakey\n\n🧵bb-Shop:\nhttps://beastboy.shop/\n\n🎬 Direction/Edit by Lukas Emil Klemm & bb\nhttps://www.instagram.com/lukasemilklemm/\nhttps://www.instagram.com/beastboy/\n\n🎥 Camera by Lukas Emil Klemm:\nhttps://www.instagram.com/lukasemilklemm/\n\n📹 1st AC by Merlin Osenstetter:\nhttps://www.instagram.com/merlin_osenst/\n\n🎨 Additional Color-Grading by Maze Wagner:\nhttps://www.instagram.com/mazewagner/\n\n🎛️ Master by Volker 'IDR' Gebhardt", "duration" => 239, "filename" => "/downloads/music/TJ_bb/beastboy | ZEN [dream] | beat by Young Kira & outakey.m4a", "id" => "h77JfYYQMA0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=h77JfYYQMA0", "playlist_index" => 59, "timestamp" => 1776171606, "title" => "beastboy | ZEN [dream] | beat by Young Kira & outakey", "upload_date" => "20260414"} 09:45:45.379 [debug] QUERY OK source="sources" db=0.2ms idle=141.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:45.380 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [1] 09:45:45.381 [debug] QUERY OK source="media_items" db=0.3ms idle=44.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-14 13:00:06Z], 1] 09:45:45.382 [debug] QUERY OK source="media_items" db=0.9ms idle=45.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🫀“prince of WORRY“ on Spotify:\n💽 https://open.spotify.com/prerelease/7s8SPZ4Px2B8BFydvwPf6D?si=mgXe1yC_Ql-1vWe60Sp5lg\n\n🎹 Beat by Young Kira & outakey\nhttps://www.instagram.com/youngkirawestghosts/\nhttps://www.instagram.com/outakey\n\n🧵bb-Shop:\nhttps://beastboy.shop/\n\n🎬 Direction/Edit by Lukas Emil Klemm & bb\nhttps://www.instagram.com/lukasemilklemm/\nhttps://www.instagram.com/beastboy/\n\n🎥 Camera by Lukas Emil Klemm:\nhttps://www.instagram.com/lukasemilklemm/\n\n📹 1st AC by Merlin Osenstetter:\nhttps://www.instagram.com/merlin_osenst/\n\n🎨 Additional Color-Grading by Maze Wagner:\nhttps://www.instagram.com/mazewagner/\n\n🎛️ Master by Volker 'IDR' Gebhardt", "beastboy | ZEN [dream] | beat by Young Kira & outakey", "f0ad2a1f-4ff8-4573-9a84-a0a41e0108cd", 239, false, "h77JfYYQMA0", "https://www.youtube.com/watch?v=h77JfYYQMA0", 59, "/downloads/music/TJ_bb/beastboy | ZEN [dream] | beat by Young Kira & outakey.m4a", false, false, false, 1, [], 1, ~U[2026-04-14 13:00:06Z], ~U[2026-09-16 09:45:45Z], ~U[2026-09-16 09:45:45Z], "🫀“prince of WORRY“ on Spotify:\n💽 https://open.spotify.com/prerelease/7s8SPZ4Px2B8BFydvwPf6D?si=mgXe1yC_Ql-1vWe60Sp5lg\n\n🎹 Beat by Young Kira & outakey\nhttps://www.instagram.com/youngkirawestghosts/\nhttps://www.instagram.com/outakey\n\n🧵bb-Shop:\nhttps://beastboy.shop/\n\n🎬 Direction/Edit by Lukas Emil Klemm & bb\nhttps://www.instagram.com/lukasemilklemm/\nhttps://www.instagram.com/beastboy/\n\n🎥 Camera by Lukas Emil Klemm:\nhttps://www.instagram.com/lukasemilklemm/\n\n📹 1st AC by Merlin Osenstetter:\nhttps://www.instagram.com/merlin_osenst/\n\n🎨 Additional Color-Grading by Maze Wagner:\nhttps://www.instagram.com/mazewagner/\n\n🎛️ Master by Volker 'IDR' Gebhardt", "beastboy | ZEN [dream] | beat by Young Kira & outakey", 239, false, "h77JfYYQMA0", "https://www.youtube.com/watch?v=h77JfYYQMA0", "/downloads/music/TJ_bb/beastboy | ZEN [dream] | beat by Young Kira & outakey.m4a", false, 1, ~U[2026-04-14 13:00:06Z]] 09:45:45.383 [debug] QUERY OK source="sources" db=0.1ms idle=46.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:45.383 [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] 09:45:45.384 [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 [37770] 09:45:45.384 [debug] Current batch of media processed. Will check again in 1000ms 09:45:46.385 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "ILLIT (아일릿) ‘It’s Me’ Official MV\n\nExecutive Producer Kim Taeho\nCreative Director Heu Serian \nMusic Video Director YVNG WING (IDIOTS)\n\nⓒ BELIFT LAB Inc. All Rights Reserved\n\nConnect with ILLIT\n\nILLIT Weverse: https://weverse.io/illit\nOfficial YouTube: https://www.youtube.com/@ILLIT_official\nOfficial X (Twitter): https://x.com/ILLIT_official\nMember X (Twitter): https://x.com/ILLIT_twt\nTikTok: https://www.tiktok.com/@illit_official\nInstagram: https://www.instagram.com/ILLIT_official\nFacebook: https://www.facebook.com/ILLIT.beliftlab\nWeibo: https://www.weibo.com/n/ILLIT_BELIFTLAB\nBILIBILI: https://space.bilibili.com/3546608109095338\nDouyin: https://v.douyin.com/ikgST6Sw/\nJapan X (Twitter): https://x.com/ILLITjpofficial\n\n#ILLIT #아일릿 #MAMIHLAPINATAPAI #Its_Me", "duration" => 146, "filename" => "/downloads/music/HYBE LABELS/ILLIT (아일릿) ‘It’s Me’ Official MV.m4a", "id" => "bMhDJ0S0OBA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bMhDJ0S0OBA", "playlist_index" => 60, "timestamp" => 1777539486, "title" => "ILLIT (아일릿) ‘It’s Me’ Official MV", "upload_date" => "20260430"} 09:45:46.385 [debug] QUERY OK source="sources" db=0.2ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:46.386 [debug] QUERY OK source="sources" db=0.1ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:46.387 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-30 08:58:06Z], 1] 09:45:46.388 [debug] QUERY OK source="media_items" db=1.0ms idle=1003.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["ILLIT (아일릿) ‘It’s Me’ Official MV\n\nExecutive Producer Kim Taeho\nCreative Director Heu Serian \nMusic Video Director YVNG WING (IDIOTS)\n\nⓒ BELIFT LAB Inc. All Rights Reserved\n\nConnect with ILLIT\n\nILLIT Weverse: https://weverse.io/illit\nOfficial YouTube: https://www.youtube.com/@ILLIT_official\nOfficial X (Twitter): https://x.com/ILLIT_official\nMember X (Twitter): https://x.com/ILLIT_twt\nTikTok: https://www.tiktok.com/@illit_official\nInstagram: https://www.instagram.com/ILLIT_official\nFacebook: https://www.facebook.com/ILLIT.beliftlab\nWeibo: https://www.weibo.com/n/ILLIT_BELIFTLAB\nBILIBILI: https://space.bilibili.com/3546608109095338\nDouyin: https://v.douyin.com/ikgST6Sw/\nJapan X (Twitter): https://x.com/ILLITjpofficial\n\n#ILLIT #아일릿 #MAMIHLAPINATAPAI #Its_Me", "ILLIT (아일릿) ‘It’s Me’ Official MV", "ee74dd77-d410-4e85-8c21-2e54c34f1c6c", 146, false, "bMhDJ0S0OBA", "https://www.youtube.com/watch?v=bMhDJ0S0OBA", 60, "/downloads/music/HYBE LABELS/ILLIT (아일릿) ‘It’s Me’ Official MV.m4a", false, false, false, 1, [], 1, ~U[2026-04-30 08:58:06Z], ~U[2026-09-16 09:45:46Z], ~U[2026-09-16 09:45:46Z], "ILLIT (아일릿) ‘It’s Me’ Official MV\n\nExecutive Producer Kim Taeho\nCreative Director Heu Serian \nMusic Video Director YVNG WING (IDIOTS)\n\nⓒ BELIFT LAB Inc. All Rights Reserved\n\nConnect with ILLIT\n\nILLIT Weverse: https://weverse.io/illit\nOfficial YouTube: https://www.youtube.com/@ILLIT_official\nOfficial X (Twitter): https://x.com/ILLIT_official\nMember X (Twitter): https://x.com/ILLIT_twt\nTikTok: https://www.tiktok.com/@illit_official\nInstagram: https://www.instagram.com/ILLIT_official\nFacebook: https://www.facebook.com/ILLIT.beliftlab\nWeibo: https://www.weibo.com/n/ILLIT_BELIFTLAB\nBILIBILI: https://space.bilibili.com/3546608109095338\nDouyin: https://v.douyin.com/ikgST6Sw/\nJapan X (Twitter): https://x.com/ILLITjpofficial\n\n#ILLIT #아일릿 #MAMIHLAPINATAPAI #Its_Me", "ILLIT (아일릿) ‘It’s Me’ Official MV", 146, false, "bMhDJ0S0OBA", "https://www.youtube.com/watch?v=bMhDJ0S0OBA", "/downloads/music/HYBE LABELS/ILLIT (아일릿) ‘It’s Me’ Official MV.m4a", false, 1, ~U[2026-04-30 08:58:06Z]] 09:45:46.389 [debug] QUERY OK source="sources" db=0.2ms idle=149.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:46.389 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:46.390 [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 [37771] 09:45:46.390 [debug] Current batch of media processed. Will check again in 1000ms 09:45:47.391 [debug] Current batch of media processed. Will check again in 1000ms 09:45:48.392 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "00:00 Kordhell - Murder In My Mind\n02:25 MoonDeity - WAKE UP!\n04:48 MUPP x Sadfriendd - vendetta!\n06:35 PLAYAMANE x Nateki - MIDNIGHT\n08:40 ONIMXRU x SMITHMANE - SHADOW\n11:22 INTERWORLD - METAMORPHOSIS\n\n#phonk #mix\n\nSpotify Playlist\nhttps://open.spotify.com/playlist/2EDOnGibLU5FoRtXkMA6Jm?si=DdBTCjPcQeG_9NDntwpb0Q&utm_source=copy-link", "duration" => 825, "filename" => "/downloads/music/Nefor/[ MIX PHONK ] | Murder In My Mind | WAKE UP! | vendetta! | MIDNIGHT | SHADOW | METAMORPHOSIS |.m4a", "id" => "1Soe43JoxpU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1Soe43JoxpU", "playlist_index" => 61, "timestamp" => 1664122088, "title" => "[ MIX PHONK ] | Murder In My Mind | WAKE UP! | vendetta! | MIDNIGHT | SHADOW | METAMORPHOSIS |", "upload_date" => "20220925"} 09:45:48.392 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [1] 09:45:48.393 [debug] QUERY OK source="sources" db=0.1ms idle=56.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:48.394 [debug] QUERY OK source="media_items" db=0.6ms idle=57.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-09-25 16:08:08Z], 1] 09:45:48.395 [debug] QUERY OK source="media_items" db=0.9ms idle=58.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["00:00 Kordhell - Murder In My Mind\n02:25 MoonDeity - WAKE UP!\n04:48 MUPP x Sadfriendd - vendetta!\n06:35 PLAYAMANE x Nateki - MIDNIGHT\n08:40 ONIMXRU x SMITHMANE - SHADOW\n11:22 INTERWORLD - METAMORPHOSIS\n\n#phonk #mix\n\nSpotify Playlist\nhttps://open.spotify.com/playlist/2EDOnGibLU5FoRtXkMA6Jm?si=DdBTCjPcQeG_9NDntwpb0Q&utm_source=copy-link", "[ MIX PHONK ] | Murder In My Mind | WAKE UP! | vendetta! | MIDNIGHT | SHADOW | METAMORPHOSIS |", "718b0891-f031-4462-968b-c8b3070822c1", 825, false, "1Soe43JoxpU", "https://www.youtube.com/watch?v=1Soe43JoxpU", 61, "/downloads/music/Nefor/[ MIX PHONK ] | Murder In My Mind | WAKE UP! | vendetta! | MIDNIGHT | SHADOW | METAMORPHOSIS |.m4a", false, false, false, 1, [], 1, ~U[2022-09-25 16:08:08Z], ~U[2026-09-16 09:45:48Z], ~U[2026-09-16 09:45:48Z], "00:00 Kordhell - Murder In My Mind\n02:25 MoonDeity - WAKE UP!\n04:48 MUPP x Sadfriendd - vendetta!\n06:35 PLAYAMANE x Nateki - MIDNIGHT\n08:40 ONIMXRU x SMITHMANE - SHADOW\n11:22 INTERWORLD - METAMORPHOSIS\n\n#phonk #mix\n\nSpotify Playlist\nhttps://open.spotify.com/playlist/2EDOnGibLU5FoRtXkMA6Jm?si=DdBTCjPcQeG_9NDntwpb0Q&utm_source=copy-link", "[ MIX PHONK ] | Murder In My Mind | WAKE UP! | vendetta! | MIDNIGHT | SHADOW | METAMORPHOSIS |", 825, false, "1Soe43JoxpU", "https://www.youtube.com/watch?v=1Soe43JoxpU", "/downloads/music/Nefor/[ MIX PHONK ] | Murder In My Mind | WAKE UP! | vendetta! | MIDNIGHT | SHADOW | METAMORPHOSIS |.m4a", false, 1, ~U[2022-09-25 16:08:08Z]] 09:45:48.396 [debug] QUERY OK source="sources" db=0.1ms idle=59.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:48.396 [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] 09:45:48.397 [debug] QUERY OK source="media_items" db=0.4ms 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 [37772] 09:45:48.397 [debug] Current batch of media processed. Will check again in 1000ms 09:45:49.398 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "Christian French - Head First (Young Bombs Remix)\n〰️ Spotify Playlist: http://cldkid.com/spotify\n〰️ Instagram: http://cldkid.com/instagram\n\n◎ Get it here: \n\n\"Quote of the day here\"\n- Credit here\n\n► Create a CloudKid Profile Pic: http://cldkid.com/generator\n\n✖️ Young Bombs\n\nSoundcloud: https://soundcloud.com/youngbombs\nFacebook: https://www.facebook.com/youngbombs\nTwitter: https://twitter.com/youngbombs\nInstagram: https://www.instagram.com/youngbombs\n\n✖️ Christian French\n\nSoundcloud: https://soundcloud.com/christianfrench\nFacebook: https://www.facebook.com/christianfrenchmusic\nTwitter: https://twitter.com/christianfrench\nInstagram: https://www.instagram.com/christianfrench\n\n► Suggested track: \n► Suggested playlists: http://cldkid.com/playlists\n\n✖️ CloudKid \n\nInstagram: https://instagram.com/cloudkid\nTwitter: https://twitter.com/cloudkidmusic\nSoundcloud: https://soundcloud.com/cloudkid\nFacebook: https://facebook.com/cldkid\nTikTok: @cldkid\nSnapchat: @cldkid\n\n► CloudKid Shop: http://cldkid.com/shop\n\n〰️Submit your music: http://cldkid.com/submit\n〰️Get in touch with me: hello@cldkid.com\n\n► Spotify Playlists\n\n Favourites Playlist: http://cldkid.com/spotify\n All Uploads Playlist: http://cldkid.com/spotifyuploads\n\n© The image used\n\nThe artwork used in this video is an original piece created by CloudKid. All rights reserved. \nFor more information please contact us here: hello@cldkid.com", "duration" => 223, "filename" => "/downloads/music/CloudKid/Christian French - Head First (Young Bombs Remix).m4a", "id" => "HOjK-H9pwKw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=HOjK-H9pwKw", "playlist_index" => 62, "timestamp" => 1593876440, "title" => "Christian French - Head First (Young Bombs Remix)", "upload_date" => "20200704"} 09:45:49.399 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:49.399 [debug] QUERY OK source="sources" db=0.3ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:49.400 [debug] QUERY OK source="media_items" db=0.5ms idle=1003.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-07-04 15:27:20Z], 1] 09:45:49.403 [debug] QUERY OK source="media_items" db=1.7ms idle=1003.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Christian French - Head First (Young Bombs Remix)\n〰️ Spotify Playlist: http://cldkid.com/spotify\n〰️ Instagram: http://cldkid.com/instagram\n\n◎ Get it here: \n\n\"Quote of the day here\"\n- Credit here\n\n► Create a CloudKid Profile Pic: http://cldkid.com/generator\n\n✖️ Young Bombs\n\nSoundcloud: https://soundcloud.com/youngbombs\nFacebook: https://www.facebook.com/youngbombs\nTwitter: https://twitter.com/youngbombs\nInstagram: https://www.instagram.com/youngbombs\n\n✖️ Christian French\n\nSoundcloud: https://soundcloud.com/christianfrench\nFacebook: https://www.facebook.com/christianfrenchmusic\nTwitter: https://twitter.com/christianfrench\nInstagram: https://www.instagram.com/christianfrench\n\n► Suggested track: \n► Suggested playlists: http://cldkid.com/playlists\n\n✖️ CloudKid \n\nInstagram: https://instagram.com/cloudkid\nTwitter: https://twitter.com/cloudkidmusic\nSoundcloud: https://soundcloud.com/cloudkid\nFacebook: https://facebook.com/cldkid\nTikTok: @cldkid\nSnapchat: @cldkid\n\n► CloudKid Shop: http://cldkid.com/shop\n\n〰️Submit your music: http://cldkid.com/submit\n〰️Get in touch with me: hello@cldkid.com\n\n► Spotify Playlists\n\n Favourites Playlist: http://cldkid.com/spotify\n All Uploads Playlist: http://cldkid.com/spotifyuploads\n\n© The image used\n\nThe artwork used in this video is an original piece created by CloudKid. All rights reserved. \nFor more information please contact us here: hello@cldkid.com", "Christian French - Head First (Young Bombs Remix)", "b08aa104-3fb5-4180-8836-b10c72837593", 223, false, "HOjK-H9pwKw", "https://www.youtube.com/watch?v=HOjK-H9pwKw", 62, "/downloads/music/CloudKid/Christian French - Head First (Young Bombs Remix).m4a", false, false, false, 1, [], 1, ~U[2020-07-04 15:27:20Z], ~U[2026-09-16 09:45:49Z], ~U[2026-09-16 09:45:49Z], "Christian French - Head First (Young Bombs Remix)\n〰️ Spotify Playlist: http://cldkid.com/spotify\n〰️ Instagram: http://cldkid.com/instagram\n\n◎ Get it here: \n\n\"Quote of the day here\"\n- Credit here\n\n► Create a CloudKid Profile Pic: http://cldkid.com/generator\n\n✖️ Young Bombs\n\nSoundcloud: https://soundcloud.com/youngbombs\nFacebook: https://www.facebook.com/youngbombs\nTwitter: https://twitter.com/youngbombs\nInstagram: https://www.instagram.com/youngbombs\n\n✖️ Christian French\n\nSoundcloud: https://soundcloud.com/christianfrench\nFacebook: https://www.facebook.com/christianfrenchmusic\nTwitter: https://twitter.com/christianfrench\nInstagram: https://www.instagram.com/christianfrench\n\n► Suggested track: \n► Suggested playlists: http://cldkid.com/playlists\n\n✖️ CloudKid \n\nInstagram: https://instagram.com/cloudkid\nTwitter: https://twitter.com/cloudkidmusic\nSoundcloud: https://soundcloud.com/cloudkid\nFacebook: https://facebook.com/cldkid\nTikTok: @cldkid\nSnapchat: @cldkid\n\n► CloudKid Shop: http://cldkid.com/shop\n\n〰️Submit your music: http://cldkid.com/submit\n〰️Get in touch with me: hello@cldkid.com\n\n► Spotify Playlists\n\n Favourites Playlist: http://cldkid.com/spotify\n All Uploads Playlist: http://cldkid.com/spotifyuploads\n\n© The image used\n\nThe artwork used in this video is an original piece created by CloudKid. All rights reserved. \nFor more information please contact us here: hello@cldkid.com", "Christian French - Head First (Young Bombs Remix)", 223, false, "HOjK-H9pwKw", "https://www.youtube.com/watch?v=HOjK-H9pwKw", "/downloads/music/CloudKid/Christian French - Head First (Young Bombs Remix).m4a", false, 1, ~U[2020-07-04 15:27:20Z]] 09:45:49.403 [debug] QUERY OK source="sources" db=0.1ms idle=161.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:49.404 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:49.404 [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 [55467] 09:45:49.404 [debug] Current batch of media processed. Will check again in 1000ms 09:45:50.405 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "CHECK OUT OUR STORE https://trash.clothing\nTRASH Official Spotify Playlists: https://open.spotify.com/playlist/2rkYXIAACgmzYFcm4cJJwF\n\nBurgos Music\nhttps://soundcloud.com/burgosmusic/burgos-step-of-the-guey-feat-lvcid-prod-by-krain\nhttps://www.facebook.com/anthony.burgos.73\nINSTAGRAM: @BURGOSMUSIC \nTWITTER: @Burgos9000\n@LVCIDPHVRVOH\n\nTRXSH GXNG\n---------------------------------------------------------------------------------\nTRASH 新 ドラゴン -\n😈 FB - https://facebook.com/youre.here.on.purpose\n😈 IG: https://www.instagram.com/trashgang\n😈 DC - https://discord.com/invite/dGpYCqe\n😈 IG: https://twitter.com/garbageclub\n😈 SHOP - https://trash-gang.com/trash-shop\n\n---------------------------------------------------------------------------------\nif you have anything you want to show us, work with us, share your ideas, videos, art, contact us here:\nhttps://www.trash-gang.com/info-contact", "duration" => 195, "filename" => "/downloads/music/TRASH 新 ドラゴン/BURGOS FEAT LVCID - EVERY STEP OF THE GUEY (MUSIC VIDEO) PROD BY K.RAIN.m4a", "id" => "GEwsZctX77w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GEwsZctX77w", "playlist_index" => 63, "timestamp" => 1520305579, "title" => "BURGOS FEAT LVCID - EVERY STEP OF THE GUEY (MUSIC VIDEO) PROD BY K.RAIN", "upload_date" => "20180306"} 09:45:50.406 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1002.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:50.406 [debug] QUERY OK source="sources" db=0.1ms idle=1002.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:50.407 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-03-06 03:06:19Z], 1] 09:45:50.412 [debug] QUERY OK source="media_items" db=4.8ms idle=1002.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["CHECK OUT OUR STORE https://trash.clothing\nTRASH Official Spotify Playlists: https://open.spotify.com/playlist/2rkYXIAACgmzYFcm4cJJwF\n\nBurgos Music\nhttps://soundcloud.com/burgosmusic/burgos-step-of-the-guey-feat-lvcid-prod-by-krain\nhttps://www.facebook.com/anthony.burgos.73\nINSTAGRAM: @BURGOSMUSIC \nTWITTER: @Burgos9000\n@LVCIDPHVRVOH\n\nTRXSH GXNG\n---------------------------------------------------------------------------------\nTRASH 新 ドラゴン -\n😈 FB - https://facebook.com/youre.here.on.purpose\n😈 IG: https://www.instagram.com/trashgang\n😈 DC - https://discord.com/invite/dGpYCqe\n😈 IG: https://twitter.com/garbageclub\n😈 SHOP - https://trash-gang.com/trash-shop\n\n---------------------------------------------------------------------------------\nif you have anything you want to show us, work with us, share your ideas, videos, art, contact us here:\nhttps://www.trash-gang.com/info-contact", "BURGOS FEAT LVCID - EVERY STEP OF THE GUEY (MUSIC VIDEO) PROD BY K.RAIN", "65edd4fa-c874-4e88-983a-eec336b2f91a", 195, false, "GEwsZctX77w", "https://www.youtube.com/watch?v=GEwsZctX77w", 63, "/downloads/music/TRASH 新 ドラゴン/BURGOS FEAT LVCID - EVERY STEP OF THE GUEY (MUSIC VIDEO) PROD BY K.RAIN.m4a", false, false, false, 1, [], 1, ~U[2018-03-06 03:06:19Z], ~U[2026-09-16 09:45:50Z], ~U[2026-09-16 09:45:50Z], "CHECK OUT OUR STORE https://trash.clothing\nTRASH Official Spotify Playlists: https://open.spotify.com/playlist/2rkYXIAACgmzYFcm4cJJwF\n\nBurgos Music\nhttps://soundcloud.com/burgosmusic/burgos-step-of-the-guey-feat-lvcid-prod-by-krain\nhttps://www.facebook.com/anthony.burgos.73\nINSTAGRAM: @BURGOSMUSIC \nTWITTER: @Burgos9000\n@LVCIDPHVRVOH\n\nTRXSH GXNG\n---------------------------------------------------------------------------------\nTRASH 新 ドラゴン -\n😈 FB - https://facebook.com/youre.here.on.purpose\n😈 IG: https://www.instagram.com/trashgang\n😈 DC - https://discord.com/invite/dGpYCqe\n😈 IG: https://twitter.com/garbageclub\n😈 SHOP - https://trash-gang.com/trash-shop\n\n---------------------------------------------------------------------------------\nif you have anything you want to show us, work with us, share your ideas, videos, art, contact us here:\nhttps://www.trash-gang.com/info-contact", "BURGOS FEAT LVCID - EVERY STEP OF THE GUEY (MUSIC VIDEO) PROD BY K.RAIN", 195, false, "GEwsZctX77w", "https://www.youtube.com/watch?v=GEwsZctX77w", "/downloads/music/TRASH 新 ドラゴン/BURGOS FEAT LVCID - EVERY STEP OF THE GUEY (MUSIC VIDEO) PROD BY K.RAIN.m4a", false, 1, ~U[2018-03-06 03:06:19Z]] 09:45:50.413 [debug] QUERY OK source="sources" db=0.3ms idle=169.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:50.413 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:45:50.414 [debug] QUERY OK source="media_items" db=0.4ms 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 [100763] 09:45:50.414 [debug] Current batch of media processed. Will check again in 1000ms 09:45:51.351 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:51.415 [debug] Current batch of media processed. Will check again in 1000ms 09:45:52.416 [debug] FileFollowerServer Handler: Got media attributes: %{"description" => "https://open.spotify.com/track/7BAf4jhkXcnLF5mm8B6u8K?si=-2gza54UQVqZXsBoCuVciQ\n\nhttps://music.apple.com/tr/album/branded-single/1499170899\nhttps://soundcloud.com/iamyury/branded\nhttps://lnkfi.re/branded\n\nCHECK OUT OUR STORE https://trash.clothing\nTRASH Official Spotify Playlists: https://sptfy.com/trash-official\n\nAMV by team TRASH : svd.desu, https://www.youtube.com/channel/UCkww3XZDadd3CcGSkxFqitQ\nANIME : kabaneri\n\nTRXSH GXNG\n---------------------------------------------------------------------------------\nTRASH 新 ドラゴン - \n😈 SHOP - https://trash.clothing/\n😈 IG: https://www.instagram.com/trashgang\n😈 DC - https://discord.gg/kYga8nm\n😈 FB - https://facebook.com/youre.here.on.purpose\n😈 VK - https://vk.com/bornoflegend\n😈 T: https://twitter.com/garbageclub\n---------------------------------------------------------------------------------\nif you have anything you want to show us, work with us, share your ideas, videos, art, contact us here:\nhttps://www.trash-gang.com/info-contact", "duration" => 126, "filename" => "/downloads/music/TRASH 新 ドラゴン/Yury - Branded.m4a", "id" => "NdzFRpnlkzc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=NdzFRpnlkzc", "playlist_index" => 64, "timestamp" => 1585335604, "title" => "Yury - Branded", "upload_date" => "20200327"} 09:45:52.417 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1064.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:52.417 [debug] QUERY OK source="sources" db=0.1ms idle=171.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:52.418 [debug] QUERY OK source="media_items" db=0.3ms idle=81.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-03-27 19:00:04Z], 1] 09:45:52.420 [debug] QUERY OK source="media_items" db=1.7ms idle=82.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["https://open.spotify.com/track/7BAf4jhkXcnLF5mm8B6u8K?si=-2gza54UQVqZXsBoCuVciQ\n\nhttps://music.apple.com/tr/album/branded-single/1499170899\nhttps://soundcloud.com/iamyury/branded\nhttps://lnkfi.re/branded\n\nCHECK OUT OUR STORE https://trash.clothing\nTRASH Official Spotify Playlists: https://sptfy.com/trash-official\n\nAMV by team TRASH : svd.desu, https://www.youtube.com/channel/UCkww3XZDadd3CcGSkxFqitQ\nANIME : kabaneri\n\nTRXSH GXNG\n---------------------------------------------------------------------------------\nTRASH 新 ドラゴン - \n😈 SHOP - https://trash.clothing/\n😈 IG: https://www.instagram.com/trashgang\n😈 DC - https://discord.gg/kYga8nm\n😈 FB - https://facebook.com/youre.here.on.purpose\n😈 VK - https://vk.com/bornoflegend\n😈 T: https://twitter.com/garbageclub\n---------------------------------------------------------------------------------\nif you have anything you want to show us, work with us, share your ideas, videos, art, contact us here:\nhttps://www.trash-gang.com/info-contact", "Yury - Branded", "90f2100f-d7bd-4e0d-ba8b-3bb04c947190", 126, false, "NdzFRpnlkzc", "https://www.youtube.com/watch?v=NdzFRpnlkzc", 64, "/downloads/music/TRASH 新 ドラゴン/Yury - Branded.m4a", false, false, false, 1, [], 1, ~U[2020-03-27 19:00:04Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "https://open.spotify.com/track/7BAf4jhkXcnLF5mm8B6u8K?si=-2gza54UQVqZXsBoCuVciQ\n\nhttps://music.apple.com/tr/album/branded-single/1499170899\nhttps://soundcloud.com/iamyury/branded\nhttps://lnkfi.re/branded\n\nCHECK OUT OUR STORE https://trash.clothing\nTRASH Official Spotify Playlists: https://sptfy.com/trash-official\n\nAMV by team TRASH : svd.desu, https://www.youtube.com/channel/UCkww3XZDadd3CcGSkxFqitQ\nANIME : kabaneri\n\nTRXSH GXNG\n---------------------------------------------------------------------------------\nTRASH 新 ドラゴン - \n😈 SHOP - https://trash.clothing/\n😈 IG: https://www.instagram.com/trashgang\n😈 DC - https://discord.gg/kYga8nm\n😈 FB - https://facebook.com/youre.here.on.purpose\n😈 VK - https://vk.com/bornoflegend\n😈 T: https://twitter.com/garbageclub\n---------------------------------------------------------------------------------\nif you have anything you want to show us, work with us, share your ideas, videos, art, contact us here:\nhttps://www.trash-gang.com/info-contact", "Yury - Branded", 126, false, "NdzFRpnlkzc", "https://www.youtube.com/watch?v=NdzFRpnlkzc", "/downloads/music/TRASH 新 ドラゴン/Yury - Branded.m4a", false, 1, ~U[2020-03-27 19:00:04Z]] 09:45:52.420 [debug] QUERY OK source="sources" db=0.1ms idle=84.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:52.421 [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] 09:45:52.421 [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 [100827] 09:45:52.421 [debug] Current batch of media processed. Will check again in 1000ms 09:45:52.773 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLxtPwTvOWboAEt3zMef3waxaEFc6kR-fl --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/music/%(channel)S/%(title)S.%(ext)S --extract-audio --format-sort +acodec:m4a --audio-format best --format bestaudio[format_note*=original]/bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/17/44/1744349d288fd23e61ce56c8f52f009ab5c0d8aa339a215bf9f8951a5adb6bb8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 09:45:52.800 [debug] Gracefully stopping file follower 09:45:52.800 [debug] QUERY OK source="sources" db=0.2ms idle=382.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 09:45:52.800 [debug] QUERY OK source="sources" db=0.1ms idle=380.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:52.801 [debug] QUERY OK source="media_items" db=0.4ms idle=380.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-07-24 19:55:06Z], 1] 09:45:52.803 [debug] QUERY OK source="media_items" db=1.0ms idle=380.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["NOTORIOUS𝙓 All Links: https://linktr.ee/notoriousx\nNOTORIOUS𝙓 Discord: https://discord.gg/Evdu3UuRGX\n\nArtist Links & Song Credit:\nURBVN ARCHITECTS - VALLEY OF SHADOWS\nSong: https://m.soundcloud.com/urbvnarchitectsnyc/valley-of-shadows\nInstagram: https://www.instagram.com/urbvnarchitectsnyc/\nOther socials:\nhttps://open.spotify.com/artist/4KWUTGSbNNdOZktj1KQ2yo\n\nVideo Editor - Joshua Fox\nhttps://www.instagram.com/j.foxnyc/\n\nFor any business inquiry and collaboration:\nhttps://www.notorious-x.com/submissions \n\n#watchdogs #watchdogslegion #urbvnarchitects\nAll rights to the owners - Powered by WayneMPR™", "WATCH DOGS | VALLEY OF SHADOWS", "501da436-2689-479c-9165-c58a1af03f0e", 107, false, "j-ga3gWKBO0", "https://www.youtube.com/watch?v=j-ga3gWKBO0", 1, "/downloads/music/Notorious𝘟/WATCH DOGS | VALLEY OF SHADOWS.m4a", false, false, false, 1, [], 1, ~U[2020-07-24 19:55:06Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "NOTORIOUS𝙓 All Links: https://linktr.ee/notoriousx\nNOTORIOUS𝙓 Discord: https://discord.gg/Evdu3UuRGX\n\nArtist Links & Song Credit:\nURBVN ARCHITECTS - VALLEY OF SHADOWS\nSong: https://m.soundcloud.com/urbvnarchitectsnyc/valley-of-shadows\nInstagram: https://www.instagram.com/urbvnarchitectsnyc/\nOther socials:\nhttps://open.spotify.com/artist/4KWUTGSbNNdOZktj1KQ2yo\n\nVideo Editor - Joshua Fox\nhttps://www.instagram.com/j.foxnyc/\n\nFor any business inquiry and collaboration:\nhttps://www.notorious-x.com/submissions \n\n#watchdogs #watchdogslegion #urbvnarchitects\nAll rights to the owners - Powered by WayneMPR™", "WATCH DOGS | VALLEY OF SHADOWS", 107, false, "j-ga3gWKBO0", "https://www.youtube.com/watch?v=j-ga3gWKBO0", "/downloads/music/Notorious𝘟/WATCH DOGS | VALLEY OF SHADOWS.m4a", false, 1, ~U[2020-07-24 19:55:06Z]] 09:45:52.803 [debug] QUERY OK source="sources" db=0.1ms idle=381.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:52.804 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-07-26 21:47:53Z], 1] 09:45:52.805 [debug] QUERY OK source="media_items" db=0.7ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Universal Music Group\n\nCameras / Good Ones Go Interlude (Medley) · Drake\n\nTake Care\n\n℗ 2011 Young Money Entertainment/Cash Money Records\n\nReleased on: 2011-11-15\n\nProducer: Noah \"40\" Shebib\n\nAuto-generated by YouTube.", "Cameras / Good Ones Go Interlude (Medley)", "f7b85c06-62fe-409f-b504-b9ef7957c18c", 435, false, "4DV9EfmawLI", "https://www.youtube.com/watch?v=4DV9EfmawLI", 2, "/downloads/music/Drake/Cameras ⧸ Good Ones Go Interlude (Medley).m4a", false, false, false, 1, [], 2, ~U[2018-07-26 21:47:53Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Provided to YouTube by Universal Music Group\n\nCameras / Good Ones Go Interlude (Medley) · Drake\n\nTake Care\n\n℗ 2011 Young Money Entertainment/Cash Money Records\n\nReleased on: 2011-11-15\n\nProducer: Noah \"40\" Shebib\n\nAuto-generated by YouTube.", "Cameras / Good Ones Go Interlude (Medley)", 435, false, "4DV9EfmawLI", "https://www.youtube.com/watch?v=4DV9EfmawLI", "/downloads/music/Drake/Cameras ⧸ Good Ones Go Interlude (Medley).m4a", false, 1, ~U[2018-07-26 21:47:53Z]] 09:45:52.805 [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" = ?) [1] 09:45:52.806 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-07-26 22:20:40Z], 1] 09:45:52.807 [debug] QUERY OK source="media_items" db=0.7ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Universal Music Group\n\nNonstop · Drake\n\nScorpion\n\n℗ 2018 Young Money/Cash Money Records\n\nReleased on: 2018-06-29\n\nMixing Engineer: Noel \"Gadget\" Campbell\nMixing Second Engineer: Harley Arsenault\nMixing Second Engineer: Greg Moffet\nMixing Second Engineer: Ronald Moonoo\nProducer: Tay Keith\nAdditionalproducer: No ID\nAdditionalproducer, Recording Engineer: Noel Cadastre\nRecording Engineer: Noah Shebib\nComposer Lyricist: A. Graham\nComposer Lyricist: Brytavious Lakeith Chambers\nComposer Lyricist: D. Wilson\n\nAuto-generated by YouTube.", "Nonstop", "c6f93b83-ba0d-4ed8-8213-c320e9990dc6", 239, false, "XNpGNykVZ6U", "https://www.youtube.com/watch?v=XNpGNykVZ6U", 3, "/downloads/music/Drake/Nonstop.m4a", false, false, false, 1, [], 2, ~U[2018-07-26 22:20:40Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Provided to YouTube by Universal Music Group\n\nNonstop · Drake\n\nScorpion\n\n℗ 2018 Young Money/Cash Money Records\n\nReleased on: 2018-06-29\n\nMixing Engineer: Noel \"Gadget\" Campbell\nMixing Second Engineer: Harley Arsenault\nMixing Second Engineer: Greg Moffet\nMixing Second Engineer: Ronald Moonoo\nProducer: Tay Keith\nAdditionalproducer: No ID\nAdditionalproducer, Recording Engineer: Noel Cadastre\nRecording Engineer: Noah Shebib\nComposer Lyricist: A. Graham\nComposer Lyricist: Brytavious Lakeith Chambers\nComposer Lyricist: D. Wilson\n\nAuto-generated by YouTube.", "Nonstop", 239, false, "XNpGNykVZ6U", "https://www.youtube.com/watch?v=XNpGNykVZ6U", "/downloads/music/Drake/Nonstop.m4a", false, 1, ~U[2018-07-26 22:20:40Z]] 09:45:52.808 [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" = ?) [1] 09:45:52.808 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-04-12 16:00:11Z], 1] 09:45:52.810 [debug] QUERY OK source="media_items" db=1.1ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎧 Follow our official playlist for new chill beats every week\n➡ https://tinyurl.com/Ivy-Station-Records\n\n⛰️ Check out our second channel for original videos on focus, mindset, and productivity\n➡ https://www.youtube.com/@3vrst\n\n📷 Follow us on Instagram\n➡ https://www.instagram.com/ivystationrecords/\n➡ https://www.instagram.com/3vrst.co/\n\n🔊 Release your project with Ivy Station Records\n➡ https://tinyurl.com/Ivy-Station-Submissions\n\n🌿 For all your Ivy Station Needs\n➡ http://ivystationrecords.com/\n\u200B\n\u200B✏️Thanks to @one.ofmillions for the amazing animations\n\nhttps://www.instagram.com/one.ofmillions\nhttps://linktr.ee/one_of_millions.art\n\n♫ Tracklist\n[0:00] Old School\n[3:56] Life's a Bitch\n[7:20] Juicy\n[11:49] Fuck all y'all\n[15:32] One Love\n[19:00] Suicidal Thoughts\n[21:24] Hit em up\n[24:19] Me Against the World\n[26:25] Dead Wrong\n[28:38] Ambitions\n[31:39] Thugz Mansion\n\u200B\nI do not own any of the music. If any of the creators want their work taken down please contact me via the email in the about section of my channel.\n\n📼Like, Comment & Subscribe for daily selections like this📼", "If 90's rappers made lofi hip hop radio", "e2c1a684-7fff-4642-bb64-933195230339", 2126, false, "YuKbv1KdhTw", "https://www.youtube.com/watch?v=YuKbv1KdhTw", 4, "/downloads/music/Ivy Station Records/If 90's rappers made lofi hip hop radio.m4a", false, false, false, 1, [], 1, ~U[2021-04-12 16:00:11Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "🎧 Follow our official playlist for new chill beats every week\n➡ https://tinyurl.com/Ivy-Station-Records\n\n⛰️ Check out our second channel for original videos on focus, mindset, and productivity\n➡ https://www.youtube.com/@3vrst\n\n📷 Follow us on Instagram\n➡ https://www.instagram.com/ivystationrecords/\n➡ https://www.instagram.com/3vrst.co/\n\n🔊 Release your project with Ivy Station Records\n➡ https://tinyurl.com/Ivy-Station-Submissions\n\n🌿 For all your Ivy Station Needs\n➡ http://ivystationrecords.com/\n\u200B\n\u200B✏️Thanks to @one.ofmillions for the amazing animations\n\nhttps://www.instagram.com/one.ofmillions\nhttps://linktr.ee/one_of_millions.art\n\n♫ Tracklist\n[0:00] Old School\n[3:56] Life's a Bitch\n[7:20] Juicy\n[11:49] Fuck all y'all\n[15:32] One Love\n[19:00] Suicidal Thoughts\n[21:24] Hit em up\n[24:19] Me Against the World\n[26:25] Dead Wrong\n[28:38] Ambitions\n[31:39] Thugz Mansion\n\u200B\nI do not own any of the music. If any of the creators want their work taken down please contact me via the email in the about section of my channel.\n\n📼Like, Comment & Subscribe for daily selections like this📼", "If 90's rappers made lofi hip hop radio", 2126, false, "YuKbv1KdhTw", "https://www.youtube.com/watch?v=YuKbv1KdhTw", "/downloads/music/Ivy Station Records/If 90's rappers made lofi hip hop radio.m4a", false, 1, ~U[2021-04-12 16:00:11Z]] 09:45:52.810 [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" = ?) [1] 09:45:52.811 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-05-09 20:49:22Z], 1] 09:45:52.812 [debug] QUERY OK source="media_items" db=0.7ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["MORE APPA FLYING AMBIENCE: https://www.youtube.com/watch?v=QGAvQtR0_R8&list=PLIEg2_5Vx9_0\n\n🌎 Explore the complete Avatar: The Last Airbender Ambience Series: https://www.youtube.com/show/VLPLaA6IET2SBaY?sbp=QAE%3D \n\n\nI do not own anything from this video!\n\nJust liked to share it! \nIf you like these types of ambience videos, consider subscribing!", "The Last Airbender Ambience - Appa ride", "8c33e434-f549-4632-8e45-5062032f1a16", 3600, false, "hE0Lav4MZDM", "https://www.youtube.com/watch?v=hE0Lav4MZDM", 5, "/downloads/music/SeriousChillz/The Last Airbender Ambience - Appa ride.m4a", false, false, false, 1, [], 1, ~U[2021-05-09 20:49:22Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "MORE APPA FLYING AMBIENCE: https://www.youtube.com/watch?v=QGAvQtR0_R8&list=PLIEg2_5Vx9_0\n\n🌎 Explore the complete Avatar: The Last Airbender Ambience Series: https://www.youtube.com/show/VLPLaA6IET2SBaY?sbp=QAE%3D \n\n\nI do not own anything from this video!\n\nJust liked to share it! \nIf you like these types of ambience videos, consider subscribing!", "The Last Airbender Ambience - Appa ride", 3600, false, "hE0Lav4MZDM", "https://www.youtube.com/watch?v=hE0Lav4MZDM", "/downloads/music/SeriousChillz/The Last Airbender Ambience - Appa ride.m4a", false, 1, ~U[2021-05-09 20:49:22Z]] 09:45:52.813 [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" = ?) [1] 09:45:52.813 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-09-05 23:51:54Z], 1] 09:45:52.814 [debug] QUERY OK source="media_items" db=0.7ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Maasho\n\nGinger · Maasho · Tanu\n\nGinger\n\n℗ 2019 Maasho\n\nReleased on: 2019-08-30\n\nMain Artist: Maasho\nFeatured Artist: Tanu\nProducer: Ashwin Sridhar\nLyricist: Abel Maasho\nLyricist: Tanmay Joshi\n\nAuto-generated by YouTube.", "Ginger", "2668b411-2c25-4319-96b3-7460bc6660a5", 157, false, "BpjAMaUNgHA", "https://www.youtube.com/watch?v=BpjAMaUNgHA", 6, "/downloads/music/Maasho/Ginger.m4a", false, false, false, 1, [], 1, ~U[2023-09-05 23:51:54Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Provided to YouTube by Maasho\n\nGinger · Maasho · Tanu\n\nGinger\n\n℗ 2019 Maasho\n\nReleased on: 2019-08-30\n\nMain Artist: Maasho\nFeatured Artist: Tanu\nProducer: Ashwin Sridhar\nLyricist: Abel Maasho\nLyricist: Tanmay Joshi\n\nAuto-generated by YouTube.", "Ginger", 157, false, "BpjAMaUNgHA", "https://www.youtube.com/watch?v=BpjAMaUNgHA", "/downloads/music/Maasho/Ginger.m4a", false, 1, ~U[2023-09-05 23:51:54Z]] 09:45:52.815 [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" = ?) [1] 09:45:52.815 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-02 12:53:42Z], 1] 09:45:52.817 [debug] QUERY OK source="media_items" db=1.4ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎵 Follow the official 7clouds playlist on Spotify : http://spoti.fi/2SJsUcZ\n\u200B🎧 Malcolm Todd - Chest Pain (I Love) (Lyrics)\n⏬ Download / Stream: https://malcolmtodd.lnk.to/chestpain\n🔔 Turn on notifications to stay updated with new uploads!\n\n❤️ Follow our Spotify playlists: http://bit.ly/7cloudsSpotify\n💪 Workout Music: http://workout.7clouds.link\n🎮 Gaming Music: http://gaming.7clouds.link\n🌍 Best Pop Music: http://pop.7clouds.link\n🤬 Hardstyle Music: http://hardstyle.7clouds.link\n🥁 Drum & Bass: http://dnb.7clouds.link\n🔊 Hypertechno: http://techno.7clouds.link\n😡 Phonk Music: http://phonk.7clouds.link\n☁️ 7clouds Releases: http://release.7clouds.link\n\n👉 Malcolm Todd\nhttps://instagram.com/malcolmtodd\nhttps://tiktok.com/@malcolmtodddd\nhttps://malcolmtodd.cool\n\n☁️ 7clouds:\nhttps://open.spotify.com/user/7cloudsmusic\nhttps://soundcloud.com/7cloudsmusic\nhttps://audiomack.com/7cloudsmusic\nhttps://facebook.com/7cloudsofficial\nhttps://discord.com/invite/d5Arh8Y\nhttps://twitter.com/7cloudsmusic\nhttps://instagram.com/7clouds\nhttps://tiktok.com/@7clouds\nhttps://7clouds.org\n\n.........\n🎤 Lyrics: Malcolm Todd - Chest Pain\n\n[Chorus]\nMy chest is hurting, my feet can't fall out of bed\nI don't know where to go, so I'll lay here instead\nWith my symptoms, symptoms of sorrow and dread\nThey all said it would fade but again and again\nI love, I love\nI love, I love, I love\nI love, I love, I love\n\n[Verse]\nI've been so busy\nBut now that I'm alone\nWhere did you go?\nTell me why\nWhy can't you live at home tonight and stay with me inside?\nIt's nice\nPlease, I wanna see what we would be if you were by my side\nMake me feel lonely, soon\nYou might not know me, I wish I could lie\nBut I can't deny\n\n[Chorus]\nMy chest is hurting, my feet can't fall out of bed\nI don't know where to go, so I'll lay here instead\nWith my symptoms, symptoms of sorrow and dread\nThey all said it would fade but again and again\nI love, I love\nI love, I love, I love\nI love, I love, I love\n\n[Refrain]\nOoh, ooh-ooh\nOoh, ooh-ooh\nOoh, ooh-ooh\nOoh, ooh-ooh\n\n[Chorus]\nI'm hurting I'm stuck in my bed\nI don't know where to go, so I'll lay here instead\nWith my symptoms, symptoms of sorrow and dread\nThey all said it would fade, but again and again\nI love, I love\nI love, I love, I love\nI love, I love\nI love, I love, I love\n\n.........\n📧 Contact / Demo Submissions: contact@7clouds.org\n.........\n💌 Demos / Music Submissions: https://7clouds.portal.district.biz\n.........\n\n#malcolmtodd #chestpain #lyrics #7clouds", "Malcolm Todd - Chest Pain (I Love) (Lyrics)", "3862db9d-d792-410c-9285-645693c3372e", 202, false, "Q_nxgjIY6qQ", "https://www.youtube.com/watch?v=Q_nxgjIY6qQ", 7, "/downloads/music/7clouds/Malcolm Todd - Chest Pain (I Love) (Lyrics).m4a", false, false, false, 1, [], 1, ~U[2025-04-02 12:53:42Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "🎵 Follow the official 7clouds playlist on Spotify : http://spoti.fi/2SJsUcZ\n\u200B🎧 Malcolm Todd - Chest Pain (I Love) (Lyrics)\n⏬ Download / Stream: https://malcolmtodd.lnk.to/chestpain\n🔔 Turn on notifications to stay updated with new uploads!\n\n❤️ Follow our Spotify playlists: http://bit.ly/7cloudsSpotify\n💪 Workout Music: http://workout.7clouds.link\n🎮 Gaming Music: http://gaming.7clouds.link\n🌍 Best Pop Music: http://pop.7clouds.link\n🤬 Hardstyle Music: http://hardstyle.7clouds.link\n🥁 Drum & Bass: http://dnb.7clouds.link\n🔊 Hypertechno: http://techno.7clouds.link\n😡 Phonk Music: http://phonk.7clouds.link\n☁️ 7clouds Releases: http://release.7clouds.link\n\n👉 Malcolm Todd\nhttps://instagram.com/malcolmtodd\nhttps://tiktok.com/@malcolmtodddd\nhttps://malcolmtodd.cool\n\n☁️ 7clouds:\nhttps://open.spotify.com/user/7cloudsmusic\nhttps://soundcloud.com/7cloudsmusic\nhttps://audiomack.com/7cloudsmusic\nhttps://facebook.com/7cloudsofficial\nhttps://discord.com/invite/d5Arh8Y\nhttps://twitter.com/7cloudsmusic\nhttps://instagram.com/7clouds\nhttps://tiktok.com/@7clouds\nhttps://7clouds.org\n\n.........\n🎤 Lyrics: Malcolm Todd - Chest Pain\n\n[Chorus]\nMy chest is hurting, my feet can't fall out of bed\nI don't know where to go, so I'll lay here instead\nWith my symptoms, symptoms of sorrow and dread\nThey all said it would fade but again and again\nI love, I love\nI love, I love, I love\nI love, I love, I love\n\n[Verse]\nI've been so busy\nBut now that I'm alone\nWhere did you go?\nTell me why\nWhy can't you live at home tonight and stay with me inside?\nIt's nice\nPlease, I wanna see what we would be if you were by my side\nMake me feel lonely, soon\nYou might not know me, I wish I could lie\nBut I can't deny\n\n[Chorus]\nMy chest is hurting, my feet can't fall out of bed\nI don't know where to go, so I'll lay here instead\nWith my symptoms, symptoms of sorrow and dread\nThey all said it would fade but again and again\nI love, I love\nI love, I love, I love\nI love, I love, I love\n\n[Refrain]\nOoh, ooh-ooh\nOoh, ooh-ooh\nOoh, ooh-ooh\nOoh, ooh-ooh\n\n[Chorus]\nI'm hurting I'm stuck in my bed\nI don't know where to go, so I'll lay here instead\nWith my symptoms, symptoms of sorrow and dread\nThey all said it would fade, but again and again\nI love, I love\nI love, I love, I love\nI love, I love\nI love, I love, I love\n\n.........\n📧 Contact / Demo Submissions: contact@7clouds.org\n.........\n💌 Demos / Music Submissions: https://7clouds.portal.district.biz\n.........\n\n#malcolmtodd #chestpain #lyrics #7clouds", "Malcolm Todd - Chest Pain (I Love) (Lyrics)", 202, false, "Q_nxgjIY6qQ", "https://www.youtube.com/watch?v=Q_nxgjIY6qQ", "/downloads/music/7clouds/Malcolm Todd - Chest Pain (I Love) (Lyrics).m4a", false, 1, ~U[2025-04-02 12:53:42Z]] 09:45:52.818 [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" = ?) [1] 09:45:52.818 [debug] QUERY OK source="media_items" db=0.3ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-09-11 14:15:10Z], 1] 09:45:52.820 [debug] QUERY OK source="media_items" db=1.4ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["▶︎ stream GEGENVERKEHR: https://distrokid.com/hyperfollow/schorl3/gegenverkehr\n▶︎ stream ep SPRUDELPOP: https://schorl3.lnk.to/sprudelpop\n \n▶︎ FOLLOW SCHORL3\n \nhttp://Instagram.schorl3.de\nhttp://Facebook.schorl3.de\nhttp://Spotify.schorl3.de\nhttp://AppleMusic.schorl3.de\nhttp://TikTok.schorl3.de\nhttp://Website.schorl3.de/\n \n🔔 Abonniere den SCHORL3 Newsletter ➤ http://Fanpost.schorl3.de/\n \n🎵 Alle offiziellen Musikvideos von SCHORL3 ➤ https://bit.ly/3dH5zj0 \n \n \n▶︎ VIDEO CREDITS\n \nCast - Lara Ballauff https://www.instagram.com/laraballauff/\nCast - Anton Ostrop https://www.instagram.com/antonostrop/\nCamera & Post Production - Pauline Zinedine Zankel https://www.instagram.com/paulinezinedine/\n\n▶︎ SPECIAL THANKS TO\n \nLily Ellerbrock\nLilly Mohrbutter\nVIJI\nKarim Eid\nPano Maier\nDollar$ign\nMarco Diallo\n \n▶︎ LYRICS\n \nAlle ihre Freunde trinken Mate\nZahlen ihren Tabak mit der Karte\nAlle ihre Freunde haben Stil\nRauchen, trinken und kiffen sehr viel\n\nUnd sie reden über Gott und die Welt\ndebattieren was ihnen an der Politik nicht gefällt\nUnd sie fahren mit dem Rad und der Bahn\nDoch geben damit an dass Sie gerade erst auf Bali waren yeah\n\nBist du ohne deine Freunde fällt mir Absagen schwer\ndoch bevor ich mit denen chille lauf ich in Gegenverkehr\n\nGegenverkehr, Gegenverkehr\nich hoff ich seh sie nie mehr\nDenn ich mag sie nicht sehr\n\nAlle ihre Freunde sind Veganer\nessen Tofu trinken hippes Lager – Bier\nAlle ihre Freunde haben Geld\nhoffen, dass ihre Fassade hält\n\nUnd sie reden über Astrologie,\ntuen so als wären ihre Horoskope Magie\nUnd sie machen alle was mit Design\nHören diesen Song und fang dann alle an zu weinen\n\nBist du ohne deine Freunde fällt mir Absagen schwer\ndoch bevor ich mit denen chille lauf ich in Gegenverkehr\n\nUnd sie haben Studiert\nund ich hab es probiert\ndachte ich mag alle Menschen\ndoch sie haben mich schockiert\n\nund es klingt gemein\nich will zwar bei dir sein\ndoch bist du bei deinen Freunden\nbin ich lieber allein\n\nBist du ohne deine Freunde fällt mir Absagen schwer\ndoch bevor ich mit denen chille lauf ich in Gegenverkehr\n\nGegenverkehr, Gegenverkehr\nich hoff ich seh sie nie mehr\nDenn ich mag sie nicht sehr\n\n \n \n \n♥︎ Wir lieben euch alle!\n \n#gegenverkehr #schorl3 #alleliebenschorl3", "SCHORL3 - GEGENVERKEHR (OFFIZIELLES MUSIKVIDEO)", "210d9d49-efaf-4f3d-b0db-d58fb894bf61", 166, false, "PTUXPQMiDSo", "https://www.youtube.com/watch?v=PTUXPQMiDSo", 8, "/downloads/music/SCHORL3/SCHORL3 - GEGENVERKEHR (OFFIZIELLES MUSIKVIDEO).m4a", false, false, false, 1, [], 1, ~U[2020-09-11 14:15:10Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "▶︎ stream GEGENVERKEHR: https://distrokid.com/hyperfollow/schorl3/gegenverkehr\n▶︎ stream ep SPRUDELPOP: https://schorl3.lnk.to/sprudelpop\n \n▶︎ FOLLOW SCHORL3\n \nhttp://Instagram.schorl3.de\nhttp://Facebook.schorl3.de\nhttp://Spotify.schorl3.de\nhttp://AppleMusic.schorl3.de\nhttp://TikTok.schorl3.de\nhttp://Website.schorl3.de/\n \n🔔 Abonniere den SCHORL3 Newsletter ➤ http://Fanpost.schorl3.de/\n \n🎵 Alle offiziellen Musikvideos von SCHORL3 ➤ https://bit.ly/3dH5zj0 \n \n \n▶︎ VIDEO CREDITS\n \nCast - Lara Ballauff https://www.instagram.com/laraballauff/\nCast - Anton Ostrop https://www.instagram.com/antonostrop/\nCamera & Post Production - Pauline Zinedine Zankel https://www.instagram.com/paulinezinedine/\n\n▶︎ SPECIAL THANKS TO\n \nLily Ellerbrock\nLilly Mohrbutter\nVIJI\nKarim Eid\nPano Maier\nDollar$ign\nMarco Diallo\n \n▶︎ LYRICS\n \nAlle ihre Freunde trinken Mate\nZahlen ihren Tabak mit der Karte\nAlle ihre Freunde haben Stil\nRauchen, trinken und kiffen sehr viel\n\nUnd sie reden über Gott und die Welt\ndebattieren was ihnen an der Politik nicht gefällt\nUnd sie fahren mit dem Rad und der Bahn\nDoch geben damit an dass Sie gerade erst auf Bali waren yeah\n\nBist du ohne deine Freunde fällt mir Absagen schwer\ndoch bevor ich mit denen chille lauf ich in Gegenverkehr\n\nGegenverkehr, Gegenverkehr\nich hoff ich seh sie nie mehr\nDenn ich mag sie nicht sehr\n\nAlle ihre Freunde sind Veganer\nessen Tofu trinken hippes Lager – Bier\nAlle ihre Freunde haben Geld\nhoffen, dass ihre Fassade hält\n\nUnd sie reden über Astrologie,\ntuen so als wären ihre Horoskope Magie\nUnd sie machen alle was mit Design\nHören diesen Song und fang dann alle an zu weinen\n\nBist du ohne deine Freunde fällt mir Absagen schwer\ndoch bevor ich mit denen chille lauf ich in Gegenverkehr\n\nUnd sie haben Studiert\nund ich hab es probiert\ndachte ich mag alle Menschen\ndoch sie haben mich schockiert\n\nund es klingt gemein\nich will zwar bei dir sein\ndoch bist du bei deinen Freunden\nbin ich lieber allein\n\nBist du ohne deine Freunde fällt mir Absagen schwer\ndoch bevor ich mit denen chille lauf ich in Gegenverkehr\n\nGegenverkehr, Gegenverkehr\nich hoff ich seh sie nie mehr\nDenn ich mag sie nicht sehr\n\n \n \n \n♥︎ Wir lieben euch alle!\n \n#gegenverkehr #schorl3 #alleliebenschorl3", "SCHORL3 - GEGENVERKEHR (OFFIZIELLES MUSIKVIDEO)", 166, false, "PTUXPQMiDSo", "https://www.youtube.com/watch?v=PTUXPQMiDSo", "/downloads/music/SCHORL3/SCHORL3 - GEGENVERKEHR (OFFIZIELLES MUSIKVIDEO).m4a", false, 1, ~U[2020-09-11 14:15:10Z]] 09:45:52.821 [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" = ?) [1] 09:45:52.822 [debug] QUERY OK source="media_items" db=0.3ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-04-28 22:39:25Z], 1] 09:45:52.824 [debug] QUERY OK source="media_items" db=1.9ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Godmode ft. Lucha - I'm A Monster\nMore from @Godmode: https://www.youtube.com/channel/UCGgXtv_PPFDUk_w1SI0_nVA\n\nZhang Chulan's fate changed one day when he went to the cemetery to visit his grandfather's grave and was attacked by zombies and saved by a mysterious girl. The amv is based on the evolution of zhang as a character, relating him to epic music, capable of conveying the emotion of action.\n\n▪ 𝙕𝙊𝙍𝙆𝙀𝙉 剣士 ▪\n◆ 𝗜𝗡𝗦𝗧𝗔𝗚𝗥𝗔𝗠: https://www.instagram.com/zorkenamvs/\n◆ 𝗗𝗜𝗦𝗖𝗢𝗥𝗗: https://discord.gg/mCs4cbGSfS\n◆ 𝗕𝗨𝗦𝗜𝗡𝗘𝗦𝗦 𝗚𝗠𝗔𝗜𝗟: Zorkenbusiness@gmail.com\n_________________________________________________________\n\n- 𝗦𝗧𝗥𝗘𝗔𝗠 \"I'm A Monster\" \n⋄ 𝗦𝗽𝗼𝘁𝗶𝗳𝘆: https://open.spotify.com/track/10J13D1trETctDdfUg6b5V?si=be1fc8d7c2624f39\n⋄ 𝗔𝗽𝗽𝗹𝗲 𝗠𝘂𝘀𝗶𝗰: https://music.apple.com/br/album/im-a-monster-single/1513261009\n\n◈ @Godmode \n◦ https://open.spotify.com/artist/3R4VCoPt7V1poOWpdU43X8\n◦ https://soundcloud.com/godmode-on-9172202\n◦ https://www.instagram.com/theofficialgodmode/?hl=en\n\n◈ @itslucha\n◦ https://open.spotify.com/artist/0jkgNCEAyUXUD4u8nO6olG\n◦ https://soundcloud.com/itslucha\n◦ https://www.instagram.com/itslucha/\n\n♪ 𝗟𝗬𝗥𝗜𝗖𝗦:\n\nOoh yeah\nI don't need no liquor and I don’t need no drugs\nTo feel like I am gifted\nTo really get that buzz\nCause I just like the music\nSo that is what I want\nLet me bring you all to life cause that's what I'm on like\n\nKeep this going, do it now\nEven though I’m sober\nEnergy is crazy and I am taking over\nI can really write these raps while chilling on the sofa\nCause I am a monster and I came to take it over\n\nOh ma, I think that I'm a monster\nOh ma, I wished it weighs on my conscious\nBut it really, really doesn't\nSo I tell the truth to you, there is no bluffing like\n\nMama, mama, mama, I'm a monster\nYeah, I am the lord that's gonna conquer\nSo I don't care what you say\nYou know I run this\nSo I been back on my path\nI'm really on this\n\nOn this level elevating, man I do it now, I really gotta make it\nLike I don't care what they be really saying\nSo I’m coming through\nAnd I just gotta slay it\nI’m a monster, I'm a genius\nMan, I’m working so hard\nSo I don't really care what they say right now\nI rise the top\n\nWoah, I rise to the top, you should, should know\nYeah I ain't gonna give up oh oh no\nCause I'm a, I’m a monster and you know\nThat I came to kill it, so here we go\n(no, no, no) Oh mama, I'm a monster\n(yeah, yeah) Nobody will keep it going like\n\nOh ma, I think that I'm a monster\nOh ma I wished it weighs on my conscious\nBut it really, really doesn't\nSo I tell the truth to you, there's no bluffing like\n\nCause ya'll ain't ready for me, I know, I know that\nSo I'm on this road, I keep on going\nYa'll try to stop me, I'm like oh no man\nYou never do it man\nI keep on, keep on, keep on going\nI keep on moving\nWe really do this\nYou think you cut me down hey\nDawg, I am no Judas\nMan, I just slay these slayers\nI kill these intruders\nCause I been sliding through the best to ever do this like\n\n▶ 𝗩𝗜𝗗𝗘𝗢 𝗜𝗡𝗙𝗢:\n▪ Anime: Hitori no Shita The Outcast Season 3\n_________________________________________________________\n#AMV #Zorken #AnimeMusicVideo #HitoriNoShita #ChineseAnime #GodMode\n𝗩𝗶𝗱𝗲𝗼 𝗽𝗿𝗼𝗱𝘂𝗰𝗲𝗱 𝗯𝘆 𝗭𝗼𝗿𝗸𝗲𝗻 剣士\n𝐀𝐋𝐋 𝐑𝐈𝐆𝐇𝐓𝐒 𝐑𝐄𝐒𝐄𝐑𝐕𝐄𝐃 © (𝟮𝟬𝟮𝟭).", "Godmode x Lucha - I'm A Monster", "8d8e4cda-338a-426b-98ea-d505cfcea131", 182, false, "YHT3GEvXU3Q", "https://www.youtube.com/watch?v=YHT3GEvXU3Q", 9, "/downloads/music/Zorken 剣士/Godmode x Lucha - I'm A Monster.m4a", false, false, false, 1, [], 1, ~U[2021-04-28 22:39:25Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Godmode ft. Lucha - I'm A Monster\nMore from @Godmode: https://www.youtube.com/channel/UCGgXtv_PPFDUk_w1SI0_nVA\n\nZhang Chulan's fate changed one day when he went to the cemetery to visit his grandfather's grave and was attacked by zombies and saved by a mysterious girl. The amv is based on the evolution of zhang as a character, relating him to epic music, capable of conveying the emotion of action.\n\n▪ 𝙕𝙊𝙍𝙆𝙀𝙉 剣士 ▪\n◆ 𝗜𝗡𝗦𝗧𝗔𝗚𝗥𝗔𝗠: https://www.instagram.com/zorkenamvs/\n◆ 𝗗𝗜𝗦𝗖𝗢𝗥𝗗: https://discord.gg/mCs4cbGSfS\n◆ 𝗕𝗨𝗦𝗜𝗡𝗘𝗦𝗦 𝗚𝗠𝗔𝗜𝗟: Zorkenbusiness@gmail.com\n_________________________________________________________\n\n- 𝗦𝗧𝗥𝗘𝗔𝗠 \"I'm A Monster\" \n⋄ 𝗦𝗽𝗼𝘁𝗶𝗳𝘆: https://open.spotify.com/track/10J13D1trETctDdfUg6b5V?si=be1fc8d7c2624f39\n⋄ 𝗔𝗽𝗽𝗹𝗲 𝗠𝘂𝘀𝗶𝗰: https://music.apple.com/br/album/im-a-monster-single/1513261009\n\n◈ @Godmode \n◦ https://open.spotify.com/artist/3R4VCoPt7V1poOWpdU43X8\n◦ https://soundcloud.com/godmode-on-9172202\n◦ https://www.instagram.com/theofficialgodmode/?hl=en\n\n◈ @itslucha\n◦ https://open.spotify.com/artist/0jkgNCEAyUXUD4u8nO6olG\n◦ https://soundcloud.com/itslucha\n◦ https://www.instagram.com/itslucha/\n\n♪ 𝗟𝗬𝗥𝗜𝗖𝗦:\n\nOoh yeah\nI don't need no liquor and I don’t need no drugs\nTo feel like I am gifted\nTo really get that buzz\nCause I just like the music\nSo that is what I want\nLet me bring you all to life cause that's what I'm on like\n\nKeep this going, do it now\nEven though I’m sober\nEnergy is crazy and I am taking over\nI can really write these raps while chilling on the sofa\nCause I am a monster and I came to take it over\n\nOh ma, I think that I'm a monster\nOh ma, I wished it weighs on my conscious\nBut it really, really doesn't\nSo I tell the truth to you, there is no bluffing like\n\nMama, mama, mama, I'm a monster\nYeah, I am the lord that's gonna conquer\nSo I don't care what you say\nYou know I run this\nSo I been back on my path\nI'm really on this\n\nOn this level elevating, man I do it now, I really gotta make it\nLike I don't care what they be really saying\nSo I’m coming through\nAnd I just gotta slay it\nI’m a monster, I'm a genius\nMan, I’m working so hard\nSo I don't really care what they say right now\nI rise the top\n\nWoah, I rise to the top, you should, should know\nYeah I ain't gonna give up oh oh no\nCause I'm a, I’m a monster and you know\nThat I came to kill it, so here we go\n(no, no, no) Oh mama, I'm a monster\n(yeah, yeah) Nobody will keep it going like\n\nOh ma, I think that I'm a monster\nOh ma I wished it weighs on my conscious\nBut it really, really doesn't\nSo I tell the truth to you, there's no bluffing like\n\nCause ya'll ain't ready for me, I know, I know that\nSo I'm on this road, I keep on going\nYa'll try to stop me, I'm like oh no man\nYou never do it man\nI keep on, keep on, keep on going\nI keep on moving\nWe really do this\nYou think you cut me down hey\nDawg, I am no Judas\nMan, I just slay these slayers\nI kill these intruders\nCause I been sliding through the best to ever do this like\n\n▶ 𝗩𝗜𝗗𝗘𝗢 𝗜𝗡𝗙𝗢:\n▪ Anime: Hitori no Shita The Outcast Season 3\n__________________________________________ (truncated) 09:45:52.825 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:52.825 [debug] QUERY OK source="media_items" db=0.3ms idle=4.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-04-20 15:35:52Z], 1] 09:45:52.829 [debug] QUERY OK source="media_items" db=2.9ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["DMNDS & Fallen Roses - Calabria (ft. Nito Onna)\nCheck out the best Car Music playlist on Spotify 🔥\nhttps://extendedrecords.lnk.to/spotifyplaylist\n\nFollow Strange Fruits:\nLink tree: https://lnk.to/strangefruitsmusic\n\nFollow DMNDS:\nSpotify: http://bit.ly/SpotifyDMNDS\nDeezer: http://bit.ly/DeezerDMNDS\n\nFollow FallenRoses:\nSpotify: http://bit.ly/SpotifyFallenRoses\nDeezer: http://bit.ly/DeezerFallenRoses\n\nFollow Nito-Onna:\nSpotify: https://spoti.fi/34zUZpJ\n\nFollow Lujavo:\nSpotify: https://spoti.fi/3i7u10q\n\nBackground Video:\nYouTube: http://bit.ly/PhotoLabFulda\nInstagram: http://bit.ly/InstagramPhotoLab\n\n🎥 Original Editing and Design made by the Extended Music team.\n\n🚫 Please do not upload our videos on other channels. All copyright belongs to Extended Music and this violates our policies. We appreciate your cooperation and respect for copyright. \n\n🔎 if the Links in the Description don't work, just copy and paste them in the URL Search!\n\n📥 Contact us:\n(extendedmusicde@gmail.com)\n\n\n#SlapHouse\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B #DeepHouse\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B #ExtendedRemix\u200B", "DMNDS & Fallen Roses - Calabria | Extended Remix", "ee60cf68-3e6d-4bb3-a376-d1ae655361fb", 582, false, "c1ZLS-dnw94", "https://www.youtube.com/watch?v=c1ZLS-dnw94", 10, "/downloads/music/Extended Music/DMNDS & Fallen Roses - Calabria | Extended Remix.m4a", false, false, false, 1, [], 1, ~U[2021-04-20 15:35:52Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "DMNDS & Fallen Roses - Calabria (ft. Nito Onna)\nCheck out the best Car Music playlist on Spotify 🔥\nhttps://extendedrecords.lnk.to/spotifyplaylist\n\nFollow Strange Fruits:\nLink tree: https://lnk.to/strangefruitsmusic\n\nFollow DMNDS:\nSpotify: http://bit.ly/SpotifyDMNDS\nDeezer: http://bit.ly/DeezerDMNDS\n\nFollow FallenRoses:\nSpotify: http://bit.ly/SpotifyFallenRoses\nDeezer: http://bit.ly/DeezerFallenRoses\n\nFollow Nito-Onna:\nSpotify: https://spoti.fi/34zUZpJ\n\nFollow Lujavo:\nSpotify: https://spoti.fi/3i7u10q\n\nBackground Video:\nYouTube: http://bit.ly/PhotoLabFulda\nInstagram: http://bit.ly/InstagramPhotoLab\n\n🎥 Original Editing and Design made by the Extended Music team.\n\n🚫 Please do not upload our videos on other channels. All copyright belongs to Extended Music and this violates our policies. We appreciate your cooperation and respect for copyright. \n\n🔎 if the Links in the Description don't work, just copy and paste them in the URL Search!\n\n📥 Contact us:\n(extendedmusicde@gmail.com)\n\n\n#SlapHouse\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B #DeepHouse\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B\u200B #ExtendedRemix\u200B", "DMNDS & Fallen Roses - Calabria | Extended Remix", 582, false, "c1ZLS-dnw94", "https://www.youtube.com/watch?v=c1ZLS-dnw94", "/downloads/music/Extended Music/DMNDS & Fallen Roses - Calabria | Extended Remix.m4a", false, 1, ~U[2021-04-20 15:35:52Z]] 09:45:52.829 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:52.830 [debug] QUERY OK source="media_items" db=0.3ms idle=5.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-02-17 18:47:12Z], 1] 09:45:52.833 [debug] QUERY OK source="media_items" db=1.6ms idle=5.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Ramz - Barking Lyric Video | RapTunes\nBarking (Lyrics) shes callin, im yawnin - Ramz. Album \"Blockbuster\"\nYour new favorite Spotify rap playlist: https://bit.ly/RaptunesSpotify\n\n\n🔥 Follow Ramz:\nhttps://twitter.com/ramonerochester\nhttp://instagram.com/ramonerochester\n\n\n🔥 RapTunes Lyrics: http://bit.ly/subscribe-raptunes-lyrics\n\n\nDisclaimer: I do not own any of the content posted. All rights are reserved to their respective owners!!!\nThese videos are strictly for promotional use.\nIf you are own any of these songs and would like your credit to be added or you want your material removed, contact me: raptunes2620@gmail.com\n\n\n🔥 Barking Lyrics\n\n[Intro]\nYeah, yeah, yeah\nMokuba Lives Beats\nYeah-yeah, yeah, yeah\n\n[Chorus]\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (In the mornin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (Yawnin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\n\n[Verse]\nI'm icy (I'm Icy)\nI got a tick from my head to my feet, that's Nike\nAnd that's pricey\nYou see them guys over there? They ain't like me\nI got a Portuguese ting, not wifey\nShe said my temper's tiny\nI got two different worlds like Miley\nYou hit me up, that's unlikely (Likely)\nBut I walked in the room with a fresh trim (Fresh trim)\nShowin' my Colgate teeth (My teeth)\nYeah, they're lookin' at me (Lookin' at me)\nSayin' \"Can I get a pic for the 'Gram, just like AJ T\"\nNo wonder they hate on me (Yeah, yeah)\n'Cause I'm makin' P's and they see these clothes\nYeah, I get 'em for free\n\n[Chorus]\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (In the mornin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (Yawnin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\n\n[Bridge]\nMany guys (Many guys), many, many, many guys\nHate me and it's true, too bad\nI just stunt on you, too bad\nI don't look like you\nLike many, many, many guys (Many guys, yeah)\nHate me and it's true, too bad\nI just stunt on you, like too bad\n\n[Chorus]\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\n\n[Outro]\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'...\n\n\n#ramz #barking #raptunes\n--------------------------------------------------------\nRaptunes is the channel to find lyric videos for all the best new rap, hiphop and underground rap songs as soon as they come out. I spend every day searching for the newest rap hits to create lyric videos to share with you guys. Subscribe to RapTunes to receive lyric videos for all the new rap singles as soon as they hit the internet.", "Ramz - Barking (Lyrics) i might link my ting from barkin | RapTunes", "f78cee24-1ca7-4e93-a443-55c68416f058", 204, false, "czOXe3mzLgI", "https://www.youtube.com/watch?v=czOXe3mzLgI", 11, "/downloads/music/RapTunes/Ramz - Barking (Lyrics) i might link my ting from barkin | RapTunes.m4a", false, false, false, 1, [], 1, ~U[2020-02-17 18:47:12Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Ramz - Barking Lyric Video | RapTunes\nBarking (Lyrics) shes callin, im yawnin - Ramz. Album \"Blockbuster\"\nYour new favorite Spotify rap playlist: https://bit.ly/RaptunesSpotify\n\n\n🔥 Follow Ramz:\nhttps://twitter.com/ramonerochester\nhttp://instagram.com/ramonerochester\n\n\n🔥 RapTunes Lyrics: http://bit.ly/subscribe-raptunes-lyrics\n\n\nDisclaimer: I do not own any of the content posted. All rights are reserved to their respective owners!!!\nThese videos are strictly for promotional use.\nIf you are own any of these songs and would like your credit to be added or you want your material removed, contact me: raptunes2620@gmail.com\n\n\n🔥 Barking Lyrics\n\n[Intro]\nYeah, yeah, yeah\nMokuba Lives Beats\nYeah-yeah, yeah, yeah\n\n[Chorus]\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (In the mornin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (Yawnin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\n\n[Verse]\nI'm icy (I'm Icy)\nI got a tick from my head to my feet, that's Nike\nAnd that's pricey\nYou see them guys over there? They ain't like me\nI got a Portuguese ting, not wifey\nShe said my temper's tiny\nI got two different worlds like Miley\nYou hit me up, that's unlikely (Likely)\nBut I walked in the room with a fresh trim (Fresh trim)\nShowin' my Colgate teeth (My teeth)\nYeah, they're lookin' at me (Lookin' at me)\nSayin' \"Can I get a pic for the 'Gram, just like AJ T\"\nNo wonder they hate on me (Yeah, yeah)\n'Cause I'm makin' P's and they see these clothes\nYeah, I get 'em for free\n\n[Chorus]\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (In the mornin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\nI might link my ting from Barkin' (Yawnin')\n7 a.m. in the mornin'\nShe's callin', I'm yawnin' (I'm yawnin')\nShe's jarrin', no stallin'\n\n[Bridge]\nMany guys (Many guys), many, many, many guys\nHate me and it's true, too bad\nI just stunt on you, too bad\nI don't look like you\nLike many, many, many guys (Many guys, yeah)\nHate me and it's true, too bad\nI just stunt on you, like too bad\n\n[Chorus]\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin' (Yeah, yeah, yeah)\nShe's callin', I'm yawnin' (Yeah, yeah, yeah)\nShe's jarrin', no stallin'\nI might link my ting from Barkin'\n7 a.m. in the mornin'\nShe's callin', I'm yawnin'\nShe's jarrin', no stallin'\nI might link my tin (truncated) 09:45:52.833 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [1] 09:45:52.834 [debug] QUERY OK source="media_items" db=0.3ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-09-10 14:24:37Z], 1] 09:45:52.836 [debug] QUERY OK source="media_items" db=1.1ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Oliver Tree - Life Goes On\n🎵 Spotify Playlist: https://open.spotify.com/playlist/15JAvLSY81mv1gZ3C5sbra?si=414d9a60a47147bf\n\r\n» Apoyo Oliver Tree:\nhttp://olivertreemusic.com\nhttps://instagram.com/olivertree\nhttps://tiktok.com/@olivertree\nhttps://twitter.com/olivertree\nhttps://facebook.com/olivertreemusic\nhttps://soundcloud.com/olivertree\nhttps://vk.com/olivertree\n\n(Lyrics):\nBabe you’re too controlling \nIma feed you to the wolves \nWhen you get nasty \nBack at me \nBut baby don’t distract me \nI’m a goner \n\nI lost her \nLike why the hell you wanna \nPlay me that way \nYou’re bad babe \nYou double faced entendre \n\nLife goes \nOn and on and on and on and \non and on and on and on \nOn and on and on and on and \non and on and on and on \nOn and on and on and on and \non and on and on and on \nOn and on and on and on and \non and on and on and on \n\nBabe you best believe it \nIma rip you up to pieces \nI’m a lover, not a fighter \nBut I’ll light this place on fire \n\n\nI want it \nI’m on it \nBut babe at least I’m honest\nI get tired of explaining \nAs these seasons keep on changing \n\n\nLife goes \nOn and on and on and on and \non and on and on and on \n(Yeah yeah yeah) \nOn and on and on and on and \non and on and on and on \n(Yeah yeah yeah) \nOn and on and on and on and \non and on and on and on \n(Yeah yeah yeah) \nOn and on and on and on and on and on and on and on \n(Yeah yeah yeah) \n\nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day \n(Yeah yeah yeah) \n\nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day\n\nTags:\nLife Goes On Lyrics\nOliver Tree Life Goes On\nLife Goes On Oliver Tree\nOliver Tree Life Goes On Lyrics\nLife Goes On Oliver Tree Lyrics\nOliver Tree Lyrics\nLife Goes On \n\n#OliverTree #LifeGoesOn #Lyrics\n\nContact: droppinglyricsvibe@gmail.com", "Oliver Tree - Life Goes On", "0d083b3d-bf9e-465f-a3cd-f1d4023449fb", 162, false, "OT216Rrg0jY", "https://www.youtube.com/watch?v=OT216Rrg0jY", 12, "/downloads/music/LatinHype/Oliver Tree - Life Goes On.m4a", false, false, false, 1, [], 1, ~U[2021-09-10 14:24:37Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Oliver Tree - Life Goes On\n🎵 Spotify Playlist: https://open.spotify.com/playlist/15JAvLSY81mv1gZ3C5sbra?si=414d9a60a47147bf\n\r\n» Apoyo Oliver Tree:\nhttp://olivertreemusic.com\nhttps://instagram.com/olivertree\nhttps://tiktok.com/@olivertree\nhttps://twitter.com/olivertree\nhttps://facebook.com/olivertreemusic\nhttps://soundcloud.com/olivertree\nhttps://vk.com/olivertree\n\n(Lyrics):\nBabe you’re too controlling \nIma feed you to the wolves \nWhen you get nasty \nBack at me \nBut baby don’t distract me \nI’m a goner \n\nI lost her \nLike why the hell you wanna \nPlay me that way \nYou’re bad babe \nYou double faced entendre \n\nLife goes \nOn and on and on and on and \non and on and on and on \nOn and on and on and on and \non and on and on and on \nOn and on and on and on and \non and on and on and on \nOn and on and on and on and \non and on and on and on \n\nBabe you best believe it \nIma rip you up to pieces \nI’m a lover, not a fighter \nBut I’ll light this place on fire \n\n\nI want it \nI’m on it \nBut babe at least I’m honest\nI get tired of explaining \nAs these seasons keep on changing \n\n\nLife goes \nOn and on and on and on and \non and on and on and on \n(Yeah yeah yeah) \nOn and on and on and on and \non and on and on and on \n(Yeah yeah yeah) \nOn and on and on and on and \non and on and on and on \n(Yeah yeah yeah) \nOn and on and on and on and on and on and on and on \n(Yeah yeah yeah) \n\nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day \n(Yeah yeah yeah) \n\nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day \nAnd then I wake up \nWork all day\n\nTags:\nLife Goes On Lyrics\nOliver Tree Life Goes On\nLife Goes On Oliver Tree\nOliver Tree Life Goes On Lyrics\nLife Goes On Oliver Tree Lyrics\nOliver Tree Lyrics\nLife Goes On \n\n#OliverTree #LifeGoesOn #Lyrics\n\nContact: droppinglyricsvibe@gmail.com", "Oliver Tree - Life Goes On", 162, false, "OT216Rrg0jY", "https://www.youtube.com/watch?v=OT216Rrg0jY", "/downloads/music/LatinHype/Oliver Tree - Life Goes On.m4a", false, 1, ~U[2021-09-10 14:24:37Z]] 09:45:52.836 [debug] QUERY OK source="sources" db=0.2ms idle=5.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:52.837 [debug] QUERY OK source="media_items" db=0.3ms idle=4.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-06-01 14:46:50Z], 1] 09:45:52.838 [debug] QUERY OK source="media_items" db=0.6ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Sony Music/Friends with Money\n\nHallelujah · Shindy · RIN\n\nDREAMS\n\n℗ 2016 Bushido\n\nReleased on: 2016-11-11\n\nAssociated Performer: Shindy feat. RIN\nComposer: Oz\nComposer: Nico Wellenbrink\n\nAuto-generated by YouTube.", "Hallelujah", "2da3ddd0-3827-41de-93ad-704bc713ea16", 215, false, "fuNnu5E67rk", "https://www.youtube.com/watch?v=fuNnu5E67rk", 13, "/downloads/music/Shindy/Hallelujah.m4a", false, false, false, 1, [], 1, ~U[2017-06-01 14:46:50Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Provided to YouTube by Sony Music/Friends with Money\n\nHallelujah · Shindy · RIN\n\nDREAMS\n\n℗ 2016 Bushido\n\nReleased on: 2016-11-11\n\nAssociated Performer: Shindy feat. RIN\nComposer: Oz\nComposer: Nico Wellenbrink\n\nAuto-generated by YouTube.", "Hallelujah", 215, false, "fuNnu5E67rk", "https://www.youtube.com/watch?v=fuNnu5E67rk", "/downloads/music/Shindy/Hallelujah.m4a", false, 1, ~U[2017-06-01 14:46:50Z]] 09:45:52.838 [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" = ?) [1] 09:45:52.839 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-10-17 22:00:11Z], 1] 09:45:52.841 [debug] QUERY OK source="media_items" db=1.1ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Apache 207 geht auf Tour. Jetzt Tickets sicher: https://www.eventim.de/artist/apache-207/\n\nApache 207 - \"Wieso tust Du dir das an?“ \nKÜNSTLER: Apache 207 \nInstagram: https://www.instagram.com/apache_207/ \nTikTok: https://www.tiktok.com/@apache_207\nYoutube abonnieren: https://Apache207.lnk.to/youtube\nE-Mail: info@apache207.de \n\nBeat: Miksu / Macloud & Deats\nMiksu auf Instagram: https://www.instagram.com/miksu/\nMacloud auf Instagram: https://www.instagram.com/macloud/\nDeats auf Instagram: https://www.instagram.com/deats_official/\n\nMix & Master: Lex Barkey\nLex Barkey auf Instagram: https://www.instagram.com/lexbarkey/\n\nDrehbuch: NBP Films & Feder Filmproduktion\nNBP Films: https://www.instagram.com/nbp_films/\nFeder Filmproduktion: https://www.instagram.com/feder.filmproduktion/\n\nProduktion: NBP FILMS \nCo-Produktion: Feder Filmproduktion\n\nKameraarbeit, Schnitt & Colorgrading: NBP FILMS\nhttps://www.instagram.com/nbp_films/\nDoP: Marco Bagnoli\nhttps://www.instagram.com/marco_bagnoli/\nKameraassistenz: Moritz Weber\nhttps://www.instagram.com/moritz.wbr94/\n\nMaske: Gülcan Arslan: \nhttps://www.instagram.com/guelcan_ars...\n\nTänzer: Arthur Ankerstein & Georgiana Barbu\nArthur Ankerstein: https://www.instagram.com/arthurankerstein/\nGeorgiana Barbu: https://www.instagram.com/barbu.georgiana/\n\nDarstellerinnen: Just Classy Agency\nhttps://instagram.com/justclassyagency?igshid=74pqxck5dzuu\n\nImpressum:\nhttp://www.apache207.de/\n\n#Apache207 #Platte", "Apache 207 - Wieso tust Du dir das an? (prod. by Miksu & Macloud)", "b8cd3450-61f3-436d-b0f6-6d0f9e1152a1", 177, false, "vmj2Ab1GknA", "https://www.youtube.com/watch?v=vmj2Ab1GknA", 14, "/downloads/music/Apache 207/Apache 207 - Wieso tust Du dir das an? (prod. by Miksu & Macloud).m4a", false, false, false, 1, [], 1, ~U[2019-10-17 22:00:11Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Apache 207 geht auf Tour. Jetzt Tickets sicher: https://www.eventim.de/artist/apache-207/\n\nApache 207 - \"Wieso tust Du dir das an?“ \nKÜNSTLER: Apache 207 \nInstagram: https://www.instagram.com/apache_207/ \nTikTok: https://www.tiktok.com/@apache_207\nYoutube abonnieren: https://Apache207.lnk.to/youtube\nE-Mail: info@apache207.de \n\nBeat: Miksu / Macloud & Deats\nMiksu auf Instagram: https://www.instagram.com/miksu/\nMacloud auf Instagram: https://www.instagram.com/macloud/\nDeats auf Instagram: https://www.instagram.com/deats_official/\n\nMix & Master: Lex Barkey\nLex Barkey auf Instagram: https://www.instagram.com/lexbarkey/\n\nDrehbuch: NBP Films & Feder Filmproduktion\nNBP Films: https://www.instagram.com/nbp_films/\nFeder Filmproduktion: https://www.instagram.com/feder.filmproduktion/\n\nProduktion: NBP FILMS \nCo-Produktion: Feder Filmproduktion\n\nKameraarbeit, Schnitt & Colorgrading: NBP FILMS\nhttps://www.instagram.com/nbp_films/\nDoP: Marco Bagnoli\nhttps://www.instagram.com/marco_bagnoli/\nKameraassistenz: Moritz Weber\nhttps://www.instagram.com/moritz.wbr94/\n\nMaske: Gülcan Arslan: \nhttps://www.instagram.com/guelcan_ars...\n\nTänzer: Arthur Ankerstein & Georgiana Barbu\nArthur Ankerstein: https://www.instagram.com/arthurankerstein/\nGeorgiana Barbu: https://www.instagram.com/barbu.georgiana/\n\nDarstellerinnen: Just Classy Agency\nhttps://instagram.com/justclassyagency?igshid=74pqxck5dzuu\n\nImpressum:\nhttp://www.apache207.de/\n\n#Apache207 #Platte", "Apache 207 - Wieso tust Du dir das an? (prod. by Miksu & Macloud)", 177, false, "vmj2Ab1GknA", "https://www.youtube.com/watch?v=vmj2Ab1GknA", "/downloads/music/Apache 207/Apache 207 - Wieso tust Du dir das an? (prod. by Miksu & Macloud).m4a", false, 1, ~U[2019-10-17 22:00:11Z]] 09:45:52.841 [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" = ?) [1] 09:45:52.842 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-10-10 10:16:35Z], 1] 09:45:52.843 [debug] QUERY OK source="media_items" db=0.6ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Four Music Local\n\nMag Sein · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Mixing Engineer, Producer: Ahzumjot\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "Mag Sein", "8403595a-b30a-4fd0-8ad2-cab5703a7f0a", 229, false, "Xd9GoitMoBs", "https://www.youtube.com/watch?v=Xd9GoitMoBs", 15, "/downloads/music/Lance Butters Official/Mag Sein.m4a", false, false, false, 1, [], 4, ~U[2018-10-10 10:16:35Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Provided to YouTube by Four Music Local\n\nMag Sein · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Mixing Engineer, Producer: Ahzumjot\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "Mag Sein", 229, false, "Xd9GoitMoBs", "https://www.youtube.com/watch?v=Xd9GoitMoBs", "/downloads/music/Lance Butters Official/Mag Sein.m4a", false, 1, ~U[2018-10-10 10:16:35Z]] 09:45:52.843 [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" = ?) [1] 09:45:52.844 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-10-10 10:17:56Z], 1] 09:45:52.845 [debug] QUERY OK source="media_items" db=0.7ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Four Music Local\n\nWake Up Fucked Up · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Mixing Engineer, Producer: Ahzumjot\nLyricist: Christopher Wallace\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "Wake Up Fucked Up", "364df37f-4b36-4323-9f5b-9ca8844c65d0", 194, false, "PSx2vHNYmkI", "https://www.youtube.com/watch?v=PSx2vHNYmkI", 16, "/downloads/music/Lance Butters Official/Wake Up Fucked Up.m4a", false, false, false, 1, [], 4, ~U[2018-10-10 10:17:56Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Provided to YouTube by Four Music Local\n\nWake Up Fucked Up · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Mixing Engineer, Producer: Ahzumjot\nLyricist: Christopher Wallace\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "Wake Up Fucked Up", 194, false, "PSx2vHNYmkI", "https://www.youtube.com/watch?v=PSx2vHNYmkI", "/downloads/music/Lance Butters Official/Wake Up Fucked Up.m4a", false, 1, ~U[2018-10-10 10:17:56Z]] 09:45:52.845 [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" = ?) [1] 09:45:52.846 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-10-10 10:17:30Z], 1] 09:45:52.847 [debug] QUERY OK source="media_items" db=0.7ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Four Music Local\n\nVater · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Lyricist, Mixing Engineer, Producer: Ahzumjot\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "Vater", "f9ab135b-0908-449a-9287-232d0e250900", 257, false, "2yQB3BCBte0", "https://www.youtube.com/watch?v=2yQB3BCBte0", 17, "/downloads/music/Lance Butters Official/Vater.m4a", false, false, false, 1, [], 4, ~U[2018-10-10 10:17:30Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Provided to YouTube by Four Music Local\n\nVater · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Lyricist, Mixing Engineer, Producer: Ahzumjot\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "Vater", 257, false, "2yQB3BCBte0", "https://www.youtube.com/watch?v=2yQB3BCBte0", "/downloads/music/Lance Butters Official/Vater.m4a", false, 1, ~U[2018-10-10 10:17:30Z]] 09:45:52.847 [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" = ?) [1] 09:45:52.848 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-10-10 10:17:30Z], 1] 09:45:52.849 [debug] QUERY OK source="media_items" db=0.7ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Four Music Local\n\nRespekt Vor Dir · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Lyricist, Mixing Engineer, Producer: Ahzumjot\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "Respekt Vor Dir", "0046c161-1097-43dc-9070-3a7a74ce790d", 203, false, "0CgzW4qtcVc", "https://www.youtube.com/watch?v=0CgzW4qtcVc", 18, "/downloads/music/Lance Butters Official/Respekt Vor Dir.m4a", false, false, false, 1, [], 4, ~U[2018-10-10 10:17:30Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Provided to YouTube by Four Music Local\n\nRespekt Vor Dir · Lance Butters\n\nANGST\n\n℗ 2018 Four Music Productions GmbH\n\nReleased on: 2018-10-12\n\nComposer, Lyricist, Mixing Engineer, Producer: Ahzumjot\nMastering Engineer: Roman Preylowski\n\nAuto-generated by YouTube.", "Respekt Vor Dir", 203, false, "0CgzW4qtcVc", "https://www.youtube.com/watch?v=0CgzW4qtcVc", "/downloads/music/Lance Butters Official/Respekt Vor Dir.m4a", false, 1, ~U[2018-10-10 10:17:30Z]] 09:45:52.850 [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" = ?) [1] 09:45:52.850 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-06-29 19:03:49Z], 1] 09:45:52.852 [debug] QUERY OK source="media_items" db=1.0ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["'Bruce Wayne' taken from 'King of the North' EP - OUT NOW https://lnk.to/BugzyMaloneKOTN\n\nBatman Tracksuit - http://turnintothedevil.bigcartel.com/\n\nFull JD Sports collection - http://bit.ly/2sk4cS5\n\nTrack produced by Ali Karim\n\nCrew:\nDirector: G.Kuba and Wayne Lennox\nDOP: Luke C. Harper\nCamera Assistant: Joseph-Patrick Hung\nProd. Assistant/Driver: Matt Lovett\nEditor/VFX: Connor Hamilton\n\nFor Bugzy Malone merchandise, tour dates, events and music - http://www.thebugzymaloneshow.co.uk\n\n---SOCIAL MEDIA--- \nTwitter - https://twitter.com/TheBugzyMalone \nInstagram - https://instagram.com/thebugzymalone \nFacebook – Facebook.com/TheBugzyMaloneShow \nSnap Chat – Bugzy_Malone \nSoundcloud - Soundcloud.com/BugzyMalone \nBookings - bugzymaloneteam@gmail.com", "Bugzy Malone - Bruce Wayne (Official Video)", "cd49ca91-03e3-4df1-9dcf-9e9b4fb0b35b", 238, false, "F3q21QjB8Ug", "https://www.youtube.com/watch?v=F3q21QjB8Ug", 19, "/downloads/music/Bugzy Malone/Bugzy Malone - Bruce Wayne (Official Video).m4a", false, false, false, 1, [], 1, ~U[2017-06-29 19:03:49Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "'Bruce Wayne' taken from 'King of the North' EP - OUT NOW https://lnk.to/BugzyMaloneKOTN\n\nBatman Tracksuit - http://turnintothedevil.bigcartel.com/\n\nFull JD Sports collection - http://bit.ly/2sk4cS5\n\nTrack produced by Ali Karim\n\nCrew:\nDirector: G.Kuba and Wayne Lennox\nDOP: Luke C. Harper\nCamera Assistant: Joseph-Patrick Hung\nProd. Assistant/Driver: Matt Lovett\nEditor/VFX: Connor Hamilton\n\nFor Bugzy Malone merchandise, tour dates, events and music - http://www.thebugzymaloneshow.co.uk\n\n---SOCIAL MEDIA--- \nTwitter - https://twitter.com/TheBugzyMalone \nInstagram - https://instagram.com/thebugzymalone \nFacebook – Facebook.com/TheBugzyMaloneShow \nSnap Chat – Bugzy_Malone \nSoundcloud - Soundcloud.com/BugzyMalone \nBookings - bugzymaloneteam@gmail.com", "Bugzy Malone - Bruce Wayne (Official Video)", 238, false, "F3q21QjB8Ug", "https://www.youtube.com/watch?v=F3q21QjB8Ug", "/downloads/music/Bugzy Malone/Bugzy Malone - Bruce Wayne (Official Video).m4a", false, 1, ~U[2017-06-29 19:03:49Z]] 09:45:52.852 [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" = ?) [1] 09:45:52.853 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-07-20 21:00:09Z], 1] 09:45:52.856 [debug] QUERY OK source="media_items" db=1.8ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["You think your music is good and having trouble getting heard? Shoot me a email - rhinohdtv@gmail.com or dm on instagram @Rhinotv123\n\n\nInstagram: https://www.instagram.com/rhinotv123/\nhttps://www.twitch.tv/rhino_tv\n\n♫ Dangerous - ",\"R3X\" ♫\n\n📺\n➜ Assassins Creed \n➜Destiny 2 Forsaken - Last Stand of the Gunslinger\n➜Halo Wars 2\n➜FINAL FANTASY XV\n➜Titian fall- Free The Frontier \n➜Tom Clancy's Ghost Recon Breakpoint \n\nSPOTIFY: https://open.spotify.com/artist/5mMWGPKKiwi2jElOmFp1SJ\nInstagram: https://www.instagram.com/r3x_97/\n\n\n\n\nGo to https://nordvpn.org/rhinotv, use coupon code 'rhinotv' and get 70% off NordVPN! Only $3.49/mo, plus you get 4 additional months FREE!'\n\n\n\nIGNORE-\n\n\n\n\nRhino, RhinoTV, jocelyn flores remix, xxxtentacion jocelyn flores, trap music, new, xxxtentacion, song, angel, star wars, suicide boys, old republic, jocelyn flores, trap, supreme, naruto, xxxtentacoin, sasuke, itachi, rap, freestyle, ski mask, migos, offset, music, video, amv, anime, boruto, madara, vevo, Shiloh Dynasty, death, rip, lil peep, battlefront 2, battle, front, 2005, whatever forever, whatever forever john wick, xxxtentacion - jocelyn flores, jocelyn flores instrumental, jocelyn flores beat,xxx edit, xxxtentaction edit, xxxtentacion jocelyn flores , xxxtentacion jocelyn flores edit, star wars, star wars edit, xxxtentacion edit, xxx edit,kaleo - way down we go,kaleo,new,music,whateverforever,whatever,forever,edit,transformers 3,optimus prime,transformers 4,kina - i feel empty,transformers the last knight,transformers dark of the moon city battle hd,transformers building collapse,transformers city battle,transformers city battle hd,transformers edits,transformers edit,kina,kina get you the moon,get you the moon,sentinel prime,the last knight,batman,last knight,batman fight scene,batman fight scene,baneThe Amazing Spider-Man (2012), the amazing spider-man scene hd, the amazing spider man, spiderman edition ps4, spiderman edits, tom holland spiderman, andrew garfield spiderman, andrew garfield, whatever forever star wars, whatever forever, xxxtentacion mix, promoting sounds, blackbear xxxtentacion, lil peep, xxxtentacion demons, xxxtentacion edit, spiderman edit, spiderman ps4, spiderman sad edit, amv, anime, Peter Parker, homecoming, XXXTENTACION\n\n\"Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for \"fair use\" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favor of fair use\"", "Dangerous // GMV", "90a64d95-2d2e-4993-82a4-ae07422b6683", 193, false, "mgE1vAWwIrs", "https://www.youtube.com/watch?v=mgE1vAWwIrs", 20, "/downloads/music/Rhino TV/Dangerous ⧸⧸ GMV.m4a", false, false, false, 1, [], 1, ~U[2020-07-20 21:00:09Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "You think your music is good and having trouble getting heard? Shoot me a email - rhinohdtv@gmail.com or dm on instagram @Rhinotv123\n\n\nInstagram: https://www.instagram.com/rhinotv123/\nhttps://www.twitch.tv/rhino_tv\n\n♫ Dangerous - ",\"R3X\" ♫\n\n📺\n➜ Assassins Creed \n➜Destiny 2 Forsaken - Last Stand of the Gunslinger\n➜Halo Wars 2\n➜FINAL FANTASY XV\n➜Titian fall- Free The Frontier \n➜Tom Clancy's Ghost Recon Breakpoint \n\nSPOTIFY: https://open.spotify.com/artist/5mMWGPKKiwi2jElOmFp1SJ\nInstagram: https://www.instagram.com/r3x_97/\n\n\n\n\nGo to https://nordvpn.org/rhinotv, use coupon code 'rhinotv' and get 70% off NordVPN! Only $3.49/mo, plus you get 4 additional months FREE!'\n\n\n\nIGNORE-\n\n\n\n\nRhino, RhinoTV, jocelyn flores remix, xxxtentacion jocelyn flores, trap music, new, xxxtentacion, song, angel, star wars, suicide boys, old republic, jocelyn flores, trap, supreme, naruto, xxxtentacoin, sasuke, itachi, rap, freestyle, ski mask, migos, offset, music, video, amv, anime, boruto, madara, vevo, Shiloh Dynasty, death, rip, lil peep, battlefront 2, battle, front, 2005, whatever forever, whatever forever john wick, xxxtentacion - jocelyn flores, jocelyn flores instrumental, jocelyn flores beat,xxx edit, xxxtentaction edit, xxxtentacion jocelyn flores , xxxtentacion jocelyn flores edit, star wars, star wars edit, xxxtentacion edit, xxx edit,kaleo - way down we go,kaleo,new,music,whateverforever,whatever,forever,edit,transformers 3,optimus prime,transformers 4,kina - i feel empty,transformers the last knight,transformers dark of the moon city battle hd,transformers building collapse,transformers city battle,transformers city battle hd,transformers edits,transformers edit,kina,kina get you the moon,get you the moon,sentinel prime,the last knight,batman,last knight,batman fight scene,batman fight scene,baneThe Amazing Spider-Man (2012), the amazing spider-man scene hd, the amazing spider man, spiderman edition ps4, spiderman edits, tom holland spiderman, andrew garfield spiderman, andrew garfield, whatever forever star wars, whatever forever, xxxtentacion mix, promoting sounds, blackbear xxxtentacion, lil peep, xxxtentacion demons, xxxtentacion edit, spiderman edit, spiderman ps4, spiderman sad edit, amv, anime, Peter Parker, homecoming, XXXTENTACION\n\n\"Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for \"fair use\" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favor of fair use\"", "Dangerous // GMV", 193, false, "mgE1vAWwIrs", "https://www.youtube.com/watch?v=mgE1vAWwIrs", "/downloads/music/Rhino TV/Dangerous ⧸⧸ GMV.m4a", false, 1, ~U[2020-07-20 21:00:09Z]] 09:45:52.856 [debug] QUERY OK source="sources" db=0.2ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:52.857 [debug] QUERY OK source="media_items" db=0.3ms idle=5.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-11-07 21:19:34Z], 1] 09:45:52.858 [debug] QUERY OK source="media_items" db=0.9ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Eminem - Stan\n\nSong/Music Stan \nArtist Eminem\nAlbum The Marshall Mathers LP\nLicense Type: Creative Common or Standard License (Choose anyone)\n\nCopyright Disclaimer:\n\nCopyright Disclaimer under Section 107 of the copyright act 1976, allowance is made for fair use for purposes such as criticism, comment, news reporting, scholarship, and research. Fair use is a use permitted by copyright statutes that might otherwise be infringing. Non-profit, educational, or personal use tips the balance in favor of fair use.", "Dido - Thank you (Slowed + Reverb)", "2f268dbd-099a-45d0-81b5-0e5d19e3b52f", 532, false, "wwia7N1kTv4", "https://www.youtube.com/watch?v=wwia7N1kTv4", 21, "/downloads/music/Brown Rice/Dido - Thank you (Slowed + Reverb).m4a", false, false, false, 1, [], 1, ~U[2020-11-07 21:19:34Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Eminem - Stan\n\nSong/Music Stan \nArtist Eminem\nAlbum The Marshall Mathers LP\nLicense Type: Creative Common or Standard License (Choose anyone)\n\nCopyright Disclaimer:\n\nCopyright Disclaimer under Section 107 of the copyright act 1976, allowance is made for fair use for purposes such as criticism, comment, news reporting, scholarship, and research. Fair use is a use permitted by copyright statutes that might otherwise be infringing. Non-profit, educational, or personal use tips the balance in favor of fair use.", "Dido - Thank you (Slowed + Reverb)", 532, false, "wwia7N1kTv4", "https://www.youtube.com/watch?v=wwia7N1kTv4", "/downloads/music/Brown Rice/Dido - Thank you (Slowed + Reverb).m4a", false, 1, ~U[2020-11-07 21:19:34Z]] 09:45:52.859 [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" = ?) [1] 09:45:52.860 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-04-12 20:46:01Z], 1] 09:45:52.861 [debug] QUERY OK source="media_items" db=0.6ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Film - Legend, 2015.", "Brennan Savage - Look At Me Now (Reggie Kray)", "12e726db-2f83-466d-a5d0-468e8081acec", 160, false, "BD8rt6MaB2s", "https://www.youtube.com/watch?v=BD8rt6MaB2s", 22, "/downloads/music/Wolfox/Brennan Savage - Look At Me Now (Reggie Kray).m4a", false, false, false, 1, [], 1, ~U[2019-04-12 20:46:01Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Film - Legend, 2015.", "Brennan Savage - Look At Me Now (Reggie Kray)", 160, false, "BD8rt6MaB2s", "https://www.youtube.com/watch?v=BD8rt6MaB2s", "/downloads/music/Wolfox/Brennan Savage - Look At Me Now (Reggie Kray).m4a", false, 1, ~U[2019-04-12 20:46:01Z]] 09:45:52.861 [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" = ?) [1] 09:45:52.862 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-04-13 15:36:44Z], 1] 09:45:52.863 [debug] QUERY OK source="media_items" db=0.8ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["✖ Follow HouseMusicHD ✖\r\nFacebook: https://www.facebook.com/TrapMusicHD\r\nTwitter: https://twitter.com/HouseMusicHDTV\r\nSoundcloud: https://soundcloud.com/HouseMusicHDTV\r\nInstagram: https://www.instagram.com/HouseMusicHDTV\r\nSnapchat - hmusichdtv1\r\n\r\n✖ Follow Junona Boys ✖\r\nFacebook: https://www.facebook.com/junonaboys\nSoundcloud: https://soundcloud.com/junonaboys\nInstagram: https://www.instagram.com/junonaboys\n\r\n✖ HD Family ✖\r\nRapMusicHD: https://goo.gl/J1Noub\r\nBassMusicHD: https://goo.gl/0RN70B\r\nChillMusicHD: https://goo.gl/EXAoAh\r\nHouseMusicHD: https://goo.gl/l51Abz\r\nEDMMusicHD: https://goo.gl/iGNNwY\r\nGanjaMusicHD: https://goo.gl/fXdWrL", "MIKA - Relax, Take It Easy (JUNONA BOYS Remix)", "5e1a9d95-3f6b-47a4-a1b7-a76717f6555a", 150, false, "ZI2VDOmmGiY", "https://www.youtube.com/watch?v=ZI2VDOmmGiY", 23, "/downloads/music/HouseMusicHD/MIKA - Relax, Take It Easy (JUNONA BOYS Remix).m4a", false, false, false, 1, [], 1, ~U[2020-04-13 15:36:44Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "✖ Follow HouseMusicHD ✖\r\nFacebook: https://www.facebook.com/TrapMusicHD\r\nTwitter: https://twitter.com/HouseMusicHDTV\r\nSoundcloud: https://soundcloud.com/HouseMusicHDTV\r\nInstagram: https://www.instagram.com/HouseMusicHDTV\r\nSnapchat - hmusichdtv1\r\n\r\n✖ Follow Junona Boys ✖\r\nFacebook: https://www.facebook.com/junonaboys\nSoundcloud: https://soundcloud.com/junonaboys\nInstagram: https://www.instagram.com/junonaboys\n\r\n✖ HD Family ✖\r\nRapMusicHD: https://goo.gl/J1Noub\r\nBassMusicHD: https://goo.gl/0RN70B\r\nChillMusicHD: https://goo.gl/EXAoAh\r\nHouseMusicHD: https://goo.gl/l51Abz\r\nEDMMusicHD: https://goo.gl/iGNNwY\r\nGanjaMusicHD: https://goo.gl/fXdWrL", "MIKA - Relax, Take It Easy (JUNONA BOYS Remix)", 150, false, "ZI2VDOmmGiY", "https://www.youtube.com/watch?v=ZI2VDOmmGiY", "/downloads/music/HouseMusicHD/MIKA - Relax, Take It Easy (JUNONA BOYS Remix).m4a", false, 1, ~U[2020-04-13 15:36:44Z]] 09:45:52.863 [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" = ?) [1] 09:45:52.864 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2016-07-02 14:55:00Z], 1] 09:45:52.865 [debug] QUERY OK source="media_items" db=0.8ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Antonio Lucio Vivaldi (1678 - 1741)\n\nConcerto for violin, strings and basso continuo in E minor, RV281 \nKonzert für Violine, Streicher und Basso continuo e-Moll, RV 281\n\n01. Allegro\n02. Largo\n03. Allegro\n\nRinaldo Alessandrini, harpsichord\nFabio Biondi, violin & director\nEuropa Galante Orchestra\n\n[on period instruments]\n\n------------------------\n\nArtwork: The Rape of Europa by Giovanni Battista Tiepolo, 1725", "Vivaldi Violin Concerto in E minor, RV281 | Fabio Biondi Europa Galante", "6989c2a2-eee1-46e3-8d30-84d52bada417", 665, false, "nheev87nOHw", "https://www.youtube.com/watch?v=nheev87nOHw", 24, "/downloads/music/whomakemefeel/Vivaldi Violin Concerto in E minor, RV281 | Fabio Biondi Europa Galante.m4a", false, false, false, 1, [], 1, ~U[2016-07-02 14:55:00Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Antonio Lucio Vivaldi (1678 - 1741)\n\nConcerto for violin, strings and basso continuo in E minor, RV281 \nKonzert für Violine, Streicher und Basso continuo e-Moll, RV 281\n\n01. Allegro\n02. Largo\n03. Allegro\n\nRinaldo Alessandrini, harpsichord\nFabio Biondi, violin & director\nEuropa Galante Orchestra\n\n[on period instruments]\n\n------------------------\n\nArtwork: The Rape of Europa by Giovanni Battista Tiepolo, 1725", "Vivaldi Violin Concerto in E minor, RV281 | Fabio Biondi Europa Galante", 665, false, "nheev87nOHw", "https://www.youtube.com/watch?v=nheev87nOHw", "/downloads/music/whomakemefeel/Vivaldi Violin Concerto in E minor, RV281 | Fabio Biondi Europa Galante.m4a", false, 1, ~U[2016-07-02 14:55:00Z]] 09:45:52.866 [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" = ?) [1] 09:45:52.866 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-02-03 18:30:00Z], 1] 09:45:52.868 [debug] QUERY OK source="media_items" db=1.3ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Trap Woofer 🎶 Spotify Playlist: https://open.spotify.com/playlist/0bF7X5bxLsMwlnoInm5src?si=625a0eb0a1184036\n. 🔥 Sakura - LOOK AT ME!\n\nDownload Link \n↪︎https://soundcloud.com/slava-shiponi/look-at-me\n\n🎶 Submit your music here: https://www.submithub.com/blog/trap-woofer\n\n↪︎ Contact & Business enquiries: dmitri@woofer.yt\n↪︎ Music submissions: https://trapwoofer.edmdistrict.com/\n----------------------------------------------------------------------------------------------\nFollow Sakura\nhttps://soundcloud.com/slava-shiponi\n\nOriginal Video - https://www.youtube.com/watch?v=BlifuEDoDy0\n\n✦ Follow Ilya Levchenko\nCar Owner - https://www.instagram.com/ta_samaya_rsq3\nShooting and editing - https://www.instagram.com/evgenyshilov\nhttps://www.youtube.com/channel/UCYsIRRIS2BhcqZizkoo97hw\n\n✦ Follow Trap Woofer:\nhttps://www.instagram.com/trap.woofer/\nhttps://soundcloud.com/trapwoofer\nhttps://www.facebook.com/trapwoofer\nhttps://twitter.com/ApexLouder\n\nMy personal favourite playlists:\n\n🎶Trap Woofer Car Music Videos:https://www.youtube.com/playlist?list=PLHVIHnOprTWGMlgsO-8KnSB1PQJdY40IB\n\n🎶BEST BASS EVER | TRAP WOOFER https://www.youtube.com/playlist?list=PLsp35d3XFjoMOMi2tm-ElkVuCk0vPQiul\n\n🎶Majorka Playlist: https://www.youtube.com/playlist?list=PLIvO14RznSi5G3QftRfPubNnD1jSwlfq6\n\nWARNING: These videos may cause people with photosensitive epilepsy to convulse in seizures. Viewer discretion is advised.\n\nIf you want to get your song removed from on our channel, please e-mail us and we'll respond within 24 hours.\n\n#Trap #Bass #BassBoosted #Music #NewSong #Fresh #Best", "Sakura - LOOK AT ME! (Bass Boosted)", "ec0b4957-c277-4cda-b57a-85afc25066bb", 116, false, "L8NQPenfjjM", "https://www.youtube.com/watch?v=L8NQPenfjjM", 25, "/downloads/music/Trap Woofer/Sakura - LOOK AT ME! (Bass Boosted).m4a", false, false, false, 1, [], 1, ~U[2020-02-03 18:30:00Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Trap Woofer 🎶 Spotify Playlist: https://open.spotify.com/playlist/0bF7X5bxLsMwlnoInm5src?si=625a0eb0a1184036\n. 🔥 Sakura - LOOK AT ME!\n\nDownload Link \n↪︎https://soundcloud.com/slava-shiponi/look-at-me\n\n🎶 Submit your music here: https://www.submithub.com/blog/trap-woofer\n\n↪︎ Contact & Business enquiries: dmitri@woofer.yt\n↪︎ Music submissions: https://trapwoofer.edmdistrict.com/\n----------------------------------------------------------------------------------------------\nFollow Sakura\nhttps://soundcloud.com/slava-shiponi\n\nOriginal Video - https://www.youtube.com/watch?v=BlifuEDoDy0\n\n✦ Follow Ilya Levchenko\nCar Owner - https://www.instagram.com/ta_samaya_rsq3\nShooting and editing - https://www.instagram.com/evgenyshilov\nhttps://www.youtube.com/channel/UCYsIRRIS2BhcqZizkoo97hw\n\n✦ Follow Trap Woofer:\nhttps://www.instagram.com/trap.woofer/\nhttps://soundcloud.com/trapwoofer\nhttps://www.facebook.com/trapwoofer\nhttps://twitter.com/ApexLouder\n\nMy personal favourite playlists:\n\n🎶Trap Woofer Car Music Videos:https://www.youtube.com/playlist?list=PLHVIHnOprTWGMlgsO-8KnSB1PQJdY40IB\n\n🎶BEST BASS EVER | TRAP WOOFER https://www.youtube.com/playlist?list=PLsp35d3XFjoMOMi2tm-ElkVuCk0vPQiul\n\n🎶Majorka Playlist: https://www.youtube.com/playlist?list=PLIvO14RznSi5G3QftRfPubNnD1jSwlfq6\n\nWARNING: These videos may cause people with photosensitive epilepsy to convulse in seizures. Viewer discretion is advised.\n\nIf you want to get your song removed from on our channel, please e-mail us and we'll respond within 24 hours.\n\n#Trap #Bass #BassBoosted #Music #NewSong #Fresh #Best", "Sakura - LOOK AT ME! (Bass Boosted)", 116, false, "L8NQPenfjjM", "https://www.youtube.com/watch?v=L8NQPenfjjM", "/downloads/music/Trap Woofer/Sakura - LOOK AT ME! (Bass Boosted).m4a", false, 1, ~U[2020-02-03 18:30:00Z]] 09:45:52.869 [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" = ?) [1] 09:45:52.869 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-01-06 14:00:02Z], 1] 09:45:52.874 [debug] QUERY OK source="media_items" db=3.8ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Yūgen is not an allusion to another world. It is about this world, this experience…\n\n🎧 Tracklist:\n00:00 CHELJI - Forgive and Forget\n02:22 ivri ヅ - luvly\n03:15 SadBoyProlific - Alone ft. ivri(prod. ocean)\n05:52 Teqkoi - You Broke My Heart Again (ft. Aiko)\n07:32 @rxseboy x @powfu x @mishaal - when we were 16 (prod. con)\n10:38 Powfu - Hear my thoughts (prod. Mai.)\n12:50 @rxseboy - i really miss you (prod. con)\n15:08 CHELJI - Thought Of Love\n17:51 Kina - Can We Kiss Forever?(feat. Adriana Proenza)\n20:51 @rxseboy - i hate moving on (prod. con)\n\n❤️ Support the artists:\n・CHELJI https://soundcloud.com/chelji\n・ivri https://soundcloud.com/ivrii\n・SadBoyProlific https://soundcloud.com/sadboyprolific\n・ocean https://soundcloud.com/oceanonthebeat\n・Teqkoi https://soundcloud.com/teqkoi\n・Aiko https://soundcloud.com/aikox\n・rxseboy https://soundcloud.com/rxseboy\n・powfu https://soundcloud.com/powfu\n・mishaal https://soundcloud.com/officialmishaal\n・con https://www.youtube.com/channel/UCIsCdBYkKiDGJxR8ZpeAYqw\n・Mai. https://soundcloud.com/maryjanexx\n・Kina https://soundcloud.com/kinabeats\n・Adriana Proenza https://soundcloud.com/adrianaproenza\n\n⛩ Art: \nBy Valentina Remenar\nhttps://valentinaremenar.com/\nhttps://www.artstation.com/tincek-marincek\nhttps://www.instagram.com/valentinaremenar/\nhttps://www.deviantart.com/valentina-remenar\nhttps://twitter.com/TincekMarincek\n___________________________________________________\n💕 LIKE AND SUBSCRIBE if you liked this video!\n🔔 Click the Bell to get notified when I upload!\n___________________________________________________\nI do not own ANY rights to any of the music or footage I share, if you have a problem with my way of promotion, leave a message on my email.\n\n✉️ kitsuneyuugen@gmail.com\n___________________________________________________\n☕ Social Media:\nTwitter: https://twitter.com/YuugenMusic\nSoundcloud: https://soundcloud.com/y-gen-491044203\nInstagram: https://www.instagram.com/yugenmusicnetwork/\nSpotify: https://spoti.fi/2OeNGt4\nChannel: https://www.youtube.com/c/YugenMusicNetwork\n\n✖️ Channel is not monetized, if ads appear they are from copyright claims. Sorry for the inconvenience. If you’d like to support me you can buy me a coffee at:\nhttps://ko-fi.com/yugenmusicnetwork\n\n▶Submit your music :\nhttps://goo.gl/ZjN9Ry\n\n▶Submit art :\nhttps://goo.gl/qKBAog\n\nLove | Lofi HipHop Mix |\n\n#Lofi #Vocals #Love", "Love | Lofi HipHop Mix |", "1ddc6fb5-c307-4425-82e6-86aaa9a8d52e", 1389, false, "82P9kaqZds8", "https://www.youtube.com/watch?v=82P9kaqZds8", 26, "/downloads/music/Yūgen/Love | Lofi HipHop Mix |.m4a", false, false, false, 1, [], 1, ~U[2020-01-06 14:00:02Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Yūgen is not an allusion to another world. It is about this world, this experience…\n\n🎧 Tracklist:\n00:00 CHELJI - Forgive and Forget\n02:22 ivri ヅ - luvly\n03:15 SadBoyProlific - Alone ft. ivri(prod. ocean)\n05:52 Teqkoi - You Broke My Heart Again (ft. Aiko)\n07:32 @rxseboy x @powfu x @mishaal - when we were 16 (prod. con)\n10:38 Powfu - Hear my thoughts (prod. Mai.)\n12:50 @rxseboy - i really miss you (prod. con)\n15:08 CHELJI - Thought Of Love\n17:51 Kina - Can We Kiss Forever?(feat. Adriana Proenza)\n20:51 @rxseboy - i hate moving on (prod. con)\n\n❤️ Support the artists:\n・CHELJI https://soundcloud.com/chelji\n・ivri https://soundcloud.com/ivrii\n・SadBoyProlific https://soundcloud.com/sadboyprolific\n・ocean https://soundcloud.com/oceanonthebeat\n・Teqkoi https://soundcloud.com/teqkoi\n・Aiko https://soundcloud.com/aikox\n・rxseboy https://soundcloud.com/rxseboy\n・powfu https://soundcloud.com/powfu\n・mishaal https://soundcloud.com/officialmishaal\n・con https://www.youtube.com/channel/UCIsCdBYkKiDGJxR8ZpeAYqw\n・Mai. https://soundcloud.com/maryjanexx\n・Kina https://soundcloud.com/kinabeats\n・Adriana Proenza https://soundcloud.com/adrianaproenza\n\n⛩ Art: \nBy Valentina Remenar\nhttps://valentinaremenar.com/\nhttps://www.artstation.com/tincek-marincek\nhttps://www.instagram.com/valentinaremenar/\nhttps://www.deviantart.com/valentina-remenar\nhttps://twitter.com/TincekMarincek\n___________________________________________________\n💕 LIKE AND SUBSCRIBE if you liked this video!\n🔔 Click the Bell to get notified when I upload!\n___________________________________________________\nI do not own ANY rights to any of the music or footage I share, if you have a problem with my way of promotion, leave a message on my email.\n\n✉️ kitsuneyuugen@gmail.com\n___________________________________________________\n☕ Social Media:\nTwitter: https://twitter.com/YuugenMusic\nSoundcloud: https://soundcloud.com/y-gen-491044203\nInstagram: https://www.instagram.com/yugenmusicnetwork/\nSpotify: https://spoti.fi/2OeNGt4\nChannel: https://www.youtube.com/c/YugenMusicNetwork\n\n✖️ Channel is not monetized, if ads appear they are from copyright claims. Sorry for the inconvenience. If you’d like to support me you can buy me a coffee at:\nhttps://ko-fi.com/yugenmusicnetwork\n\n▶Submit your music :\nhttps://goo.gl/ZjN9Ry\n\n▶Submit art :\nhttps://goo.gl/qKBAog\n\nLove | Lofi HipHop Mix |\n\n#Lofi #Vocals #Love", "Love | Lofi HipHop Mix |", 1389, false, "82P9kaqZds8", "https://www.youtube.com/watch?v=82P9kaqZds8", "/downloads/music/Yūgen/Love | Lofi HipHop Mix |.m4a", false, 1, ~U[2020-01-06 14:00:02Z]] 09:45:52.874 [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" = ?) [1] 09:45:52.875 [debug] QUERY OK source="media_items" db=0.3ms idle=6.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-03-01 05:10:46Z], 1] 09:45:52.878 [debug] QUERY OK source="media_items" db=1.6ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Zero - Leave The Light On (Lyrics / Lyric Video)\nDownload/Stream: https://open.spotify.com/track/4TrzjmGcj6b8ct55iYQZXl?si=8R61hZf2TLmMgMpE8Dxmxg\n🔥 Follow me on Spotify: http://spoti.fi/2epn0pp\n\nIG: https://www.instagram.com/Zero\nTwitter: https:/www.twitter.com/OfficiallyZero\nFacebook: https://www.facebook.com/officiallyzero/\n\nCredits:\n\nProduced by Mark Jackson & Ian Scott\nAdditional Production by Taylor Bird & boon\nMixed & Mastered by Taylor Bird\nWritten by Jordan Benjamin, Matthew Cullen, Mark Jackson, Ian Scott, Kevin Hissink & Taylor Bird \n\nLyrics for Zero - Leave The Light On :)\n\nChorus: \n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nVerse 1:\n\nSometimes.. i gotta mask up\nDo the job to get the money back up\nLast time i had the bad luck\nBut im sure as fuck you had my back and thats what\nMade comfortable to put my blood\nSweat and tears to both of us\nGives my veins another rush\nEvery time the work is fucking done\n\nTrouble\nIt’s just a necessary evil\nAnd it don’t always end peaceful\nI know you worry but\nDon’t give up on me\n\nChorus: \n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nVerse 2: \n\nTurn your back if you dont want to witness all the things i had to do for us\nWhen i had to do too much\nYou helped me out through all the ruts\nI was laying at home\nYou, and me, and my shadow\nYou were my backbone\nWhen i got myself together\nLooked into the mirror\nKnew theres nothing better, but some motherfuckin trouble\n\nTrouble\nIt’s just a necessary evil\nAnd it don’t always end up peaceful\nI know you worry but\nDon’t give up on me\n\nChorus:\n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nBridge: \nMaybe we dont know how\nTo get ourselves the fuck out\nof this position that were in, no difference if my job is done or im out\nWorking on it\nYou can see it all now \nNever wanted\nYou to see that im down\nHad to go and\nBreak my hands out these cuffs\nAnd erase the past and change us\nIm just saying\n\nChorus:\n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nPhoto from Unsplash!\n\n~~~~~~~» UNCVRD«~~~~~~~\n\nJoin our Slack community: https://uncvrd.herokuapp.com/\nTwitter: https://twitter.com/uncvrdHQ\nFacebook: https://www.facebook.com/uncvrd/\nSpotify: http://spoti.fi/2epn0pp\n\n**All music submissions must go through here: https://submit.uncvrd.co", "Zero - Leave The Light On (Lyrics)", "2bf79769-7a3f-44df-b753-793787f2cc37", 185, false, "k5j9_N_BCx0", "https://www.youtube.com/watch?v=k5j9_N_BCx0", 27, "/downloads/music/UNCVRD/Zero - Leave The Light On (Lyrics).m4a", false, false, false, 1, [], 1, ~U[2019-03-01 05:10:46Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Zero - Leave The Light On (Lyrics / Lyric Video)\nDownload/Stream: https://open.spotify.com/track/4TrzjmGcj6b8ct55iYQZXl?si=8R61hZf2TLmMgMpE8Dxmxg\n🔥 Follow me on Spotify: http://spoti.fi/2epn0pp\n\nIG: https://www.instagram.com/Zero\nTwitter: https:/www.twitter.com/OfficiallyZero\nFacebook: https://www.facebook.com/officiallyzero/\n\nCredits:\n\nProduced by Mark Jackson & Ian Scott\nAdditional Production by Taylor Bird & boon\nMixed & Mastered by Taylor Bird\nWritten by Jordan Benjamin, Matthew Cullen, Mark Jackson, Ian Scott, Kevin Hissink & Taylor Bird \n\nLyrics for Zero - Leave The Light On :)\n\nChorus: \n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nVerse 1:\n\nSometimes.. i gotta mask up\nDo the job to get the money back up\nLast time i had the bad luck\nBut im sure as fuck you had my back and thats what\nMade comfortable to put my blood\nSweat and tears to both of us\nGives my veins another rush\nEvery time the work is fucking done\n\nTrouble\nIt’s just a necessary evil\nAnd it don’t always end peaceful\nI know you worry but\nDon’t give up on me\n\nChorus: \n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nVerse 2: \n\nTurn your back if you dont want to witness all the things i had to do for us\nWhen i had to do too much\nYou helped me out through all the ruts\nI was laying at home\nYou, and me, and my shadow\nYou were my backbone\nWhen i got myself together\nLooked into the mirror\nKnew theres nothing better, but some motherfuckin trouble\n\nTrouble\nIt’s just a necessary evil\nAnd it don’t always end up peaceful\nI know you worry but\nDon’t give up on me\n\nChorus:\n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nBridge: \nMaybe we dont know how\nTo get ourselves the fuck out\nof this position that were in, no difference if my job is done or im out\nWorking on it\nYou can see it all now \nNever wanted\nYou to see that im down\nHad to go and\nBreak my hands out these cuffs\nAnd erase the past and change us\nIm just saying\n\nChorus:\n\nOne day\nI might not make it back home\nSometimes the devil walks alone\nIf you love me\nNever let me go\nJust leave the light on\n\nPhoto from Unsplash!\n\n~~~~~~~» UNCVRD«~~~~~~~\n\nJoin our Slack community: https://uncvrd.herokuapp.com/\nTwitter: https://twitter.com/uncvrdHQ\nFacebook: https://www.facebook.com/uncvrd/\nSpotify: http://spoti.fi/2epn0pp\n\n**All music submissions must go through here: https://submit.uncvrd.co", "Zero - Leave The Light On (Lyrics)", 185, false, "k5j9_N_BCx0", "https://www.youtube.com/watch?v=k5j9_N_BCx0", "/downloads/music/UNCVRD/Zero - Leave The Light On (Lyrics).m4a", false, 1, ~U[2019-03-01 05:10:46Z]] 09:45:52.878 [debug] QUERY OK source="sources" db=0.2ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:52.879 [debug] QUERY OK source="media_items" db=0.4ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-11-09 10:45:00Z], 1] 09:45:52.880 [debug] QUERY OK source="media_items" db=1.0ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["New layout who dis\n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Besomorph - 1985 (ft. braev & Wasiu)\nhttps://biglink.to/1985\n\nBesomorph\nhttps://instagram.com/Besomorph/\nhttps://soundcloud.com/Besomorph/\nhttps://facebook.com/Besomorph\nhttps://www.twitter.com/Besomorph\n\nbraev\nhttps://twitter.com/kingbraev\nhttps://www.instagram.com/kingbraev/\nhttps://www.facebook.com/kingbraev/\nhttps://soundcloud.com/kingbraev\n\nWasiu\nhttps://twitter.com/afrowasiu\nhttps://www.instagram.com/afrowasiu/\nhttps://www.facebook.com/AfroWasiu/\nhttps://soundcloud.com/afrowasiu\n\nArtwork by DarsoX Anime\nhttps://www.artstation.com/artwork/A9Wgoz\nhttps://www.artstation.com/dezzso\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/\nSubmissions: https://www.submithub.com/blog/heroicmusic-valiant", "Besomorph - 1985 (ft. braev & Wasiu)", "f6add7fd-4483-4e11-9a21-ff8e238ecaa4", 166, false, "S3NTO6909sc", "https://www.youtube.com/watch?v=S3NTO6909sc", 28, "/downloads/music/Valiant/Besomorph - 1985 (ft. braev & Wasiu).m4a", false, false, false, 1, [], 1, ~U[2019-11-09 10:45:00Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "New layout who dis\n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Besomorph - 1985 (ft. braev & Wasiu)\nhttps://biglink.to/1985\n\nBesomorph\nhttps://instagram.com/Besomorph/\nhttps://soundcloud.com/Besomorph/\nhttps://facebook.com/Besomorph\nhttps://www.twitter.com/Besomorph\n\nbraev\nhttps://twitter.com/kingbraev\nhttps://www.instagram.com/kingbraev/\nhttps://www.facebook.com/kingbraev/\nhttps://soundcloud.com/kingbraev\n\nWasiu\nhttps://twitter.com/afrowasiu\nhttps://www.instagram.com/afrowasiu/\nhttps://www.facebook.com/AfroWasiu/\nhttps://soundcloud.com/afrowasiu\n\nArtwork by DarsoX Anime\nhttps://www.artstation.com/artwork/A9Wgoz\nhttps://www.artstation.com/dezzso\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/\nSubmissions: https://www.submithub.com/blog/heroicmusic-valiant", "Besomorph - 1985 (ft. braev & Wasiu)", 166, false, "S3NTO6909sc", "https://www.youtube.com/watch?v=S3NTO6909sc", "/downloads/music/Valiant/Besomorph - 1985 (ft. braev & Wasiu).m4a", false, 1, ~U[2019-11-09 10:45:00Z]] 09:45:52.881 [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" = ?) [1] 09:45:52.881 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-11-17 10:45:00Z], 1] 09:45:52.883 [debug] QUERY OK source="media_items" db=0.8ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Liam reminds me of Eden \n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Liam Ello - Blunder \nhttps://fanlink.to/blunder\n\nLiam Ello\nhttps://www.instagram.com/liam.ello/\nhttps://soundcloud.com/liamello\nhttps://www.facebook.com/liamelloo\nhttps://twitter.com/liamellopuff?s=09\n\nArtwork by Guweiz\nhttps://www.facebook.com/guweiz/\nhttps://www.instagram.com/guweiz/\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/\nSubmissions: https://www.submithub.com/blog/heroicmusic-valiant", "Liam Ello - Blunder", "70a2236b-1f50-49c9-aba9-8da717d945ac", 181, false, "iN_R5h82_3w", "https://www.youtube.com/watch?v=iN_R5h82_3w", 29, "/downloads/music/Valiant/Liam Ello - Blunder.m4a", false, false, false, 1, [], 1, ~U[2019-11-17 10:45:00Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Liam reminds me of Eden \n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Liam Ello - Blunder \nhttps://fanlink.to/blunder\n\nLiam Ello\nhttps://www.instagram.com/liam.ello/\nhttps://soundcloud.com/liamello\nhttps://www.facebook.com/liamelloo\nhttps://twitter.com/liamellopuff?s=09\n\nArtwork by Guweiz\nhttps://www.facebook.com/guweiz/\nhttps://www.instagram.com/guweiz/\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/\nSubmissions: https://www.submithub.com/blog/heroicmusic-valiant", "Liam Ello - Blunder", 181, false, "iN_R5h82_3w", "https://www.youtube.com/watch?v=iN_R5h82_3w", "/downloads/music/Valiant/Liam Ello - Blunder.m4a", false, 1, ~U[2019-11-17 10:45:00Z]] 09:45:52.883 [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" = ?) [1] 09:45:52.884 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-11-25 10:30:03Z], 1] 09:45:52.885 [debug] QUERY OK source="media_items" db=0.9ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The hype man is back!\n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Barren Gates - S.O.S (ft. Harley Bird & M.I.M.E)\nhttps://fanlink.to/s-o-s\n\nBarren Gates\nhttps://soundcloud.com/barrengates\nhttps://www.instagram.com/barrengates/\nhttps://www.facebook.com/BarrenGates/\n\nHarley Bird\nhttps://soundcloud.com/harleybird\nhttps://www.facebook.com/harleybirdmusic\nhttps://www.instagram.com/harleybird/\nhttps://twitter.com/harleybirdmusic\n\nM.I.M.E\nhttps://soundcloud.com/onlymime\nhttps://twitter.com/TheOnlyMime\nhttps://www.instagram.com/TheOnlyMime/\nhttps://www.facebook.com/TheOnlyMime/\n\nArtwork by David Paget\nhttps://www.artstation.com/artwork/1GgqX\nhttps://www.artstation.com/davepaget\nhttps://www.instagram.com/davepagetart/\nhttps://www.youtube.com/channel/UC-ZVBnCWmBOLmsjyiV9lfDg\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/\nSubmissions: https://www.submithub.com/blog/heroicmusic-valiant", "@BarrenGates - S.O.S (ft. Harley Bird & M.I.M.E)", "098ebc71-1adf-4b30-b117-a335ae4d8ba8", 209, false, "hY-yijB6CgE", "https://www.youtube.com/watch?v=hY-yijB6CgE", 30, "/downloads/music/Valiant/@BarrenGates - S.O.S (ft. Harley Bird & M.I.M.E).m4a", false, false, false, 1, [], 1, ~U[2019-11-25 10:30:03Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "The hype man is back!\n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Barren Gates - S.O.S (ft. Harley Bird & M.I.M.E)\nhttps://fanlink.to/s-o-s\n\nBarren Gates\nhttps://soundcloud.com/barrengates\nhttps://www.instagram.com/barrengates/\nhttps://www.facebook.com/BarrenGates/\n\nHarley Bird\nhttps://soundcloud.com/harleybird\nhttps://www.facebook.com/harleybirdmusic\nhttps://www.instagram.com/harleybird/\nhttps://twitter.com/harleybirdmusic\n\nM.I.M.E\nhttps://soundcloud.com/onlymime\nhttps://twitter.com/TheOnlyMime\nhttps://www.instagram.com/TheOnlyMime/\nhttps://www.facebook.com/TheOnlyMime/\n\nArtwork by David Paget\nhttps://www.artstation.com/artwork/1GgqX\nhttps://www.artstation.com/davepaget\nhttps://www.instagram.com/davepagetart/\nhttps://www.youtube.com/channel/UC-ZVBnCWmBOLmsjyiV9lfDg\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/\nSubmissions: https://www.submithub.com/blog/heroicmusic-valiant", "@BarrenGates - S.O.S (ft. Harley Bird & M.I.M.E)", 209, false, "hY-yijB6CgE", "https://www.youtube.com/watch?v=hY-yijB6CgE", "/downloads/music/Valiant/@BarrenGates - S.O.S (ft. Harley Bird & M.I.M.E).m4a", false, 1, ~U[2019-11-25 10:30:03Z]] 09:45:52.886 [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" = ?) [1] 09:45:52.886 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-11-19 12:57:37Z], 1] 09:45:52.888 [debug] QUERY OK source="media_items" db=0.9ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["An Amy Winehouse cover done right\n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Besomorph, N3WPORT & Elijah Hill - Back to Black (feat. RIELL)\nhttps://fanlink.to/backtoblack\n\nBesomorph\nhttps://soundcloud.com/Besomorph/\nhttps://www.facebook.com/Besomorph\nhttps://twitter.com/Besomorph\nhttps://www.instagram.com/Besomorph/\n\nN3WPORT\nhttps://soundcloud.com/n3wp0rt\nhttps://www.facebook.com/N3wportOffic...\nhttps://twitter.com/N3wportMusic\nhttps://www.instagram.com/n3wportmusic/\n\nElijah Hill\nhttps://soundcloud.com/elijahhill\nhttps://www.facebook.com/elijahhillmu...\nhttps://twitter.com/_Elijah_Hill\nhttps://www.instagram.com/elijahhill/\n\nRIELL\nhttps://soundcloud.com/iamriell/\nhttps://www.facebook.com/iamRIELL/\nhttps://www.instagram.com/iamriell/\n\nArtwork by Zeen Chin\nhttps://www.artstation.com/artwork/lVqO3e\nhttps://www.artstation.com/zeen\nhttps://www.instagram.com/zeenchin/\nhttps://www.facebook.com/Zeen.Chin\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/", "Besomorph, N3WPORT & Elijah Hill - Back to Black (feat. RIELL)", "5b7157d6-8c55-42fa-a471-08f5a6f6edd5", 189, false, "TkevKzcSkhU", "https://www.youtube.com/watch?v=TkevKzcSkhU", 31, "/downloads/music/Valiant/Besomorph, N3WPORT & Elijah Hill - Back to Black (feat. RIELL).m4a", false, false, false, 1, [], 1, ~U[2019-11-19 12:57:37Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "An Amy Winehouse cover done right\n\nFollow our Spotify! http://bit.ly/ValiantPlaylists ❤\nDiscord: https://discord.gg/8wEjhYs\n\nDownload Besomorph, N3WPORT & Elijah Hill - Back to Black (feat. RIELL)\nhttps://fanlink.to/backtoblack\n\nBesomorph\nhttps://soundcloud.com/Besomorph/\nhttps://www.facebook.com/Besomorph\nhttps://twitter.com/Besomorph\nhttps://www.instagram.com/Besomorph/\n\nN3WPORT\nhttps://soundcloud.com/n3wp0rt\nhttps://www.facebook.com/N3wportOffic...\nhttps://twitter.com/N3wportMusic\nhttps://www.instagram.com/n3wportmusic/\n\nElijah Hill\nhttps://soundcloud.com/elijahhill\nhttps://www.facebook.com/elijahhillmu...\nhttps://twitter.com/_Elijah_Hill\nhttps://www.instagram.com/elijahhill/\n\nRIELL\nhttps://soundcloud.com/iamriell/\nhttps://www.facebook.com/iamRIELL/\nhttps://www.instagram.com/iamriell/\n\nArtwork by Zeen Chin\nhttps://www.artstation.com/artwork/lVqO3e\nhttps://www.artstation.com/zeen\nhttps://www.instagram.com/zeenchin/\nhttps://www.facebook.com/Zeen.Chin\n\nValiant \nFacebook: https://www.facebook.com/ValiantRecs/\nInstagram: https://www.instagram.com/valiantrecs/", "Besomorph, N3WPORT & Elijah Hill - Back to Black (feat. RIELL)", 189, false, "TkevKzcSkhU", "https://www.youtube.com/watch?v=TkevKzcSkhU", "/downloads/music/Valiant/Besomorph, N3WPORT & Elijah Hill - Back to Black (feat. RIELL).m4a", false, 1, ~U[2019-11-19 12:57:37Z]] 09:45:52.888 [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" = ?) [1] 09:45:52.889 [debug] QUERY OK source="media_items" db=0.2ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-11-05 01:00:26Z], 1] 09:45:52.890 [debug] QUERY OK source="media_items" db=1.2ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["underrated song by alicks - aden\n\n\nSong: https://open.spotify.com/track/3I0eQWa6B7yXnvaRbo22bM?si=YY7GrmaeSvuwxehHAcz-gA\nSpotify Playlist: https://open.spotify.com/user/animevibe_/playlist/5Jmtc9Yh9wa2Wl6kJpY7e3?si=OFTpOFdfQP2OIa33PdoEiA\n\n\nArtists:\nhttps://soundcloud.com/alicks14\nhttps://open.spotify.com/artist/60J5TDNg9Xxp9zxDXpBOjM?si=0UF8PgMfSbq4_IE_4MRnTg\nhttps://www.instagram.com/alex_is_ok/\n\n\n\nYouTube Playlists:\nChill Vibes - https://www.youtube.com/watch?v=0yzZhPufmCU&list=PL-9AI1-of8cssTnCNbks_v0PY0fPljx7T \nNaruto Vibes - https://www.youtube.com/watch?v=UJ4ueyS4pqA&list=PL-9AI1-of8csH6z0W-l90GV2T4ZM7tjXM\n\n\nAnime: tokyo ghoul\n\n\nMerch:\nPoster & Stickers: https://teespring.com/stores/avapparel\nApparel: https://avrecords.co/apparel/\nVibes Apparel: http://vibesapparel.net\n\n\n\nChill Squad - https://www.youtube.com/channel/UCdvdopWuQpHjpvuG3i3nr4Q \nSoundCloud - https://soundcloud.com/animevibe\nikigai - https://www.youtube.com/channel/UCwpkceoj8LqJetYfgOzLLfg\nMusic Submissions - http://avrecords.co\nDiscord Server (open): https://discord.gg/wYxQuEh\n\n\nSocial media:\nAden’s Twitter: https://twitter.com/AnimeVibe_\nAden’s Insta: https://www.instagram.com/avkhan_\nDK's Twitter: https://twitter.com/Animevibe_dk\nTwitch: http://www.twitch.tv/animevibe_\n\n\nDisclaimer*\nIf you have a problem with our way of promotion, shoot us an email and we will take the video down if needed. AnimeVibe2014@gmail.com", "Alicks - starving", "1e959065-144c-4258-ad18-553362cc3ba4", 198, false, "Pu_NuE60W5E", "https://www.youtube.com/watch?v=Pu_NuE60W5E", 32, "/downloads/music/AnimeVibe/Alicks - starving.m4a", false, false, false, 1, [], 1, ~U[2019-11-05 01:00:26Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "underrated song by alicks - aden\n\n\nSong: https://open.spotify.com/track/3I0eQWa6B7yXnvaRbo22bM?si=YY7GrmaeSvuwxehHAcz-gA\nSpotify Playlist: https://open.spotify.com/user/animevibe_/playlist/5Jmtc9Yh9wa2Wl6kJpY7e3?si=OFTpOFdfQP2OIa33PdoEiA\n\n\nArtists:\nhttps://soundcloud.com/alicks14\nhttps://open.spotify.com/artist/60J5TDNg9Xxp9zxDXpBOjM?si=0UF8PgMfSbq4_IE_4MRnTg\nhttps://www.instagram.com/alex_is_ok/\n\n\n\nYouTube Playlists:\nChill Vibes - https://www.youtube.com/watch?v=0yzZhPufmCU&list=PL-9AI1-of8cssTnCNbks_v0PY0fPljx7T \nNaruto Vibes - https://www.youtube.com/watch?v=UJ4ueyS4pqA&list=PL-9AI1-of8csH6z0W-l90GV2T4ZM7tjXM\n\n\nAnime: tokyo ghoul\n\n\nMerch:\nPoster & Stickers: https://teespring.com/stores/avapparel\nApparel: https://avrecords.co/apparel/\nVibes Apparel: http://vibesapparel.net\n\n\n\nChill Squad - https://www.youtube.com/channel/UCdvdopWuQpHjpvuG3i3nr4Q \nSoundCloud - https://soundcloud.com/animevibe\nikigai - https://www.youtube.com/channel/UCwpkceoj8LqJetYfgOzLLfg\nMusic Submissions - http://avrecords.co\nDiscord Server (open): https://discord.gg/wYxQuEh\n\n\nSocial media:\nAden’s Twitter: https://twitter.com/AnimeVibe_\nAden’s Insta: https://www.instagram.com/avkhan_\nDK's Twitter: https://twitter.com/Animevibe_dk\nTwitch: http://www.twitch.tv/animevibe_\n\n\nDisclaimer*\nIf you have a problem with our way of promotion, shoot us an email and we will take the video down if needed. AnimeVibe2014@gmail.com", "Alicks - starving", 198, false, "Pu_NuE60W5E", "https://www.youtube.com/watch?v=Pu_NuE60W5E", "/downloads/music/AnimeVibe/Alicks - starving.m4a", false, 1, ~U[2019-11-05 01:00:26Z]] 09:45:52.891 [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" = ?) [1] 09:45:52.892 [debug] QUERY OK source="media_items" db=0.5ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-10-28 20:00:08Z], 1] 09:45:52.894 [debug] QUERY OK source="media_items" db=1.8ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["i feel brand new\n\nlisten on spotify\nhttps://open.spotify.com/track/5DFbqevvFa6H9DdusZQxbO?si=KGJ_fcU6SpK5Xrnf6ueqCA\n\nkhai dreams\nhttps://soundcloud.com/khaidreams\nhttps://open.spotify.com/artist/0lawSNBxNgJFQYJnQzLH8c\nhttps://twitter.com/khaidreams\nhttps://www.instagram.com/khai_dreams\n\nAmbition\nhttps://twitter.com/ambitionyt\nhttps://www.instagram.com/ambitionyt\nhttps://soundcloud.com/ambition-beats\n\nArtwork by 11.10\nhttps://www.instagram.com/11.10ml\nhttps://twitter.com/grapefruitsoju\nhttps://www.inprnt.com/gallery/1110", "khai dreams - brand new", "13dec276-91eb-41c8-890d-eed3a4898b58", 172, false, "Hii_YBiCByA", "https://www.youtube.com/watch?v=Hii_YBiCByA", 33, "/downloads/music/Ambition/khai dreams - brand new.m4a", false, false, false, 1, [], 1, ~U[2019-10-28 20:00:08Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "i feel brand new\n\nlisten on spotify\nhttps://open.spotify.com/track/5DFbqevvFa6H9DdusZQxbO?si=KGJ_fcU6SpK5Xrnf6ueqCA\n\nkhai dreams\nhttps://soundcloud.com/khaidreams\nhttps://open.spotify.com/artist/0lawSNBxNgJFQYJnQzLH8c\nhttps://twitter.com/khaidreams\nhttps://www.instagram.com/khai_dreams\n\nAmbition\nhttps://twitter.com/ambitionyt\nhttps://www.instagram.com/ambitionyt\nhttps://soundcloud.com/ambition-beats\n\nArtwork by 11.10\nhttps://www.instagram.com/11.10ml\nhttps://twitter.com/grapefruitsoju\nhttps://www.inprnt.com/gallery/1110", "khai dreams - brand new", 172, false, "Hii_YBiCByA", "https://www.youtube.com/watch?v=Hii_YBiCByA", "/downloads/music/Ambition/khai dreams - brand new.m4a", false, 1, ~U[2019-10-28 20:00:08Z]] 09:45:52.895 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:52.897 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=5.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-06-01 18:05:43Z], 1] 09:45:52.899 [debug] QUERY OK source="media_items" db=1.5ms idle=6.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["R4ID\n\nhttps://instagram.com/r4id_tv?igshid=25ojrxrkorn1\nhttps://soundcloud.com/lukezimm/underground \n\nCHECK OUT OUR STORE https://trash.clothing\nTRASH Official Spotify Playlists: https://open.spotify.com/playlist/2rkYXIAACgmzYFcm4cJJwF\n\n\nANIME: bobs burgers \n\nTRXSH GXNG\n---------------------------------------------------------------------------------\nTRASH 新 ドラゴン - \n😈 SHOP - https://trash.clothing/\n😈 IG: https://www.instagram.com/trashgang\n😈 DC - https://discord.gg/m68QC4f\n😈 FB - https://facebook.com/youre.here.on.purpose\n😈 VK - https://vk.com/bornoflegend\n😈 T: https://twitter.com/garbageclub\n---------------------------------------------------------------------------------\nif you have anything you want to show us, work with us, share your ideas, videos, art, contact us here:\nhttps://www.trash-gang.com/info-contact", "R4ID - Underground", "f0e351b6-0f6d-4d11-9c26-9681b2dea37c", 128, false, "enyGHIEwqY4", "https://www.youtube.com/watch?v=enyGHIEwqY4", 34, "/downloads/music/TRASH 新 ドラゴン/R4ID - Underground.m4a", false, false, false, 1, [], 1, ~U[2020-06-01 18:05:43Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "R4ID\n\nhttps://instagram.com/r4id_tv?igshid=25ojrxrkorn1\nhttps://soundcloud.com/lukezimm/underground \n\nCHECK OUT OUR STORE https://trash.clothing\nTRASH Official Spotify Playlists: https://open.spotify.com/playlist/2rkYXIAACgmzYFcm4cJJwF\n\n\nANIME: bobs burgers \n\nTRXSH GXNG\n---------------------------------------------------------------------------------\nTRASH 新 ドラゴン - \n😈 SHOP - https://trash.clothing/\n😈 IG: https://www.instagram.com/trashgang\n😈 DC - https://discord.gg/m68QC4f\n😈 FB - https://facebook.com/youre.here.on.purpose\n😈 VK - https://vk.com/bornoflegend\n😈 T: https://twitter.com/garbageclub\n---------------------------------------------------------------------------------\nif you have anything you want to show us, work with us, share your ideas, videos, art, contact us here:\nhttps://www.trash-gang.com/info-contact", "R4ID - Underground", 128, false, "enyGHIEwqY4", "https://www.youtube.com/watch?v=enyGHIEwqY4", "/downloads/music/TRASH 新 ドラゴン/R4ID - Underground.m4a", false, 1, ~U[2020-06-01 18:05:43Z]] 09:45:52.900 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms 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" = ?) [1] 09:45:52.901 [debug] QUERY OK source="media_items" db=0.5ms idle=6.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-10-21 18:25:03Z], 1] 09:45:52.903 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=6.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["such a sick remix from flashboy. make sure to subscribe to his channel! - aden\n\n\nSong: https://www.youtube.com/watch?v=-4R0WCWOzv0\nSpotify Playlist: https://open.spotify.com/user/animevibe_/playlist/5Jmtc9Yh9wa2Wl6kJpY7e3?si=OFTpOFdfQP2OIa33PdoEiA\n\n\nArtists:\nhttps://www.youtube.com/channel/UCNILZRzXydTQ2gcg0GJsdEQ\nhttps://www.instagram.com/flashboy.mp4/\nhttps://twitter.com/WilyDeColombie\n\n\nYouTube Playlists:\nChill Vibes - https://www.youtube.com/watch?v=0yzZhPufmCU&list=PL-9AI1-of8cssTnCNbks_v0PY0fPljx7T \nNaruto Vibes - https://www.youtube.com/watch?v=UJ4ueyS4pqA&list=PL-9AI1-of8csH6z0W-l90GV2T4ZM7tjXM\n\n\nAnime: naruto\n\n\nMerch:\nPoster & Stickers: https://teespring.com/stores/avapparel\nApparel: https://avrecords.co/apparel/\nVibes Apparel: http://vibesapparel.net\n\n\n\nChill Squad - https://www.youtube.com/channel/UCdvdopWuQpHjpvuG3i3nr4Q \nSoundCloud - https://soundcloud.com/animevibe\nikigai - https://www.youtube.com/channel/UCwpkceoj8LqJetYfgOzLLfg\nMusic Submissions - http://avrecords.co\nDiscord Server (open): https://discord.gg/wYxQuEh\n\n\nSocial media:\nAden’s Twitter: https://twitter.com/AnimeVibe_\nAden’s Insta: https://www.instagram.com/avkhan_\nDK's Twitter: https://twitter.com/Animevibe_dk\nTwitch: http://www.twitch.tv/animevibe_\n\n\nDisclaimer*\nIf you have a problem with our way of promotion, shoot us an email and we will take the video down if needed. AnimeVibe2014@gmail.com", "Flashboy - Sharingan (Naruto remix)", "38fefbc4-9388-4d4d-8e21-dede5466540c", 159, false, "-WhU5nfpE2Q", "https://www.youtube.com/watch?v=-WhU5nfpE2Q", 35, "/downloads/music/AnimeVibe/Flashboy - Sharingan (Naruto remix).m4a", false, false, false, 1, [], 1, ~U[2019-10-21 18:25:03Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "such a sick remix from flashboy. make sure to subscribe to his channel! - aden\n\n\nSong: https://www.youtube.com/watch?v=-4R0WCWOzv0\nSpotify Playlist: https://open.spotify.com/user/animevibe_/playlist/5Jmtc9Yh9wa2Wl6kJpY7e3?si=OFTpOFdfQP2OIa33PdoEiA\n\n\nArtists:\nhttps://www.youtube.com/channel/UCNILZRzXydTQ2gcg0GJsdEQ\nhttps://www.instagram.com/flashboy.mp4/\nhttps://twitter.com/WilyDeColombie\n\n\nYouTube Playlists:\nChill Vibes - https://www.youtube.com/watch?v=0yzZhPufmCU&list=PL-9AI1-of8cssTnCNbks_v0PY0fPljx7T \nNaruto Vibes - https://www.youtube.com/watch?v=UJ4ueyS4pqA&list=PL-9AI1-of8csH6z0W-l90GV2T4ZM7tjXM\n\n\nAnime: naruto\n\n\nMerch:\nPoster & Stickers: https://teespring.com/stores/avapparel\nApparel: https://avrecords.co/apparel/\nVibes Apparel: http://vibesapparel.net\n\n\n\nChill Squad - https://www.youtube.com/channel/UCdvdopWuQpHjpvuG3i3nr4Q \nSoundCloud - https://soundcloud.com/animevibe\nikigai - https://www.youtube.com/channel/UCwpkceoj8LqJetYfgOzLLfg\nMusic Submissions - http://avrecords.co\nDiscord Server (open): https://discord.gg/wYxQuEh\n\n\nSocial media:\nAden’s Twitter: https://twitter.com/AnimeVibe_\nAden’s Insta: https://www.instagram.com/avkhan_\nDK's Twitter: https://twitter.com/Animevibe_dk\nTwitch: http://www.twitch.tv/animevibe_\n\n\nDisclaimer*\nIf you have a problem with our way of promotion, shoot us an email and we will take the video down if needed. AnimeVibe2014@gmail.com", "Flashboy - Sharingan (Naruto remix)", 159, false, "-WhU5nfpE2Q", "https://www.youtube.com/watch?v=-WhU5nfpE2Q", "/downloads/music/AnimeVibe/Flashboy - Sharingan (Naruto remix).m4a", false, 1, ~U[2019-10-21 18:25:03Z]] 09:45:52.904 [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" = ?) [1] 09:45:52.905 [debug] QUERY OK source="media_items" db=0.5ms idle=5.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-04-03 22:00:00Z], 1] 09:45:52.907 [debug] QUERY OK source="media_items" db=1.2ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["stay with me, be my everlasting fantasy \n🎧 Lofi/Chill Beats 🎧\n\nMore music from Teqkoi - http://bit.do/teqkoi\n\nTeqkoi\nhttps://soundcloud.com/teqkoi\nhttps://twitter.com/Teqkoi\nhttps://www.instagram.com/teqkoi/\nhttps://open.spotify.com/artist/6fOKLk8GmQ8xKogCRuuAwD\n\nMouse\nhttps://soundcloud.com/mouseny\nhttps://www.instagram.com/mouse.ny/\nhttps://open.spotify.com/artist/2JtZvv1C9frPmImiqseKVg\n\n💜 bootleg 💜\nsoundcloud - https://soundcloud.com/dabootlegboy\ntwitter - https://twitter.com/thebootlegboy\ninstagram - https://instagram.com/thebootlegboy\nspotify - https://bootlegboy.lnk.to/spotify\n*NEW MERCH* - http://www.thebootlegboy.com/\n\n💕Subscribe for more vibes like this 💕", "Teqkoi - Stay With Me (ft. Mouse)", "cfd0e83f-6aa1-49fd-9279-6f5cf48a728b", 113, false, "-wTtTTAwMz8", "https://www.youtube.com/watch?v=-wTtTTAwMz8", 36, "/downloads/music/the bootleg boy/Teqkoi - Stay With Me (ft. Mouse).m4a", false, false, false, 1, [], 1, ~U[2019-04-03 22:00:00Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "stay with me, be my everlasting fantasy \n🎧 Lofi/Chill Beats 🎧\n\nMore music from Teqkoi - http://bit.do/teqkoi\n\nTeqkoi\nhttps://soundcloud.com/teqkoi\nhttps://twitter.com/Teqkoi\nhttps://www.instagram.com/teqkoi/\nhttps://open.spotify.com/artist/6fOKLk8GmQ8xKogCRuuAwD\n\nMouse\nhttps://soundcloud.com/mouseny\nhttps://www.instagram.com/mouse.ny/\nhttps://open.spotify.com/artist/2JtZvv1C9frPmImiqseKVg\n\n💜 bootleg 💜\nsoundcloud - https://soundcloud.com/dabootlegboy\ntwitter - https://twitter.com/thebootlegboy\ninstagram - https://instagram.com/thebootlegboy\nspotify - https://bootlegboy.lnk.to/spotify\n*NEW MERCH* - http://www.thebootlegboy.com/\n\n💕Subscribe for more vibes like this 💕", "Teqkoi - Stay With Me (ft. Mouse)", 113, false, "-wTtTTAwMz8", "https://www.youtube.com/watch?v=-wTtTTAwMz8", "/downloads/music/the bootleg boy/Teqkoi - Stay With Me (ft. Mouse).m4a", false, 1, ~U[2019-04-03 22:00:00Z]] 09:45:52.909 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:52.910 [debug] QUERY OK source="media_items" db=1.1ms idle=6.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-11-23 23:00:01Z], 1] 09:45:52.913 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms idle=7.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Listen to 'you deserve better ' by sadeyes\n🎧 Lofi/Chill Beats 🎧\n\nsadeyes\nhttps://soundcloud.com/lilsadeyes\nhttps://twitter.com/lilxsadeyes\nhttps://www.instagram.com/lilxsadeyes/\nhttps://open.spotify.com/artist/5fj4oi7qHDoklvnnYmSBl0\n\nProduced by Ocean\nhttps://soundcloud.com/oceanonthebeat\nhttps://www.youtube.com/channel/UCpipAjo9fIhDMXOoo0Mm86Q\n\nFeaturing Dhan\nhttps://soundcloud.com/lenard-lomeda\n\n💜 bootleg 💜\nsoundcloud - https://soundcloud.com/dabootlegboy\ntwitter - https://twitter.com/thebootlegboy\ninstagram - https://instagram.com/thebootlegboy\nspotify - https://bootlegboy.lnk.to/spotify\n*NEW MERCH* - http://www.thebootlegboy.com/\n\n💕Subscribe for more vibes like this 💕", "sadeyes - you deserve better", "7095d3c8-40d6-4c84-830a-04e40ac78eeb", 142, false, "_u8QGaLXSzc", "https://www.youtube.com/watch?v=_u8QGaLXSzc", 37, "/downloads/music/the bootleg boy/sadeyes - you deserve better.m4a", false, false, false, 1, [], 2, ~U[2018-11-23 23:00:01Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Listen to 'you deserve better ' by sadeyes\n🎧 Lofi/Chill Beats 🎧\n\nsadeyes\nhttps://soundcloud.com/lilsadeyes\nhttps://twitter.com/lilxsadeyes\nhttps://www.instagram.com/lilxsadeyes/\nhttps://open.spotify.com/artist/5fj4oi7qHDoklvnnYmSBl0\n\nProduced by Ocean\nhttps://soundcloud.com/oceanonthebeat\nhttps://www.youtube.com/channel/UCpipAjo9fIhDMXOoo0Mm86Q\n\nFeaturing Dhan\nhttps://soundcloud.com/lenard-lomeda\n\n💜 bootleg 💜\nsoundcloud - https://soundcloud.com/dabootlegboy\ntwitter - https://twitter.com/thebootlegboy\ninstagram - https://instagram.com/thebootlegboy\nspotify - https://bootlegboy.lnk.to/spotify\n*NEW MERCH* - http://www.thebootlegboy.com/\n\n💕Subscribe for more vibes like this 💕", "sadeyes - you deserve better", 142, false, "_u8QGaLXSzc", "https://www.youtube.com/watch?v=_u8QGaLXSzc", "/downloads/music/the bootleg boy/sadeyes - you deserve better.m4a", false, 1, ~U[2018-11-23 23:00:01Z]] 09:45:52.913 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [1] 09:45:52.914 [debug] QUERY OK source="media_items" db=0.4ms queue=0.3ms idle=7.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-04-09 13:09:10Z], 1] 09:45:52.916 [debug] QUERY OK source="media_items" db=1.0ms idle=5.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["GANGSTER GANG 24/7\nInstagram ➞ https://www.instagram.com/gangstergangmusic\nFacebook ➞ https://www.facebook.com/gangstergangmusic\nSoundcloud ➞ https://soundcloud.com/gangster_gang\n\nFollow Brennan Savage:\nTwitter: https://twitter.com/brennansavage\nSoundcloud: https://soundcloud.com/brennansavage\nInstagram: https://www.instagram.com/brennansavage\n\n-GG", "Brennan Savage - Bulletproof (Prod. by Wayste)", "aee374c6-12a1-44c5-829e-dd9f74f10bb0", 128, false, "oVIL5J--A8k", "https://www.youtube.com/watch?v=oVIL5J--A8k", 38, "/downloads/music/GANGSTER GANG/Brennan Savage - Bulletproof (Prod. by Wayste).m4a", false, false, false, 1, [], 1, ~U[2017-04-09 13:09:10Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "GANGSTER GANG 24/7\nInstagram ➞ https://www.instagram.com/gangstergangmusic\nFacebook ➞ https://www.facebook.com/gangstergangmusic\nSoundcloud ➞ https://soundcloud.com/gangster_gang\n\nFollow Brennan Savage:\nTwitter: https://twitter.com/brennansavage\nSoundcloud: https://soundcloud.com/brennansavage\nInstagram: https://www.instagram.com/brennansavage\n\n-GG", "Brennan Savage - Bulletproof (Prod. by Wayste)", 128, false, "oVIL5J--A8k", "https://www.youtube.com/watch?v=oVIL5J--A8k", "/downloads/music/GANGSTER GANG/Brennan Savage - Bulletproof (Prod. by Wayste).m4a", false, 1, ~U[2017-04-09 13:09:10Z]] 09:45:52.917 [debug] QUERY OK source="sources" db=0.6ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:52.918 [debug] QUERY OK source="media_items" db=0.6ms idle=4.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-11-23 14:56:26Z], 1] 09:45:52.920 [debug] QUERY OK source="media_items" db=1.2ms idle=5.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🔉SPOTIFY🔊\n\u202Ahttps://open.spotify.com/album/1TNSQd6eMYimM1hDfaPnM7?si=E6sSZKptR7e9LxvYpQQ-1g\u202C\n\n🎸APPLE MUSIC🎸\n\u202Ahttps://itunes.apple.com/de/album/flip-it-skip-it-single/1444854238\u202C\n\n☔️SOUNDCLOUD☔️\nhttps://soundcloud.com/user-710594825/master\n\n👻BEAT VON KIRA & THANI👻\nYoung Kira:\nhttps://www.youtube.com/channel/UCT8KO9xxmsGkFPk_FpES1Aw\nhttps://twitter.com/YoungKiraFlyboy\nThani: \nhttps://www.instagram.com/beatsbythani/\nhttps://twitter.com/BeatsByThani\n\n📝TWITTER📝 Meine Gedanken in 280 Zeichen: \n http://twitter.com/Taddl\n\n📸INSTAGRAM📸 Die Welt durch meine Augen:\nhttp://www.instagram.com/taddl\n\n👔CLOTHES👔 Selbstdesignte Klamotten:\nhttps://hydra-ccc.shop/\n\n🛠MASTER🛠\nby Volker “IDR“ Gebhardt", "TJ_beastboy - FLiP iT/SKiP iT (beat by Young Kira & Thani)", "e2523fe7-090f-444c-8721-d8b4fa791d07", 168, false, "XVK3M5P6MWI", "https://www.youtube.com/watch?v=XVK3M5P6MWI", 39, "/downloads/music/TJ_bb/TJ_beastboy - FLiP iT⧸SKiP iT (beat by Young Kira & Thani).m4a", false, false, false, 1, [], 2, ~U[2018-11-23 14:56:26Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "🔉SPOTIFY🔊\n\u202Ahttps://open.spotify.com/album/1TNSQd6eMYimM1hDfaPnM7?si=E6sSZKptR7e9LxvYpQQ-1g\u202C\n\n🎸APPLE MUSIC🎸\n\u202Ahttps://itunes.apple.com/de/album/flip-it-skip-it-single/1444854238\u202C\n\n☔️SOUNDCLOUD☔️\nhttps://soundcloud.com/user-710594825/master\n\n👻BEAT VON KIRA & THANI👻\nYoung Kira:\nhttps://www.youtube.com/channel/UCT8KO9xxmsGkFPk_FpES1Aw\nhttps://twitter.com/YoungKiraFlyboy\nThani: \nhttps://www.instagram.com/beatsbythani/\nhttps://twitter.com/BeatsByThani\n\n📝TWITTER📝 Meine Gedanken in 280 Zeichen: \n http://twitter.com/Taddl\n\n📸INSTAGRAM📸 Die Welt durch meine Augen:\nhttp://www.instagram.com/taddl\n\n👔CLOTHES👔 Selbstdesignte Klamotten:\nhttps://hydra-ccc.shop/\n\n🛠MASTER🛠\nby Volker “IDR“ Gebhardt", "TJ_beastboy - FLiP iT/SKiP iT (beat by Young Kira & Thani)", 168, false, "XVK3M5P6MWI", "https://www.youtube.com/watch?v=XVK3M5P6MWI", "/downloads/music/TJ_bb/TJ_beastboy - FLiP iT⧸SKiP iT (beat by Young Kira & Thani).m4a", false, 1, ~U[2018-11-23 14:56:26Z]] 09:45:52.921 [debug] QUERY OK source="sources" db=0.5ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:52.922 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=5.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-10-12 02:58:08Z], 1] 09:45:52.924 [debug] QUERY OK source="media_items" db=1.2ms idle=5.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎧 Buy/Stream: https://ffm.to/ayfear\n🎬 Tour Video: https://www.youtube.com/watch?v=aSJPVTIeteI\n\n\n🎶 Genre: Rap\n\n💽 Label: Lowly Palace\n\n\n👉 Arrested Youth:\nhttps://www.instagram.com/arrestedyouth_/\nhttps://www.facebook.com/ArrestedYouthMusic/\nhttps://twitter.com/arrestedyouth\nhttps://www.youtube.com/channel/UCu2JQCzlbhmtSJC30d4M9Lw\n\n\n👉 Lowly Palace:\nhttps://soundcloud.com/lowlypalace\nhttps://www.youtube.com/channel/UCbr_gpafjcwT_MjV6K3Nh5g\nhttps://www.facebook.com/LowlyPalace/\nhttps://twitter.com/lowlypalace\nhttps://www.instagram.com/lowly/\n\n\n⭐️ xKito Music:\nhttps://www.facebook.com/xKitoMusic\nhttps://twitter.com/xkito_music\nhttps://instagram.com/xkito.music/\nhttps://soundcloud.com/xkitomusic\nhttps://www.youtube.com/c/xKitoMusic\n\n\n📄 Submit your music to xKito:\nhttps://goo.gl/mQkm4u\n\n\n✏️Submit your artwork:\nYou like to draw and would like your art to be featured on an xKito Music Video? Submit it here →\nhttps://goo.gl/uKfWmj\n\n\n🖼 PICTURE: https://www.pixiv.net/member_illust.php?mode=medium&illust_id=65127221\n©Artwork by: NOPPO@ジャンルビッチ\nhttps://www.pixiv.net/member.php?id=950926\n\n\n❗️ Usage Policy:\n🚫 Please get in touch with the label for usage of this track in your Youtube videos.\n\n\n➖➖➖➖➖➖➖➖➖➖➖➖\n\nFor business inquiries and other issues please contact xkitomusic@gmail.com", "Arrested Youth - Mirrors", "bd137dcb-d374-453e-8415-4f44608e1bb4", 186, false, "VgZowkPGep8", "https://www.youtube.com/watch?v=VgZowkPGep8", 40, "/downloads/music/xKito Music/Arrested Youth - Mirrors.m4a", false, false, false, 1, [], 1, ~U[2018-10-12 02:58:08Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "🎧 Buy/Stream: https://ffm.to/ayfear\n🎬 Tour Video: https://www.youtube.com/watch?v=aSJPVTIeteI\n\n\n🎶 Genre: Rap\n\n💽 Label: Lowly Palace\n\n\n👉 Arrested Youth:\nhttps://www.instagram.com/arrestedyouth_/\nhttps://www.facebook.com/ArrestedYouthMusic/\nhttps://twitter.com/arrestedyouth\nhttps://www.youtube.com/channel/UCu2JQCzlbhmtSJC30d4M9Lw\n\n\n👉 Lowly Palace:\nhttps://soundcloud.com/lowlypalace\nhttps://www.youtube.com/channel/UCbr_gpafjcwT_MjV6K3Nh5g\nhttps://www.facebook.com/LowlyPalace/\nhttps://twitter.com/lowlypalace\nhttps://www.instagram.com/lowly/\n\n\n⭐️ xKito Music:\nhttps://www.facebook.com/xKitoMusic\nhttps://twitter.com/xkito_music\nhttps://instagram.com/xkito.music/\nhttps://soundcloud.com/xkitomusic\nhttps://www.youtube.com/c/xKitoMusic\n\n\n📄 Submit your music to xKito:\nhttps://goo.gl/mQkm4u\n\n\n✏️Submit your artwork:\nYou like to draw and would like your art to be featured on an xKito Music Video? Submit it here →\nhttps://goo.gl/uKfWmj\n\n\n🖼 PICTURE: https://www.pixiv.net/member_illust.php?mode=medium&illust_id=65127221\n©Artwork by: NOPPO@ジャンルビッチ\nhttps://www.pixiv.net/member.php?id=950926\n\n\n❗️ Usage Policy:\n🚫 Please get in touch with the label for usage of this track in your Youtube videos.\n\n\n➖➖➖➖➖➖➖➖➖➖➖➖\n\nFor business inquiries and other issues please contact xkitomusic@gmail.com", "Arrested Youth - Mirrors", 186, false, "VgZowkPGep8", "https://www.youtube.com/watch?v=VgZowkPGep8", "/downloads/music/xKito Music/Arrested Youth - Mirrors.m4a", false, 1, ~U[2018-10-12 02:58:08Z]] 09:45:52.925 [debug] QUERY OK source="sources" db=0.4ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:52.925 [debug] QUERY OK source="media_items" db=0.3ms idle=4.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-04-05 13:15:45Z], 1] 09:45:52.927 [debug] QUERY OK source="media_items" db=1.1ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["®️ GANGSTER SQUAD - The music channel mostly includes gangster music, hip-hop, rap, trap, and dope remixes. Hot fresh premieres from the best rappers. 🔔 Subscribe and turn on notifications to stay updated with the best music daily.\n\n🟢 Follow our Spotify Playlists: https://spoti.fi/3jTJdl6\n\n🎵 Brennan Savage - Look At Me Now\n🎫 The premiere of the track \"Look At Me Now\" took place Nov 26, 2016\n\n◉ Follow: GANGSTER FAMILY\n► Facebook: https://goo.gl/678NUE\n► VK: https://goo.gl/aG2Gw1\n► Twitter: https://goo.gl/ZfkLWT\n► Instagram: https://goo.gl/BX1y5H\n► Soundcloud: http://bit.ly/2J0AidI\n► Spotify: https://spoti.fi/2uRrAFA\n\n🥼 GS SHOP: http://bit.ly/2DA6RM8 \n\n◉ Follow to the official artist pages: Brennan Savage\n► https://soundcloud.com/brennansavage\n► https://twitter.com/BrennanSavage\n► https://www.instagram.com/brennansavage\n► https://twitter.com/realhorsehead\n\n💵 For business applications, go to 🌐 http://www.kingsmen.group\n✉️ For any questions, go to 🌐 https://www.kingsmen.group/support\n✉️ Contact the administrator IG: https://bit.ly/3fLjVzO", "Brennan Savage - Look At Me Now", "b60f5cf6-6a21-4981-b918-bc1d53c9b1fd", 167, false, "JSoH0OXIPTs", "https://www.youtube.com/watch?v=JSoH0OXIPTs", 41, "/downloads/music/GANGSTER SQUAD/Brennan Savage - Look At Me Now.m4a", false, false, false, 1, [], 1, ~U[2017-04-05 13:15:45Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "®️ GANGSTER SQUAD - The music channel mostly includes gangster music, hip-hop, rap, trap, and dope remixes. Hot fresh premieres from the best rappers. 🔔 Subscribe and turn on notifications to stay updated with the best music daily.\n\n🟢 Follow our Spotify Playlists: https://spoti.fi/3jTJdl6\n\n🎵 Brennan Savage - Look At Me Now\n🎫 The premiere of the track \"Look At Me Now\" took place Nov 26, 2016\n\n◉ Follow: GANGSTER FAMILY\n► Facebook: https://goo.gl/678NUE\n► VK: https://goo.gl/aG2Gw1\n► Twitter: https://goo.gl/ZfkLWT\n► Instagram: https://goo.gl/BX1y5H\n► Soundcloud: http://bit.ly/2J0AidI\n► Spotify: https://spoti.fi/2uRrAFA\n\n🥼 GS SHOP: http://bit.ly/2DA6RM8 \n\n◉ Follow to the official artist pages: Brennan Savage\n► https://soundcloud.com/brennansavage\n► https://twitter.com/BrennanSavage\n► https://www.instagram.com/brennansavage\n► https://twitter.com/realhorsehead\n\n💵 For business applications, go to 🌐 http://www.kingsmen.group\n✉️ For any questions, go to 🌐 https://www.kingsmen.group/support\n✉️ Contact the administrator IG: https://bit.ly/3fLjVzO", "Brennan Savage - Look At Me Now", 167, false, "JSoH0OXIPTs", "https://www.youtube.com/watch?v=JSoH0OXIPTs", "/downloads/music/GANGSTER SQUAD/Brennan Savage - Look At Me Now.m4a", false, 1, ~U[2017-04-05 13:15:45Z]] 09:45:52.927 [debug] QUERY OK source="sources" db=0.1ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:52.928 [debug] QUERY OK source="media_items" db=0.3ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-02-25 19:49:20Z], 1] 09:45:52.987 [debug] QUERY OK source="media_items" db=58.6ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["▶️ Apashe - Majesty (feat. Wasiu) 🎵\n+1 like if you are listening to this with the volume turned all the way up! let's go! #bassheads\n\nSUBSCRIBE IF U ARE NEW: http://bit.ly/DTBSubscribe \nClick that 🔔 to turn on notifications! DO NOT MISS AN UPLOAD!\n\nTagz:\n#apashe\n#majesty\n#wasiu\n#trap\n#trapmusic\n#dropthebassline\n\n🔽 Download this Song d(^_^)b 🔽\nhttps://kannibalenrecords.lnk.to/Apashe_Requiem\n\nWallpaper Credit: \nhttps://timsaunders.deviantart.com/art/Rose-King-Wallpaper-Background-385806714\n\nLYRICS\nI'm the shit, use your throne as my toilet seat\nI demand the King's ransom for royalty \nI deserve a mansion I'm royalty \nAddress me your majesty\nThe form on your dynasty\nThe old one was diamond see (?)\nI am your highness, please\nAddress me your majesty\n\nIt's been classic, this classic in gold art\nUrban black Smith, black fisted Mozart \n[Drop]\n\nThe dream for the soul to the old laws\nGather round, we can know, watch it, throw far \nNew king has ascended a ghost yah\nCrown me your majesty oh lord\nMajesty oh lord (oh lord)\nIt's been classic, this classic in gold art\nUrban black Smith, black fisted Mozart \n\nStay cool the north king must be colder (ah)\nExhale now I look like a smoker\nThe hail me as King but when hell freezes over\nWell I reign supreme and that's hell on your shoulder \nRain drops feel like a boulder \nDrowning in a pool of your cold blood\nSuffocate them kings, nothing in lungs\nHold your breathe I'm the air to the kingdom\n\nAll the stars and galaxies \nAddress me as your majesty\nSo better say your majesty \nI might react irradically\nThrow you in the fire\nPurifier \nI'm messiah \nMy empires on the rise\nYou better find yourself a place to have it\nCrazy farmers say it \nTwas my name divine I'm aiming high\nGo look in my face or eyes \nTake you down and save your life\nGlory to the emperor \nMy temperature is rising\nAlways higher, getting violent \nAll these silencers are silent shhh\n\nThe dream for the soul to the old laws\nGather round, we can know, watch it, throw far \nNew king has ascended a ghost yah\nCrown me your majesty oh lord\nMajesty oh lord (oh lord)\nIt's been classic, this classic in gold art\nUrban black Smith, black fisted Mozart\n\n🎶 Exclusive Drop the Bassline Playlists 🎶 \n🔸 Trap: http://bit.ly/DTBTrap\n🔸 Dubstep: http://bit.ly/DTBDubstep\n🔸 Future Bass: http://bit.ly/DTBFuture\n🔸 Electro House: http://bit.ly/DTBElectro \n🔸 EDM: http://bit.ly/DTBEDM\n🔸 Memes & Themes: http://bit.ly/Memes-Themes\n\n➥ APASHE\nhttps://soundcloud.com/lindien\nhttps://www.instagram.com/apashe/\nhttps://twitter.com/Apashe_Music\nhttps://www.facebook.com/Apashe\n\n➥ Wasiu\nhttps://www.facebook.com/AfroWasiu/\nhttps://soundcloud.com/afrowasiu\nhttps://twitter.com/AfroWasiu\nhttps://www.instagram.com/AfroWasiu/\n\n➥ Drop the Bassline \nhttp://snapchat.com/add/bassdrop\nhttp://soundcloud.com/drop-the-bassline\nhttp://twitter.com/dropthebassline\nhttp://facebook.com/dropthebassline\nhttp://dropthebassline.com\n\n➥ Submit your music: http://dropthebassline.com/submit", "Apashe - Majesty (feat. Wasiu) || Trap Music", "af142f39-12c2-41f1-a0be-10b944c1ffbe", 268, false, "mSbVLB2TU3I", "https://www.youtube.com/watch?v=mSbVLB2TU3I", 42, "/downloads/music/Drop the Bassline/Apashe - Majesty (feat. Wasiu) || Trap Music.m4a", false, false, false, 1, [], 1, ~U[2018-02-25 19:49:20Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "▶️ Apashe - Majesty (feat. Wasiu) 🎵\n+1 like if you are listening to this with the volume turned all the way up! let's go! #bassheads\n\nSUBSCRIBE IF U ARE NEW: http://bit.ly/DTBSubscribe \nClick that 🔔 to turn on notifications! DO NOT MISS AN UPLOAD!\n\nTagz:\n#apashe\n#majesty\n#wasiu\n#trap\n#trapmusic\n#dropthebassline\n\n🔽 Download this Song d(^_^)b 🔽\nhttps://kannibalenrecords.lnk.to/Apashe_Requiem\n\nWallpaper Credit: \nhttps://timsaunders.deviantart.com/art/Rose-King-Wallpaper-Background-385806714\n\nLYRICS\nI'm the shit, use your throne as my toilet seat\nI demand the King's ransom for royalty \nI deserve a mansion I'm royalty \nAddress me your majesty\nThe form on your dynasty\nThe old one was diamond see (?)\nI am your highness, please\nAddress me your majesty\n\nIt's been classic, this classic in gold art\nUrban black Smith, black fisted Mozart \n[Drop]\n\nThe dream for the soul to the old laws\nGather round, we can know, watch it, throw far \nNew king has ascended a ghost yah\nCrown me your majesty oh lord\nMajesty oh lord (oh lord)\nIt's been classic, this classic in gold art\nUrban black Smith, black fisted Mozart \n\nStay cool the north king must be colder (ah)\nExhale now I look like a smoker\nThe hail me as King but when hell freezes over\nWell I reign supreme and that's hell on your shoulder \nRain drops feel like a boulder \nDrowning in a pool of your cold blood\nSuffocate them kings, nothing in lungs\nHold your breathe I'm the air to the kingdom\n\nAll the stars and galaxies \nAddress me as your majesty\nSo better say your majesty \nI might react irradically\nThrow you in the fire\nPurifier \nI'm messiah \nMy empires on the rise\nYou better find yourself a place to have it\nCrazy farmers say it \nTwas my name divine I'm aiming high\nGo look in my face or eyes \nTake you down and save your life\nGlory to the emperor \nMy temperature is rising\nAlways higher, getting violent \nAll these silencers are silent shhh\n\nThe dream for the soul to the old laws\nGather round, we can know, watch it, throw far \nNew king has ascended a ghost yah\nCrown me your majesty oh lord\nMajesty oh lord (oh lord)\nIt's been classic, this classic in gold art\nUrban black Smith, black fisted Mozart\n\n🎶 Exclusive Drop the Bassline Playlists 🎶 \n🔸 Trap: http://bit.ly/DTBTrap\n🔸 Dubstep: http://bit.ly/DTBDubstep\n🔸 Future Bass: http://bit.ly/DTBFuture\n🔸 Electro House: http://bit.ly/DTBElectro \n🔸 EDM: http://bit.ly/DTBEDM\n🔸 Memes & Themes: http://bit.ly/Memes-Themes\n\n➥ APASHE\nhttps://soundcloud.com/lindien\nhttps://www.instagram.com/apashe/\nhttps://twitter.com/Apashe_Music\nhttps://www.facebook.com/Apashe\n\n➥ Wasiu\nhttps://www.facebook.com/AfroWasiu/\nhttps://soundcloud.com/afrowasiu\nhttps://twitter.com/AfroWasiu\nhttps://www.instagram.com/AfroWasiu/\n\n➥ Drop the Bassline \nhttp://snapchat.com/add/bassdrop\nhttp://soundcloud.com/drop-the-bassline\nhttp://twitter.com/dropthebassline\nhttp://facebook.com/dropthebassline\nhttp://dropthebassline.com\n\n➥ Submit your music: http://dropthebassline.com/submit", "Apashe - Majesty (feat. Wasiu) || Trap Music", 268, false, "mSbVLB2TU3I", "https://www.youtube.com/watch?v=mSbVLB2TU3I", "/downloads/music/Drop the Bassline/Apashe - Majesty (feat. Wasiu) || Trap Music.m4a", false, 1, ~U[2018-02-25 19:49:20Z]] 09:45:52.988 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=62.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:52.989 [debug] QUERY OK source="media_items" db=0.3ms idle=61.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-10-07 10:30:00Z], 1] 09:45:52.992 [debug] QUERY OK source="media_items" db=3.2ms idle=61.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The feeeeeeeeeeeeeels\n\nDownload Unlike Pluto - Dearly Departed\nhttps://itunes.apple.com/us/artist/unlike-pluto/id570280504\n\nUnlike Pluto\nhttps://soundcloud.com/unlikepluto\nhttps://www.facebook.com/unlikepluto\nhttps://www.instagram.com/unlikepluto/\nhttps://unlikepluto.com/\nhttps://www.youtube.com/unlikepluto\n\nArtwork: https://www.zerochan.net/617088#full\n\nHeroic\nhttps://www.twitch.tv/simplyheroic\nhttps://www.facebook.com/HeroicMusic\nhttps://twitter.com/Heroic_Music\nhttps://soundcloud.com/heroicforces\nhttp://heroicmusic.printmighty.co.nz/", "Unlike Pluto - Dearly Departed", "191eb8ab-8927-4a8d-b344-9bdecda0ecf4", 212, false, "_Ttsga6Sulw", "https://www.youtube.com/watch?v=_Ttsga6Sulw", 43, "/downloads/music/Valiant/Unlike Pluto - Dearly Departed.m4a", false, false, false, 1, [], 1, ~U[2018-10-07 10:30:00Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "The feeeeeeeeeeeeeels\n\nDownload Unlike Pluto - Dearly Departed\nhttps://itunes.apple.com/us/artist/unlike-pluto/id570280504\n\nUnlike Pluto\nhttps://soundcloud.com/unlikepluto\nhttps://www.facebook.com/unlikepluto\nhttps://www.instagram.com/unlikepluto/\nhttps://unlikepluto.com/\nhttps://www.youtube.com/unlikepluto\n\nArtwork: https://www.zerochan.net/617088#full\n\nHeroic\nhttps://www.twitch.tv/simplyheroic\nhttps://www.facebook.com/HeroicMusic\nhttps://twitter.com/Heroic_Music\nhttps://soundcloud.com/heroicforces\nhttp://heroicmusic.printmighty.co.nz/", "Unlike Pluto - Dearly Departed", 212, false, "_Ttsga6Sulw", "https://www.youtube.com/watch?v=_Ttsga6Sulw", "/downloads/music/Valiant/Unlike Pluto - Dearly Departed.m4a", false, 1, ~U[2018-10-07 10:30:00Z]] 09:45:52.993 [debug] QUERY OK source="sources" db=0.2ms idle=64.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:52.993 [debug] QUERY OK source="media_items" db=0.3ms idle=6.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2016-04-04 15:00:18Z], 1] 09:45:52.995 [debug] QUERY OK source="media_items" db=1.2ms idle=5.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Pham - Movements (feat. Yung Fusion) [Official Music Video]\n\n● Subscribe: http://bit.ly/25aRTSP\nBUY: http://apple.co/200FYmQ\n\n~~~~~~~» Quote of the day «~~~~~~~\n\n\"I’m not telling you it’s going to be easy… I’m telling you it’s going to be worth it.\"\n-- Unknown\n\nShare your quotes with me in the comment section with #cloudquote\n\nCloudKid Shop: http://cldkid.com/shop\n\n~~~~~~~» Pham «~~~~~~~\n\nSoundcloud: https://soundcloud.com/itspham\nFacebook: https://www.facebook.com/phammusic\nYoutube: https://www.youtube.com/user/dawidpha...\nManagement: matt@evolvethegroup.com\n\n~~~~~~~» Yung Fusion «~~~~~~~\n\nSoundcloud: https://soundcloud.com/theyungfusion\nFacebook: https://www.facebook.com/TheYungFusio...\nYoutube: https://www.youtube.com/user/TheYungF...\nContact: Officialyungfusion@Gmail.com\n\n~~~~~~~» Artist Intelligence Agency «~~~~~~~\n\nSoundcloud: http://aia.ag/AIA-SC\nFacebook: http://aia.ag/AIA-FB\nYoutube: http://aia.ag/AIA-YT\nTwitter: http://aia.ag/AIA-TW\nInstagram: http://aia.ag/AIA-IG\n\n~~~~~~~» Cloudkid «~~~~~~~\n \n» The Paint I use: http://amzn.to/2fdOePI\n\nTwitter: https://twitter.com/CloudKidMusic\nSoundcloud: https://soundcloud.com/cloudkid\nFacebook: https://www.facebook.com/cloudkidprom...\nInstagram: https://instagram.com/cldkid\nSnapchat: @cldkid\n\nWant your track on CloudKid? It's easy! Contact me on my YouTube or message me at: CloudKidOfficial@gmail.com\n\n~~~~~~~» Legal stuff «~~~~~~~\n\nI do not own any of the content of the video and it has been uploaded for promotion purposes only. If any producer or label has an Issue with any upload, contact me directly through youtube or under CloudKidOfficial@gmail.com and the video will be taken down immediately! This includes owners of the images used.", "Pham - Movements (feat. Yung Fusion) [Official Music Video]", "0c8902a2-8b30-4142-a478-f644045931db", 233, false, "uuPMXS7dd9s", "https://www.youtube.com/watch?v=uuPMXS7dd9s", 44, "/downloads/music/CloudKid/Pham - Movements (feat. Yung Fusion) [Official Music Video].m4a", false, false, false, 1, [], 1, ~U[2016-04-04 15:00:18Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "Pham - Movements (feat. Yung Fusion) [Official Music Video]\n\n● Subscribe: http://bit.ly/25aRTSP\nBUY: http://apple.co/200FYmQ\n\n~~~~~~~» Quote of the day «~~~~~~~\n\n\"I’m not telling you it’s going to be easy… I’m telling you it’s going to be worth it.\"\n-- Unknown\n\nShare your quotes with me in the comment section with #cloudquote\n\nCloudKid Shop: http://cldkid.com/shop\n\n~~~~~~~» Pham «~~~~~~~\n\nSoundcloud: https://soundcloud.com/itspham\nFacebook: https://www.facebook.com/phammusic\nYoutube: https://www.youtube.com/user/dawidpha...\nManagement: matt@evolvethegroup.com\n\n~~~~~~~» Yung Fusion «~~~~~~~\n\nSoundcloud: https://soundcloud.com/theyungfusion\nFacebook: https://www.facebook.com/TheYungFusio...\nYoutube: https://www.youtube.com/user/TheYungF...\nContact: Officialyungfusion@Gmail.com\n\n~~~~~~~» Artist Intelligence Agency «~~~~~~~\n\nSoundcloud: http://aia.ag/AIA-SC\nFacebook: http://aia.ag/AIA-FB\nYoutube: http://aia.ag/AIA-YT\nTwitter: http://aia.ag/AIA-TW\nInstagram: http://aia.ag/AIA-IG\n\n~~~~~~~» Cloudkid «~~~~~~~\n \n» The Paint I use: http://amzn.to/2fdOePI\n\nTwitter: https://twitter.com/CloudKidMusic\nSoundcloud: https://soundcloud.com/cloudkid\nFacebook: https://www.facebook.com/cloudkidprom...\nInstagram: https://instagram.com/cldkid\nSnapchat: @cldkid\n\nWant your track on CloudKid? It's easy! Contact me on my YouTube or message me at: CloudKidOfficial@gmail.com\n\n~~~~~~~» Legal stuff «~~~~~~~\n\nI do not own any of the content of the video and it has been uploaded for promotion purposes only. If any producer or label has an Issue with any upload, contact me directly through youtube or under CloudKidOfficial@gmail.com and the video will be taken down immediately! This includes owners of the images used.", "Pham - Movements (feat. Yung Fusion) [Official Music Video]", 233, false, "uuPMXS7dd9s", "https://www.youtube.com/watch?v=uuPMXS7dd9s", "/downloads/music/CloudKid/Pham - Movements (feat. Yung Fusion) [Official Music Video].m4a", false, 1, ~U[2016-04-04 15:00:18Z]] 09:45:52.996 [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" = ?) [1] 09:45:52.996 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-03-04 00:29:04Z], 1] 09:45:52.998 [debug] QUERY OK source="media_items" db=1.0ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#Aviencloud – Taking you to a better place\n• CIKI – Syndrome [Pop]\n• Open me senpai and support the music artist, artwork artist and grab your download ʕ•͡ɛ•͡ʼʼʔ.\n• Take me with you and visit avienclouds spotify: https://open.spotify.com/user/aviencloud\n• For more music click here: http://bit.ly/1lXTxUN\n• Don't forget to check the 24/7 live stream: https://goo.gl/4EN3uN\n• For more good vibes click here: http://bit.ly/CloudyLand\n\nAviencloud Ambient Chill & Relax [Playlist] - https://goo.gl/r5IZMo\nAviencloud Classics [Playlist] - https://goo.gl/hqcVqZ\nAviencloud Happy Vibe [Playlist] - https://goo.gl/a1K63Z\n\n» Download: N/A\n\nSupport #CIKI\nhttps://soundcloud.com/ciikki\nhttps://instagram.com/ciikki\nhttps://ciikki.tumblr.com\n\nSupport us\nhttps://discord.gg/7SwuhgR\nhttps://open.spotify.com/user/aviencloud/playlist/1eHx5AddXZB5KqYOczgArk\nhttps://reddit.com/r/Aviencloud\nhttps://facebook.com/Aviencloud\nhttps://soundcloud.com/aviencloud\nhttps://instagram.com/aviencloud\nhttps://plus.google.com/+Aviencloud\nhttps://twitter.com/Aviencloud\nhttps://youtube.com/user/Aviencloud\n\n--\n\nSupport GK0322\nhttps://www.pixiv.net/member.php?id=3820953\nhttps://twitter.com/gk0322\n\nArtwork by GK0322\nhttps://www.pixiv.net/member_illust.php?mode=medium&illust_id=63376470\n\n--\n\nSubmit your music & artwork: http://www.aviencloud.com/submission", "CIKI – Syndrome", "89628198-9693-4624-8fa5-0437d1c3c47a", 221, false, "RMV3mxC3380", "https://www.youtube.com/watch?v=RMV3mxC3380", 45, "/downloads/music/Aviencloud/CIKI – Syndrome.m4a", false, false, false, 1, [], 1, ~U[2018-03-04 00:29:04Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "#Aviencloud – Taking you to a better place\n• CIKI – Syndrome [Pop]\n• Open me senpai and support the music artist, artwork artist and grab your download ʕ•͡ɛ•͡ʼʼʔ.\n• Take me with you and visit avienclouds spotify: https://open.spotify.com/user/aviencloud\n• For more music click here: http://bit.ly/1lXTxUN\n• Don't forget to check the 24/7 live stream: https://goo.gl/4EN3uN\n• For more good vibes click here: http://bit.ly/CloudyLand\n\nAviencloud Ambient Chill & Relax [Playlist] - https://goo.gl/r5IZMo\nAviencloud Classics [Playlist] - https://goo.gl/hqcVqZ\nAviencloud Happy Vibe [Playlist] - https://goo.gl/a1K63Z\n\n» Download: N/A\n\nSupport #CIKI\nhttps://soundcloud.com/ciikki\nhttps://instagram.com/ciikki\nhttps://ciikki.tumblr.com\n\nSupport us\nhttps://discord.gg/7SwuhgR\nhttps://open.spotify.com/user/aviencloud/playlist/1eHx5AddXZB5KqYOczgArk\nhttps://reddit.com/r/Aviencloud\nhttps://facebook.com/Aviencloud\nhttps://soundcloud.com/aviencloud\nhttps://instagram.com/aviencloud\nhttps://plus.google.com/+Aviencloud\nhttps://twitter.com/Aviencloud\nhttps://youtube.com/user/Aviencloud\n\n--\n\nSupport GK0322\nhttps://www.pixiv.net/member.php?id=3820953\nhttps://twitter.com/gk0322\n\nArtwork by GK0322\nhttps://www.pixiv.net/member_illust.php?mode=medium&illust_id=63376470\n\n--\n\nSubmit your music & artwork: http://www.aviencloud.com/submission", "CIKI – Syndrome", 221, false, "RMV3mxC3380", "https://www.youtube.com/watch?v=RMV3mxC3380", "/downloads/music/Aviencloud/CIKI – Syndrome.m4a", false, 1, ~U[2018-03-04 00:29:04Z]] 09:45:52.999 [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" = ?) [1] 09:45:52.999 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2016-03-25 00:57:21Z], 1] 09:45:53.001 [debug] QUERY OK source="media_items" db=1.2ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["-Disparity Team-\n \nhey guys and welcome to our 5th MEP !!\nWe had a pretty hard time finishing this xD and its kind of a new style for many editors in the crew, but we hope u will enjoy it!\n\n⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋\n\n\nIntro: MaxotsAMV || Tokyo Ghoul\n\nPart 1: https://www.youtube.com/user/xStartJfulx || Zankyo No Terror\n\nPart 2: https://www.youtube.com/user/iBlueRockerx3 || Madoka Magica\n\nPart 3: https://www.youtube.com/user/franeks19991 || Monogatari\n\nPart 4: https://www.youtube.com/user/Duczmen2 || Charlotte\n\nPart 5: https://www.youtube.com/channel/UChplI34aPC788h24fqnLJmQ || Darker Than Black \n\nPart 6: https://www.youtube.com/user/KamiToSora || Zetsuen No Tempest\n\nPart 7: https://www.youtube.com/user/TIAMVS || Fullmetal Alchemist: Brotherhood\n\nPart 8: https://www.youtube.com/user/juliocesaresteves || Hyouka\n\n\n—\n\n• Song: Zella Day - Hypnotic\n\n⇨ APPLY HERE if you want be a part of DT:\nhttp://goo.gl/forms/Ib9KJHBr7F\n\n⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋\n\n'Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for \"fair use\" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favor of fair use. No copyright infringement intended. All rights to clips and music belong to their respective owners'", "Hypnotic [MEP]", "1ae8a65e-8758-4dad-8b10-81f33fcf4885", 157, false, "UgmIVHg7Q5M", "https://www.youtube.com/watch?v=UgmIVHg7Q5M", 46, "/downloads/music/Disparity Team/Hypnotic [MEP].m4a", false, false, false, 1, [], 1, ~U[2016-03-25 00:57:21Z], ~U[2026-09-16 09:45:52Z], ~U[2026-09-16 09:45:52Z], "-Disparity Team-\n \nhey guys and welcome to our 5th MEP !!\nWe had a pretty hard time finishing this xD and its kind of a new style for many editors in the crew, but we hope u will enjoy it!\n\n⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋\n\n\nIntro: MaxotsAMV || Tokyo Ghoul\n\nPart 1: https://www.youtube.com/user/xStartJfulx || Zankyo No Terror\n\nPart 2: https://www.youtube.com/user/iBlueRockerx3 || Madoka Magica\n\nPart 3: https://www.youtube.com/user/franeks19991 || Monogatari\n\nPart 4: https://www.youtube.com/user/Duczmen2 || Charlotte\n\nPart 5: https://www.youtube.com/channel/UChplI34aPC788h24fqnLJmQ || Darker Than Black \n\nPart 6: https://www.youtube.com/user/KamiToSora || Zetsuen No Tempest\n\nPart 7: https://www.youtube.com/user/TIAMVS || Fullmetal Alchemist: Brotherhood\n\nPart 8: https://www.youtube.com/user/juliocesaresteves || Hyouka\n\n\n—\n\n• Song: Zella Day - Hypnotic\n\n⇨ APPLY HERE if you want be a part of DT:\nhttp://goo.gl/forms/Ib9KJHBr7F\n\n⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋⚋\n\n'Copyright Disclaimer Under Section 107 of the Copyright Act 1976, allowance is made for \"fair use\" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favor of fair use. No copyright infringement intended. All rights to clips and music belong to their respective owners'", "Hypnotic [MEP]", 157, false, "UgmIVHg7Q5M", "https://www.youtube.com/watch?v=UgmIVHg7Q5M", "/downloads/music/Disparity Team/Hypnotic [MEP].m4a", false, 1, ~U[2016-03-25 00:57:21Z]] 09:45:53.002 [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" = ?) [1] 09:45:53.002 [debug] QUERY OK source="media_items" db=0.3ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-04-30 10:00:00Z], 1] 09:45:53.005 [debug] QUERY OK source="media_items" db=2.2ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Video zu \"xD\", das wir spontan während der Tour gedreht haben. Danke an Lu für's filmen und schneiden. Danke an Mokubae für die Fisheye-Linse! Gönnt euch - http://bit.ly/Spotify_xD\n\nKamera & Schnitt: LUNA DARKO https://www.youtube.com/user/LunaDarkoOfficial\nProduction: HYDRA CLIQUE\nEquipment (Fisheye Objektiv): YOUNG MOKUBA https://twitter.com/youngmokuba\n\nTHANKS TO:\nNOK from the Future, Young Kira, Navy, Young Mokuba, Dorincourt, Leroy & SPACE CAMP CREW\n\n\nLYRICS:\n\n[Intro: A]\nSwerve, swerve, swerve, swerve! Jaa, eyy\n\n[Part 1: A & T]\nIch lache euch alle aus, so wie Mr. Wixa\nDein Weak-Ass-Flow hat mich getriggert\nJaja, Blitzgewitter\nWenn ich flex' auf dem Track mit dem Brickminister\nJaja, Mittelfinger\nAn die Gagos und ihren Mist auf Twitter\nIhr seid out-dated, so wie Windows Vista\nIhr meint ihr wärt die Future - ha, sicher sicher, klar\nEy, Flowwechsel, die so fresh sind, hat keiner von euch Lowlevels\nWill ich 'nen fordernden Gegner, dann müsst' ich mich klonen oder meinen Bro batteln\nYou don't get it, ne, versteh'n tut ihr gar nix\nFür euch sind wir nur ein Fehler der Matrix, was wollt ihr tun, wenn DAT ADAM aufs Gas tritt?\nOh damn, oh damn, das hätte niemand gedacht\nEy, die YouTube-Lelleks zeigen steady, wie man es macht\nSag mir, wer von den Lames packt so viel Stil in die Parts?\nWir machen dasselbe mit der Scene wie Freezer mit Namek\nBoom, we blow it up und Deutsche Rapper call'n Domian, brr\nOhne Spaß, wir drei sind on fire wie Ponita, ey\nIhr Style ist nicht eigen und weiter verbreitet als Comic Sans, ey\nBei Weitem ist keiner so nice wie die Hydra - you know it, bruh\n\n[Bridge 1]\n„Yeah, man – you know these German Rappers?“\n„Oh, fuck 'em man!“\n„They want to be like American rappers so bad right now.“\n„Yeah, that’s true!“\n„They just talkin 'bout fucking bitches, making money and all that lame ass boring shit.“\n\n[Part 2: A & T]\nYeah, geh und zähl dein Cash, zähl dein Cash, wir sorgen für 'nen Themawechsel\nIn der Welt ist stupid sein jetzt der Megatrend\nGeh mal weg, denn wenn wir spray'n, dann mit Vehemenz\nPermanent sind die DFA-Boys in ihr'm Element\nUnd bleiben wie sie sind, einfach nur gechillt - uns zu haten hat leider keinen Sinn\nDrei verspielte Kids zeigen ihre Skills, droppen Hits und besteigen den Olymp\nSchweben über Beats, leben die Musik - jede Selbstkritik wäre Blasphemie\nLad' 'ne Gun mit den Versen und den Skeems, ziel' auf euch und entleer' das Magazin\nWir spitten Fire wie ein Charizard\nImmer große Klappe wie ein Karnimani, bruh\nWir durchschauen all ihre Moves, Homie, Sharingan\nDer Sound ballert, wie ein fucking Kamehameha, woah\nWir flexen so ab wie 'ne Kreissäge\nEcht lächerlich, dass ihr euch einredet\nDass das, was ihr macht, die Future ist\nIch lach' über euch und die Scheißszene\nHahahaha, hahahaha, hahahaha, hahahaha\n\n[Bridge 2]\n„Yo brother!“\n„Mhm?“\n„You know, german rappers are really creative.“\n„Oh really?“\n„Yeah, they are creative when it comes to inventing new sell-out moves. You know, they want you to buy their album years before they even put out some music. They put stupid shit no one needs in ugly boxes, call them deluxe, just to push their revenue, which leads to better chart rankings in Germany.“\n„That’s hella wack!“\n\n[Part 3: A & T]\nYeah - genau das sind die Moves, mein Homie, jaja\nWarum sind sie solche Tools, mein Homie? Oh damn\nWir sind cold wie ein fuckin' Snowman\nUnd wie ein Virus für ihr fuckin' Program\nSie sind trapped im Jetzt und wir schon im Morgen, jajaja\nYeah, wir sind die motherfuckin' Babas\nZerfetzen in Sekunden wie Piranhas\nEure Promo ist nicht mehr als Propaganda\nBin zwar kein Japaner, aber euch nenne ich „Baka“\nHaha, haha - ihr seid alle lachhaft\nMein Magen tut weh, weil ich so lach', es ist unfassbar\nHahahahahaha\nWir bändigen Flames wie der Avatar\nTell me, wenn sie der Newshit sind\nWarum bring'n sie dann nichts Neues?\nManchmal gönn' ich mir, was in diesem Land als Coolshit gilt\nUnd bin disappointed\nFucking disappointed! - Einfach nur annoying (urgh)\nUnd wir soll'n also die sein, die hier Toys sind?\nWas vor Jahr'n schon von uns kam, bring'n Blitzmerker erst heute\nWir changen das Game, " <> ..., "DAT ADAM - xD (HOW TO FLEX & TROLL A SCENE)", "88711e77-671a-41d5-b8e4-fef07ddbe510", 240, false, "0W_k5WzaCSY", "https://www.youtube.com/watch?v=0W_k5WzaCSY", 47, "/downloads/music/DAT ADAM/DAT ADAM - xD (HOW TO FLEX & TROLL A SCENE).m4a", false, false, false, 1, [], 1, ~U[2017-04-30 10:00:00Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "Video zu \"xD\", das wir spontan während der Tour gedreht haben. Danke an Lu für's filmen und schneiden. Danke an Mokubae für die Fisheye-Linse! Gönnt euch - http://bit.ly/Spotify_xD\n\nKamera & Schnitt: LUNA DARKO https://www.youtube.com/user/LunaDarkoOfficial\nProduction: HYDRA CLIQUE\nEquipment (Fisheye Objektiv): YOUNG MOKUBA https://twitter.com/youngmokuba\n\nTHANKS TO:\nNOK from the Future, Young Kira, Navy, Young Mokuba, Dorincourt, Leroy & SPACE CAMP CREW\n\n\nLYRICS:\n\n[Intro: A]\nSwerve, swerve, swerve, swerve! Jaa, eyy\n\n[Part 1: A & T]\nIch lache euch alle aus, so wie Mr. Wixa\nDein Weak-Ass-Flow hat mich getriggert\nJaja, Blitzgewitter\nWenn ich flex' auf dem Track mit dem Brickminister\nJaja, Mittelfinger\nAn die Gagos und ihren Mist auf Twitter\nIhr seid out-dated, so wie Windows Vista\nIhr meint ihr wärt die Future - ha, sicher sicher, klar\nEy, Flowwechsel, die so fresh sind, hat keiner von euch Lowlevels\nWill ich 'nen fordernden Gegner, dann müsst' ich mich klonen oder meinen Bro batteln\nYou don't get it, ne, versteh'n tut ihr gar nix\nFür euch sind wir nur ein Fehler der Matrix, was wollt ihr tun, wenn DAT ADAM aufs Gas tritt?\nOh damn, oh damn, das hätte niemand gedacht\nEy, die YouTube-Lelleks zeigen steady, wie man es macht\nSag mir, wer von den Lames packt so viel Stil in die Parts?\nWir machen dasselbe mit der Scene wie Freezer mit Namek\nBoom, we blow it up und Deutsche Rapper call'n Domian, brr\nOhne Spaß, wir drei sind on fire wie Ponita, ey\nIhr Style ist nicht eigen und weiter verbreitet als Comic Sans, ey\nBei Weitem ist keiner so nice wie die Hydra - you know it, bruh\n\n[Bridge 1]\n„Yeah, man – you know these German Rappers?“\n„Oh, fuck 'em man!“\n„They want to be like American rappers so bad right now.“\n„Yeah, that’s true!“\n„They just talkin 'bout fucking bitches, making money and all that lame ass boring shit.“\n\n[Part 2: A & T]\nYeah, geh und zähl dein Cash, zähl dein Cash, wir sorgen für 'nen Themawechsel\nIn der Welt ist stupid sein jetzt der Megatrend\nGeh mal weg, denn wenn wir spray'n, dann mit Vehemenz\nPermanent sind die DFA-Boys in ihr'm Element\nUnd bleiben wie sie sind, einfach nur gechillt - uns zu haten hat leider keinen Sinn\nDrei verspielte Kids zeigen ihre Skills, droppen Hits und besteigen den Olymp\nSchweben über Beats, leben die Musik - jede Selbstkritik wäre Blasphemie\nLad' 'ne Gun mit den Versen und den Skeems, ziel' auf euch und entleer' das Magazin\nWir spitten Fire wie ein Charizard\nImmer große Klappe wie ein Karnimani, bruh\nWir durchschauen all ihre Moves, Homie, Sharingan\nDer Sound ballert, wie ein fucking Kamehameha, woah\nWir flexen so ab wie 'ne Kreissäge\nEcht lächerlich, dass ihr euch einredet\ (truncated) 09:45:53.006 [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" = ?) [1] 09:45:53.006 [debug] QUERY OK source="media_items" db=0.3ms idle=5.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-04-12 13:00:05Z], 1] 09:45:53.008 [debug] QUERY OK source="media_items" db=1.2ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["◤Thanks For Watching◢\n▼Click ''Show More'' for important links and info ▼\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n➥ Nightcore → In The Air\n➥ Genre: House\n➥ Original Title: Raven & Kreyn - In The Air\n➥ Download Link: /InTheAirID\n➥ Picture: http://www./member_illust.php?mode=medium&illust_id=59592660\n➥ Artist (artwork): http://www./member.php?id=9685977\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n▼Support the Artists▼\n\n➥ Raven & Kreyn\n●http://soundcloud.com/ravenkreyn\n●http://facebook.com/ravenkreyn\n●http://instagram.com/ravenkreyn\n\n➥ NCS\n●http://soundcloud.com/NoCopyrightSounds\n●http://instagram.com/NoCopyrightSounds\n●http://facebook.com/NoCopyrightSounds\n●http://twitch.tv/NoCopyrightSounds\n●http://twitter.com/NCSounds\n●http://spoti.fi/NCS\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n▼Support me here▼\n\n●Instagram: https://goo.gl/sIIU9R\n●Discord: https://discord.gg/8mr4Hjy\n●Twitch.tv: http://goo.gl/HuXddd\n●Facebook: http://goo.gl/9lE8f4\n●Soundcloud: https://goo.gl/DhRyyk\n●Donate: https://goo.gl/PjOzEq\n●My Promotion Channel: https://goo.gl/ULDA2l\n●Twitter: https://goo.gl/zrZW9x\n●Google+ : https://goo.gl/vGMOqM\n\n●For business inquiries: nepgearftw@gmail.com\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n▼DISCLAIMER▼\n\nI don't own anything in the video, including the audio and picture.\nThe credits go to the respective owners. I've just ''nightcored'' the song, \nwhich means i pitched it up and sped it up. If you are the owner of the song \nplease send me an email on this mail address and i will remove the song:\nnepgearftw@gmail.com\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ Who are you?\nMy channel name used to be ''Amazing Nightcore''\nI've changed it to ''Shiko'' https://youtu.be/iejEKTCE8GI", "Nightcore - In The Air ✔", "07d70795-ce1b-4b65-8a0b-a4d27f1eae5b", 127, false, "oW1xCAyT7Ko", "https://www.youtube.com/watch?v=oW1xCAyT7Ko", 48, "/downloads/music/Shiko/Nightcore - In The Air ✔.m4a", false, false, false, 1, [], 1, ~U[2017-04-12 13:00:05Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "◤Thanks For Watching◢\n▼Click ''Show More'' for important links and info ▼\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n➥ Nightcore → In The Air\n➥ Genre: House\n➥ Original Title: Raven & Kreyn - In The Air\n➥ Download Link: /InTheAirID\n➥ Picture: http://www./member_illust.php?mode=medium&illust_id=59592660\n➥ Artist (artwork): http://www./member.php?id=9685977\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n▼Support the Artists▼\n\n➥ Raven & Kreyn\n●http://soundcloud.com/ravenkreyn\n●http://facebook.com/ravenkreyn\n●http://instagram.com/ravenkreyn\n\n➥ NCS\n●http://soundcloud.com/NoCopyrightSounds\n●http://instagram.com/NoCopyrightSounds\n●http://facebook.com/NoCopyrightSounds\n●http://twitch.tv/NoCopyrightSounds\n●http://twitter.com/NCSounds\n●http://spoti.fi/NCS\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n▼Support me here▼\n\n●Instagram: https://goo.gl/sIIU9R\n●Discord: https://discord.gg/8mr4Hjy\n●Twitch.tv: http://goo.gl/HuXddd\n●Facebook: http://goo.gl/9lE8f4\n●Soundcloud: https://goo.gl/DhRyyk\n●Donate: https://goo.gl/PjOzEq\n●My Promotion Channel: https://goo.gl/ULDA2l\n●Twitter: https://goo.gl/zrZW9x\n●Google+ : https://goo.gl/vGMOqM\n\n●For business inquiries: nepgearftw@gmail.com\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n▼DISCLAIMER▼\n\nI don't own anything in the video, including the audio and picture.\nThe credits go to the respective owners. I've just ''nightcored'' the song, \nwhich means i pitched it up and sped it up. If you are the owner of the song \nplease send me an email on this mail address and i will remove the song:\nnepgearftw@gmail.com\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ Who are you?\nMy channel name used to be ''Amazing Nightcore''\nI've changed it to ''Shiko'' https://youtu.be/iejEKTCE8GI", "Nightcore - In The Air ✔", 127, false, "oW1xCAyT7Ko", "https://www.youtube.com/watch?v=oW1xCAyT7Ko", "/downloads/music/Shiko/Nightcore - In The Air ✔.m4a", false, 1, ~U[2017-04-12 13:00:05Z]] 09:45:53.009 [debug] QUERY OK source="sources" db=0.5ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:53.010 [debug] QUERY OK source="media_items" db=0.3ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-02-12 19:29:21Z], 1] 09:45:53.012 [debug] QUERY OK source="media_items" db=1.1ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["♫ Free Download: https://click.dj/stelouse/bryce-fox-horns-stlouse-remix\n♥ Heart it on HypeMachine: http://hypem.com/track/2kw6s/Bryce+Fox+-+Horns+(ST%C3%A9LOUSE+Remix\n\n[Genre: Electronic]\n\n\n►STéLOUSE:\nhttps://soundcloud.com/stelouse\nhttps://www.instagram.com/stelouse/\nhttps://www.facebook.com/stelouse\nhttps://twitter.com/stelouse\nhttp://stelouse.com/\n\n\n►Bryce Fox:\nhttps://soundcloud.com/brycefoxed\nhttps://www.instagram.com/brycefoxed/?hl=en\nhttps://twitter.com/BryceFoxed\n\n\n►xKito Music:\nhttps://www.facebook.com/xKitoMusic\nhttps://twitter.com/xkito_music\nhttps://instagram.com/xkito_m/\nhttps://soundcloud.com/xkitomusic\nhttps://www.youtube.com/c/xKitoMusic\n\n\n►Submit your music to xKito:\nhttps://www.toneden.io/xkito\n\n\n►SUBMIT YOUR ARTWORK!\nYou like to draw and would like your art to be featured on an xKito Music Video? Send an email to xkitomusic@gmail.com with your art attached!\n\n\n►PICTURE → http://www.pixiv.net/member_illust.php?mode=medium&illust_id=59459784\n©Artwork by: 駿河クロイツ\nhttp://www.pixiv.net/member.php?id=2361021\nhttps://twitter.com/kurenai153\nhttp://rozariomain.tumblr.com/\n\n\n►Usage Policy:\n✖ Please get in touch with the artist(s) for usage of this track in your Youtube videos.\n\n\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n•IMPORTANT: \nIf any artist or label has copyright issues with my videos (including artists of the images used), please send an e-mail to: xkitomusic@gmail.com and I will remove it immediately!", "Bryce Fox - Horns (STéLOUSE Remix)", "03d79711-7230-4f7d-a677-cc91f4923011", 204, false, "Q_NB5luxtic", "https://www.youtube.com/watch?v=Q_NB5luxtic", 49, "/downloads/music/xKito Music/Bryce Fox - Horns (STéLOUSE Remix).m4a", false, false, false, 1, [], 1, ~U[2017-02-12 19:29:21Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "♫ Free Download: https://click.dj/stelouse/bryce-fox-horns-stlouse-remix\n♥ Heart it on HypeMachine: http://hypem.com/track/2kw6s/Bryce+Fox+-+Horns+(ST%C3%A9LOUSE+Remix\n\n[Genre: Electronic]\n\n\n►STéLOUSE:\nhttps://soundcloud.com/stelouse\nhttps://www.instagram.com/stelouse/\nhttps://www.facebook.com/stelouse\nhttps://twitter.com/stelouse\nhttp://stelouse.com/\n\n\n►Bryce Fox:\nhttps://soundcloud.com/brycefoxed\nhttps://www.instagram.com/brycefoxed/?hl=en\nhttps://twitter.com/BryceFoxed\n\n\n►xKito Music:\nhttps://www.facebook.com/xKitoMusic\nhttps://twitter.com/xkito_music\nhttps://instagram.com/xkito_m/\nhttps://soundcloud.com/xkitomusic\nhttps://www.youtube.com/c/xKitoMusic\n\n\n►Submit your music to xKito:\nhttps://www.toneden.io/xkito\n\n\n►SUBMIT YOUR ARTWORK!\nYou like to draw and would like your art to be featured on an xKito Music Video? Send an email to xkitomusic@gmail.com with your art attached!\n\n\n►PICTURE → http://www.pixiv.net/member_illust.php?mode=medium&illust_id=59459784\n©Artwork by: 駿河クロイツ\nhttp://www.pixiv.net/member.php?id=2361021\nhttps://twitter.com/kurenai153\nhttp://rozariomain.tumblr.com/\n\n\n►Usage Policy:\n✖ Please get in touch with the artist(s) for usage of this track in your Youtube videos.\n\n\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n•IMPORTANT: \nIf any artist or label has copyright issues with my videos (including artists of the images used), please send an e-mail to: xkitomusic@gmail.com and I will remove it immediately!", "Bryce Fox - Horns (STéLOUSE Remix)", 204, false, "Q_NB5luxtic", "https://www.youtube.com/watch?v=Q_NB5luxtic", "/downloads/music/xKito Music/Bryce Fox - Horns (STéLOUSE Remix).m4a", false, 1, ~U[2017-02-12 19:29:21Z]] 09:45:53.012 [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" = ?) [1] 09:45:53.013 [debug] QUERY OK source="media_items" db=0.4ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-03-24 20:29:19Z], 1] 09:45:53.014 [debug] QUERY OK source="media_items" db=0.9ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Vanic - Samurai (feat. Katy Tiz) (Spirix Remix)\n\n⬙ FAVOURITES ON SPOTIFY ⬙\n⇥ http://mrsuicidesheep.com/favourites\n\nSamurai!\nDownload... http://apple.co/2mZ5ESn\n\nSpirix\nhttps://soundcloud.com/spirixmusic\nhttps://www.facebook.com/spirixmusic\nhttps://twitter.com/spirixmusic\nhttps://www.instagram.com/spirixofficial/\n\nVanic\nhttps://soundcloud.com/djvanic\nhttps://www.facebook.com/djvanic\nhttps://twitter.com/djVANIC\nhttps://www.instagram.com/djvanic/\n\nArtwork by Guweiz\nhttp://fav.me/d9v76x8\nhttps://twitter.com/ttguweiz\nhttps://www.patreon.com/guweiz\nhttps://www.facebook.com/guweiz\n\n⬗ Sheepy Store ⬗\n⇥ http://mrsuicidesheep.com/store\n\n⬖ Submit Music & Art ⬖\n⇥ http://mrsuicidesheep.com/submit\n\n⬙ Sheepy Instagram ⬙\n⇥ http://mrsuicidesheep.com/insta\n\n⬘ Spotify: Channel Uploads ⬘\n⇥ http://mrsuicidesheep.com/channeluploads\n\n⬗ Spotify: Seeking Blue ⬗\n⇥ http://mrsuicidesheep.com/skblueplaylist", "Vanic - Samurai (feat. Katy Tiz) (Spirix Remix)", "54fc9d9b-980a-4904-9df8-477757763883", 186, false, "0khZ8h5szik", "https://www.youtube.com/watch?v=0khZ8h5szik", 50, "/downloads/music/MrSuicideSheep/Vanic - Samurai (feat. Katy Tiz) (Spirix Remix).m4a", false, false, false, 1, [], 1, ~U[2017-03-24 20:29:19Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "Vanic - Samurai (feat. Katy Tiz) (Spirix Remix)\n\n⬙ FAVOURITES ON SPOTIFY ⬙\n⇥ http://mrsuicidesheep.com/favourites\n\nSamurai!\nDownload... http://apple.co/2mZ5ESn\n\nSpirix\nhttps://soundcloud.com/spirixmusic\nhttps://www.facebook.com/spirixmusic\nhttps://twitter.com/spirixmusic\nhttps://www.instagram.com/spirixofficial/\n\nVanic\nhttps://soundcloud.com/djvanic\nhttps://www.facebook.com/djvanic\nhttps://twitter.com/djVANIC\nhttps://www.instagram.com/djvanic/\n\nArtwork by Guweiz\nhttp://fav.me/d9v76x8\nhttps://twitter.com/ttguweiz\nhttps://www.patreon.com/guweiz\nhttps://www.facebook.com/guweiz\n\n⬗ Sheepy Store ⬗\n⇥ http://mrsuicidesheep.com/store\n\n⬖ Submit Music & Art ⬖\n⇥ http://mrsuicidesheep.com/submit\n\n⬙ Sheepy Instagram ⬙\n⇥ http://mrsuicidesheep.com/insta\n\n⬘ Spotify: Channel Uploads ⬘\n⇥ http://mrsuicidesheep.com/channeluploads\n\n⬗ Spotify: Seeking Blue ⬗\n⇥ http://mrsuicidesheep.com/skblueplaylist", "Vanic - Samurai (feat. Katy Tiz) (Spirix Remix)", 186, false, "0khZ8h5szik", "https://www.youtube.com/watch?v=0khZ8h5szik", "/downloads/music/MrSuicideSheep/Vanic - Samurai (feat. Katy Tiz) (Spirix Remix).m4a", false, 1, ~U[2017-03-24 20:29:19Z]] 09:45:53.015 [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" = ?) [1] 09:45:53.015 [debug] QUERY OK source="media_items" db=0.4ms idle=3.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2015-04-30 17:13:18Z], 1] 09:45:53.017 [debug] QUERY OK source="media_items" db=1.2ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["⭐️ Follow us on Spotify:\n➥ https://divergemusic.group/SpotifyPlaylists\n\n♫ Artist: Klaypex, GRÉTA\nTrack: Robot Love\nGenre: Future Funk\n\n♫ Free Download\n● https://soundcloud.com/klaypex/robotlove\n\n♫ Support on iTunes\n● http://smarturl.it/The-FutureEP\n \n★ Klaypex\nSoundcloud → https://soundcloud.com/klaypex\nFacebook → http://www.facebook.com/Klaypex/\nYoutube → http://www.youtube.com/Klaypex\nWebsite → http://www.klaypex.com/\nTwitter → http://www.twitter.com/Klaypex\n\n★ GRÉTA\nSoundcloud → https://soundcloud.com/gretakaren\nFacebook → https://www.facebook.com/greta.k.gretarsdottir\nYoutube → https://www.youtube.com/gretakaren1\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n★ Background: http://i.imgur.com/bFvxyjE.png\n• Artwork by Dangmill\nhttp://www.pixiv.net/member.php?id=5155946\n\n★ Intro Background: http://i.imgur.com/XEwywJl.jpg\n• Artwork by Hiten\nhttp://www.pixiv.net/member.php?id=490219\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n© Diversity\nTwitter → https://twitter.com/DiversPromo\nWebsite → http://www.edm-diversity.com/\nYoutube → http://www.youtube.com/user/DiavelNN\nBeatport → https://pro.beatport.com/label/diversity-recordings/46335\nGoogle+ → https://plus.google.com/+edmDiversityRecordings\nFacebook → https://www.facebook.com/diverpromos\nSoundcloud → https://soundcloud.com/diversitypromotions\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nIf any producer or label has an issue with any of the uploads please get in contact (ztitaniumzz@gmail.com) and it will be deleted immediately (this includes artists of the images used) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n🚫 Copyrights\nAll of the music you hear on this channel is copyrighted and has been provided to this channel with permission from the artists/labels.\nPlease get in touch with the label for usage of this track in your videos.", "Klaypex ft. GRÉTA - Robot Love", "f0cf141b-abbc-42c2-ab9a-357372a4c643", 230, false, "XShdmeKmNxw", "https://www.youtube.com/watch?v=XShdmeKmNxw", 51, "/downloads/music/Diversity/Klaypex ft. GRÉTA - Robot Love.m4a", false, false, false, 1, [], 1, ~U[2015-04-30 17:13:18Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "⭐️ Follow us on Spotify:\n➥ https://divergemusic.group/SpotifyPlaylists\n\n♫ Artist: Klaypex, GRÉTA\nTrack: Robot Love\nGenre: Future Funk\n\n♫ Free Download\n● https://soundcloud.com/klaypex/robotlove\n\n♫ Support on iTunes\n● http://smarturl.it/The-FutureEP\n \n★ Klaypex\nSoundcloud → https://soundcloud.com/klaypex\nFacebook → http://www.facebook.com/Klaypex/\nYoutube → http://www.youtube.com/Klaypex\nWebsite → http://www.klaypex.com/\nTwitter → http://www.twitter.com/Klaypex\n\n★ GRÉTA\nSoundcloud → https://soundcloud.com/gretakaren\nFacebook → https://www.facebook.com/greta.k.gretarsdottir\nYoutube → https://www.youtube.com/gretakaren1\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n★ Background: http://i.imgur.com/bFvxyjE.png\n• Artwork by Dangmill\nhttp://www.pixiv.net/member.php?id=5155946\n\n★ Intro Background: http://i.imgur.com/XEwywJl.jpg\n• Artwork by Hiten\nhttp://www.pixiv.net/member.php?id=490219\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n© Diversity\nTwitter → https://twitter.com/DiversPromo\nWebsite → http://www.edm-diversity.com/\nYoutube → http://www.youtube.com/user/DiavelNN\nBeatport → https://pro.beatport.com/label/diversity-recordings/46335\nGoogle+ → https://plus.google.com/+edmDiversityRecordings\nFacebook → https://www.facebook.com/diverpromos\nSoundcloud → https://soundcloud.com/diversitypromotions\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nIf any producer or label has an issue with any of the uploads please get in contact (ztitaniumzz@gmail.com) and it will be deleted immediately (this includes artists of the images used) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n🚫 Copyrights\nAll of the music you hear on this channel is copyrighted and has been provided to this channel with permission from the artists/labels.\nPlease get in touch with the label for usage of this track in your videos.", "Klaypex ft. GRÉTA - Robot Love", 230, false, "XShdmeKmNxw", "https://www.youtube.com/watch?v=XShdmeKmNxw", "/downloads/music/Diversity/Klaypex ft. GRÉTA - Robot Love.m4a", false, 1, ~U[2015-04-30 17:13:18Z]] 09:45:53.018 [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" = ?) [1] 09:45:53.019 [debug] QUERY OK source="media_items" db=0.4ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2015-04-12 04:06:33Z], 1] 09:45:53.021 [debug] QUERY OK source="media_items" db=1.2ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["♫ Artist: Flaremode\nTrack: Saturday\nGenre: Funk\n\n♫ Free Download\n● http://click.dj/diversityrecs/flaremode-saturday\n\n♫ Listen on Spotify\n● http://open.spotify.com/album/1TXMpnllY18767wQV6QBBh\n \n★ Flaremode\nSoundcloud → https://soundcloud.com/flaremode\nFacebook → http://www.facebook.com/flaremodeofficial\nYoutube → http://www.youtube.com/user/FLAREMODETV\nTwitter → http://twitter.com/flaremode\n\n★ Diversity\nTwitter → https://twitter.com/DiversPromo\nWebsite → http://www.edm-diversity.com/\nYoutube → http://www.youtube.com/user/DiavelNN\nBeatport → https://pro.beatport.com/label/diversity-recordings/46335\nGoogle+ → https://plus.google.com/+edmDiversityRecordings\nFacebook → https://www.facebook.com/diverpromos\nSoundcloud → https://soundcloud.com/diversitypromotions\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n★ Background: http://i.imgur.com/1Ka1vUA.jpg\n• Artwork by リキ-ト\nhttp://www.pixiv.net/member.php?id=7905100\n\n★ Intro Background: http://i.imgur.com/QsEbKBz.jpg\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nIf any producer or label has an issue with any of the uploads please get in contact (ztitaniumzz@gmail.com) and it will be deleted immediately (this includes artists of the images used) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n🚫 Copyrights\nAll of the music you hear on this channel is copyrighted and has been provided to this channel with permission from the artists/labels.\nPlease get in touch with the label for usage of this track in your videos.", "Flaremode - Saturday | Diversity Release", "dc3b14bd-58f0-45be-885c-339484dfa000", 323, false, "exzFCMI0KJQ", "https://www.youtube.com/watch?v=exzFCMI0KJQ", 52, "/downloads/music/Diversity/Flaremode - Saturday | Diversity Release.m4a", false, false, false, 1, [], 1, ~U[2015-04-12 04:06:33Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "♫ Artist: Flaremode\nTrack: Saturday\nGenre: Funk\n\n♫ Free Download\n● http://click.dj/diversityrecs/flaremode-saturday\n\n♫ Listen on Spotify\n● http://open.spotify.com/album/1TXMpnllY18767wQV6QBBh\n \n★ Flaremode\nSoundcloud → https://soundcloud.com/flaremode\nFacebook → http://www.facebook.com/flaremodeofficial\nYoutube → http://www.youtube.com/user/FLAREMODETV\nTwitter → http://twitter.com/flaremode\n\n★ Diversity\nTwitter → https://twitter.com/DiversPromo\nWebsite → http://www.edm-diversity.com/\nYoutube → http://www.youtube.com/user/DiavelNN\nBeatport → https://pro.beatport.com/label/diversity-recordings/46335\nGoogle+ → https://plus.google.com/+edmDiversityRecordings\nFacebook → https://www.facebook.com/diverpromos\nSoundcloud → https://soundcloud.com/diversitypromotions\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\n★ Background: http://i.imgur.com/1Ka1vUA.jpg\n• Artwork by リキ-ト\nhttp://www.pixiv.net/member.php?id=7905100\n\n★ Intro Background: http://i.imgur.com/QsEbKBz.jpg\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nIf any producer or label has an issue with any of the uploads please get in contact (ztitaniumzz@gmail.com) and it will be deleted immediately (this includes artists of the images used) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\n🚫 Copyrights\nAll of the music you hear on this channel is copyrighted and has been provided to this channel with permission from the artists/labels.\nPlease get in touch with the label for usage of this track in your videos.", "Flaremode - Saturday | Diversity Release", 323, false, "exzFCMI0KJQ", "https://www.youtube.com/watch?v=exzFCMI0KJQ", "/downloads/music/Diversity/Flaremode - Saturday | Diversity Release.m4a", false, 1, ~U[2015-04-12 04:06:33Z]] 09:45:53.021 [debug] QUERY OK source="sources" db=0.4ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:53.022 [debug] QUERY OK source="media_items" db=0.3ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-02-25 00:01:18Z], 1] 09:45:53.023 [debug] QUERY OK source="media_items" db=0.9ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["ily Nards :) - aden\n\n\n\nOriginal Video: https://www.youtube.com/watch?v=KFtKs...\n\n\nEditor : https://www.youtube.com/channel/UCqDp...\n\n\nSong: https://soundcloud.com/tennysonmusic/...\n\n\n\nMusic Submissions: http://animevibe.co\nMusic Submissions: http://animevibe.co\nMusic Submissions: http://animevibe.co\n\n\n\n\n\nAV Merch: https://teespring.com/stores/animevibe\n\n\nAnimeVibe:\nTwitter: https://twitter.com/AnimeVibe_\nDK's Twitter: https://twitter.com/Animevibe_dk\nInsta: https://www.instagram.com/avrecords.co\nSoundcloud: https://soundcloud.com/animevibe\nTwitch: http://www.twitch.tv/animevibe_\n\n\n\nDisclaimer*\nWe do not own ANY rights to any of the music or footage we share, if you have a problem with our way of promotion, shoot us an email and we will take the video down if needed. AnimeVibe2014@gmail.com", "For You x Nards (AMV)", "5e90ca17-ab14-4ea1-ac8e-d02b38ecc74b", 141, false, "whlW8RY-Jl0", "https://www.youtube.com/watch?v=whlW8RY-Jl0", 53, "/downloads/music/AnimeVibe/For You x Nards (AMV).m4a", false, false, false, 1, [], 1, ~U[2017-02-25 00:01:18Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "ily Nards :) - aden\n\n\n\nOriginal Video: https://www.youtube.com/watch?v=KFtKs...\n\n\nEditor : https://www.youtube.com/channel/UCqDp...\n\n\nSong: https://soundcloud.com/tennysonmusic/...\n\n\n\nMusic Submissions: http://animevibe.co\nMusic Submissions: http://animevibe.co\nMusic Submissions: http://animevibe.co\n\n\n\n\n\nAV Merch: https://teespring.com/stores/animevibe\n\n\nAnimeVibe:\nTwitter: https://twitter.com/AnimeVibe_\nDK's Twitter: https://twitter.com/Animevibe_dk\nInsta: https://www.instagram.com/avrecords.co\nSoundcloud: https://soundcloud.com/animevibe\nTwitch: http://www.twitch.tv/animevibe_\n\n\n\nDisclaimer*\nWe do not own ANY rights to any of the music or footage we share, if you have a problem with our way of promotion, shoot us an email and we will take the video down if needed. AnimeVibe2014@gmail.com", "For You x Nards (AMV)", 141, false, "whlW8RY-Jl0", "https://www.youtube.com/watch?v=whlW8RY-Jl0", "/downloads/music/AnimeVibe/For You x Nards (AMV).m4a", false, 1, ~U[2017-02-25 00:01:18Z]] 09:45:53.024 [debug] QUERY OK source="sources" db=0.1ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:53.024 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2012-12-06 14:14:31Z], 1] 09:45:53.026 [debug] QUERY OK source="media_items" db=1.0ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Download 'Delight': https://www.junodownload.com/products/delight/2069252-02/\n\n♫ Follow Jamie Berry:\n♥ Soundcloud: https://soundcloud.com/jamie-berry\n♥ Facebook: https://www.facebook.com/jamie.berry3\n♥ Website: http://www.flakrecords.com/jamieberry.php\n\n♫ Follow Octavia Rose:\n♥ Soundcloud: https://soundcloud.com/octavia-rose\n♥I nstagram: https://www.instagram.com/octaviarosemusic/\n♥ Facebook: https://www.facebook.com/Octavia-Rose-102835114395692/\n\n♫ Follow Flak Records: \n♥ Soundcloud: https://soundcloud.com/flakrecords\n♥ Facebook: https://www.facebook.com/pages/Flak-Records/233465740030102\n♥ Twitter: http://twitter.com/FLAKRecords\n\n♫ Support Funky Panda\n♥ Website: http://www.funkypanda.net/\n♥ Spotify: https://open.spotify.com/user/funky_way\n♥ Facebook: https://www.facebook.com/funkypanda\n♥ SoundCloud: https://soundcloud.com/fnkypanda\n♥ Twitter: https://twitter.com/FunkyPanda\n♥ YouTube: https://www.youtube.com/FunkyPanda\n♥ Merch: https://designbyhumans.com/shop/FunkyPanda\n\nStream FunkyWay on Spotify: https://open.spotify.com/user/funky_way\n\nDo you want to Showcase your Music on Funky Panda? Be sure to send all your music links to demo@funkypanda.net\n\n▼ ▼ ▼\n\nArtwork & Animation by Petirep\n♥ DeviantArt: http://petirep.deviantart.com/\n\n∞ Thank you for Listening to YouTube's #1 Funky Network ∞\n\n#Electro #Swing #Dance", "#ElectroSwing | Jamie Berry ft. Octavia Rose - Delight", "c8c7b628-7d99-45bb-92ec-9b2689ff9f7f", 344, false, "aH5aq4V0Ywk", "https://www.youtube.com/watch?v=aH5aq4V0Ywk", 54, "/downloads/music/Funky Panda™/#ElectroSwing | Jamie Berry ft. Octavia Rose - Delight.m4a", false, false, false, 1, [], 1, ~U[2012-12-06 14:14:31Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "Download 'Delight': https://www.junodownload.com/products/delight/2069252-02/\n\n♫ Follow Jamie Berry:\n♥ Soundcloud: https://soundcloud.com/jamie-berry\n♥ Facebook: https://www.facebook.com/jamie.berry3\n♥ Website: http://www.flakrecords.com/jamieberry.php\n\n♫ Follow Octavia Rose:\n♥ Soundcloud: https://soundcloud.com/octavia-rose\n♥I nstagram: https://www.instagram.com/octaviarosemusic/\n♥ Facebook: https://www.facebook.com/Octavia-Rose-102835114395692/\n\n♫ Follow Flak Records: \n♥ Soundcloud: https://soundcloud.com/flakrecords\n♥ Facebook: https://www.facebook.com/pages/Flak-Records/233465740030102\n♥ Twitter: http://twitter.com/FLAKRecords\n\n♫ Support Funky Panda\n♥ Website: http://www.funkypanda.net/\n♥ Spotify: https://open.spotify.com/user/funky_way\n♥ Facebook: https://www.facebook.com/funkypanda\n♥ SoundCloud: https://soundcloud.com/fnkypanda\n♥ Twitter: https://twitter.com/FunkyPanda\n♥ YouTube: https://www.youtube.com/FunkyPanda\n♥ Merch: https://designbyhumans.com/shop/FunkyPanda\n\nStream FunkyWay on Spotify: https://open.spotify.com/user/funky_way\n\nDo you want to Showcase your Music on Funky Panda? Be sure to send all your music links to demo@funkypanda.net\n\n▼ ▼ ▼\n\nArtwork & Animation by Petirep\n♥ DeviantArt: http://petirep.deviantart.com/\n\n∞ Thank you for Listening to YouTube's #1 Funky Network ∞\n\n#Electro #Swing #Dance", "#ElectroSwing | Jamie Berry ft. Octavia Rose - Delight", 344, false, "aH5aq4V0Ywk", "https://www.youtube.com/watch?v=aH5aq4V0Ywk", "/downloads/music/Funky Panda™/#ElectroSwing | Jamie Berry ft. Octavia Rose - Delight.m4a", false, 1, ~U[2012-12-06 14:14:31Z]] 09:45:53.027 [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" = ?) [1] 09:45:53.027 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2015-06-26 08:00:00Z], 1] 09:45:53.029 [debug] QUERY OK source="media_items" db=1.1ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Hey Leute,\neinige meiner deutschen Fans wissen bereits, dass man mich in einem deutschen TV Spot sehen kann. Das ist eins meiner größeren Projekte, an denen ich in den letzten Monaten gearbeitet habe. Mit dem Video möchte ich auch meinen internationalen Followern die Chance geben, zu sehen, was ich so gemacht habe. Dies ist die lange Version und beinhaltet mehr Tanzszenen. ;)\nIch hoffe, es gefällt euch.\n\nHi folks,\nsome of my german viewers already know that you can see me in a german TV commercial. This is one of the bigger projects I was working on in the last couple of month. I just wanted to give my international audience the chance to have a look at what I've done so far. This is the extended version - so it involves a lot more of dancing. ;) I hope you enjoy.\n______________________________________________________________\n\nSubscribe: \u202Ahttp://bit.ly/1GL2F5D\nWeb: http://martapr.com/svenotten-justsomemotion\nBookings: marta@martapr.com - http://martapr.com\nCommercial by: Deka\nInstagram: https://www.instagram.com/svenotten_\nFacebook: https://www.facebook.com/SvenOttenjsm/\nTwitter: https://twitter.com/SvenOtten_\n\n______________________________________________________________\n\nSong: Jamie Berry Feat. Octavia Rose - Delight", "Sven Otten - JustSomeMotion - Deka Spot (Extended Version) - Jamie Berry Feat. Octavia Rose -Delight", "cbf23f91-e740-45f2-b08b-a22ff4019de2", 103, false, "mhO7wSAoQCI", "https://www.youtube.com/watch?v=mhO7wSAoQCI", 55, "/downloads/music/Sven Otten - JustSomeMotion/Sven Otten - JustSomeMotion - Deka Spot (Extended Version) - Jamie Berry Feat. Octavia Rose -Delight.m4a", false, false, false, 1, [], 1, ~U[2015-06-26 08:00:00Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "Hey Leute,\neinige meiner deutschen Fans wissen bereits, dass man mich in einem deutschen TV Spot sehen kann. Das ist eins meiner größeren Projekte, an denen ich in den letzten Monaten gearbeitet habe. Mit dem Video möchte ich auch meinen internationalen Followern die Chance geben, zu sehen, was ich so gemacht habe. Dies ist die lange Version und beinhaltet mehr Tanzszenen. ;)\nIch hoffe, es gefällt euch.\n\nHi folks,\nsome of my german viewers already know that you can see me in a german TV commercial. This is one of the bigger projects I was working on in the last couple of month. I just wanted to give my international audience the chance to have a look at what I've done so far. This is the extended version - so it involves a lot more of dancing. ;) I hope you enjoy.\n______________________________________________________________\n\nSubscribe: \u202Ahttp://bit.ly/1GL2F5D\nWeb: http://martapr.com/svenotten-justsomemotion\nBookings: marta@martapr.com - http://martapr.com\nCommercial by: Deka\nInstagram: https://www.instagram.com/svenotten_\nFacebook: https://www.facebook.com/SvenOttenjsm/\nTwitter: https://twitter.com/SvenOtten_\n\n______________________________________________________________\n\nSong: Jamie Berry Feat. Octavia Rose - Delight", "Sven Otten - JustSomeMotion - Deka Spot (Extended Version) - Jamie Berry Feat. Octavia Rose -Delight", 103, false, "mhO7wSAoQCI", "https://www.youtube.com/watch?v=mhO7wSAoQCI", "/downloads/music/Sven Otten - JustSomeMotion/Sven Otten - JustSomeMotion - Deka Spot (Extended Version) - Jamie Berry Feat. Octavia Rose -Delight.m4a", false, 1, ~U[2015-06-26 08:00:00Z]] 09:45:53.029 [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" = ?) [1] 09:45:53.030 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2014-11-22 13:44:23Z], 1] 09:45:53.032 [debug] QUERY OK source="media_items" db=1.3ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Black Coast - TRNDSTTR (Lucian Remix)\n\n~~~~~~~» Quote of the day «~~~~~~~\n\n\"Eighty percent of success is showing up.\"\n-- Woody Allen\n\nShare your quotes with me in the comment section below and I might use it for the next quote of the day!\n\nCloudKid Shop: http://cldkid.com/shop\n\n#trndsttr #cloudkid #trap #remix #music\n\n~~~~~~~» Official Video «~~~~~~~\n\nhttps://youtu.be/Ym1EiPvs-8Q\n\n~~~~~~~» Buy on iTunes «~~~~~~~\n\nhttp://apple.co/21HhuhE\n\n~~~~~~~» Lucian «~~~~~~~\n\nSoundcloud: https://soundcloud.com/lucianofficial\nFacebook: https://www.facebook.com/lucianmusic\nTwitter: https://www.twitter.com/luciantune\n❤ on Hypem: http://goo.gl/a2dtfU\n\n~~~~~~~» Black Coast «~~~~~~~\n\nSoundcloud: https://soundcloud.com/blackcoast\nFacebook: https://www.facebook.com/BlackCoastOf...\nTwitter: https://twitter.com/blackcoast_\nContact: stan.blackcoast@gmail.com\n\n~~~~~~~» Contact Cloudkid «~~~~~~~\n\n» The Paint I use: http://amzn.to/2fdOePI\n \nTwitter: https://twitter.com/CloudKidMusic\nSoundcloud: https://soundcloud.com/cloudkid\nFacebook: https://www.facebook.com/cloudkidpromotion/\nInstagram: https://instagram.com/cldkid\nSnapchat: @cldkid\n\nWant your track on CloudKid? It's easy! Contact me on my YouTube or message me at: CloudKidOfficial@gmail.com\n\n~~~~~~~» The image used «~~~~~~~\n\nPicture taken by: L98\nProfile: https://www.flickr.com/people/9831095...\n\nThe Image: https://www.flickr.com/photos/9831095...\n\n~~~~~~~» Legal stuff «~~~~~~~\n\nI do not own any of the content of the video and it has been uploaded for promotion purposes only. If any producer or label has an Issue with any upload, contact me directly through youtube oder under CloudKidOfficial@gmail.com and the video will be taken down immediately! This includes owners of the images used.", "Black Coast - TRNDSTTR (Lucian Remix)", "d464e441-90e2-4e80-bb6d-322e08f6ea62", 180, false, "r7Ve8ExE8YY", "https://www.youtube.com/watch?v=r7Ve8ExE8YY", 56, "/downloads/music/CloudKid/Black Coast - TRNDSTTR (Lucian Remix).m4a", false, false, false, 1, [], 1, ~U[2014-11-22 13:44:23Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "Black Coast - TRNDSTTR (Lucian Remix)\n\n~~~~~~~» Quote of the day «~~~~~~~\n\n\"Eighty percent of success is showing up.\"\n-- Woody Allen\n\nShare your quotes with me in the comment section below and I might use it for the next quote of the day!\n\nCloudKid Shop: http://cldkid.com/shop\n\n#trndsttr #cloudkid #trap #remix #music\n\n~~~~~~~» Official Video «~~~~~~~\n\nhttps://youtu.be/Ym1EiPvs-8Q\n\n~~~~~~~» Buy on iTunes «~~~~~~~\n\nhttp://apple.co/21HhuhE\n\n~~~~~~~» Lucian «~~~~~~~\n\nSoundcloud: https://soundcloud.com/lucianofficial\nFacebook: https://www.facebook.com/lucianmusic\nTwitter: https://www.twitter.com/luciantune\n❤ on Hypem: http://goo.gl/a2dtfU\n\n~~~~~~~» Black Coast «~~~~~~~\n\nSoundcloud: https://soundcloud.com/blackcoast\nFacebook: https://www.facebook.com/BlackCoastOf...\nTwitter: https://twitter.com/blackcoast_\nContact: stan.blackcoast@gmail.com\n\n~~~~~~~» Contact Cloudkid «~~~~~~~\n\n» The Paint I use: http://amzn.to/2fdOePI\n \nTwitter: https://twitter.com/CloudKidMusic\nSoundcloud: https://soundcloud.com/cloudkid\nFacebook: https://www.facebook.com/cloudkidpromotion/\nInstagram: https://instagram.com/cldkid\nSnapchat: @cldkid\n\nWant your track on CloudKid? It's easy! Contact me on my YouTube or message me at: CloudKidOfficial@gmail.com\n\n~~~~~~~» The image used «~~~~~~~\n\nPicture taken by: L98\nProfile: https://www.flickr.com/people/9831095...\n\nThe Image: https://www.flickr.com/photos/9831095...\n\n~~~~~~~» Legal stuff «~~~~~~~\n\nI do not own any of the content of the video and it has been uploaded for promotion purposes only. If any producer or label has an Issue with any upload, contact me directly through youtube oder under CloudKidOfficial@gmail.com and the video will be taken down immediately! This includes owners of the images used.", "Black Coast - TRNDSTTR (Lucian Remix)", 180, false, "r7Ve8ExE8YY", "https://www.youtube.com/watch?v=r7Ve8ExE8YY", "/downloads/music/CloudKid/Black Coast - TRNDSTTR (Lucian Remix).m4a", false, 1, ~U[2014-11-22 13:44:23Z]] 09:45:53.033 [debug] QUERY OK source="sources" db=0.2ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:53.033 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-20 15:01:48Z], 1] 09:45:53.035 [debug] QUERY OK source="media_items" db=1.2ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join Jack Pepper’s adventures throughout Mouseburg in this lo-fi inspired animation! Composed by Patryk Scelina as part of the MOUSE: P.I. For Hire Original Game Soundtrack, including \"Good Mouse\" by Caravan Palace.\n\nMOUSE: P.I. For Hire is out now across PC (Steam), PlayStation 5, Xbox Series X|S, and Nintendo Switch 2!\n\nBuy Now -\nSteam: https://mouse.playside.games/qvb1jZB\nPlayStation 5: https://mouse.playside.games/5SbiFaK\nXbox Series X|S: https://mouse.playside.games/M1vqX2U\nNintendo Switch 2: https://mouse.playside.games/OhZuYdY\n\nOriginal Game Soundtrack -\nStreaming Platforms: https://idol-io.ffm.to/mousepiforhireost\nMondo Vinyl: https://mondoshop.com/products/mouse-p-i-for-hire-original-soundtrack\n\nSocial Links -\nWebsite: https://mouse.playside.games/CfYuFgT\nX: https://x.com/mousethegame\nTikTok: https://www.tiktok.com/@mousethegame\nInstagram: https://www.instagram.com/mousethegame/\nThreads: https://www.threads.com/@mousethegame\nFacebook: https://www.facebook.com/mousethegame\nDiscord: https://discord.gg/TXkCFYEMPB\nBluesky: https://bsky.app/profile/mousethegame.bsky.social\n\nPatryk Scelina - \nYouTube: https://www.youtube.com/@patrykscelina\nYouTube Music: https://music.youtube.com/channel/UCTSZfCncvtF-KLbrueEmDpA?si=k-LZt47mLyTP2kAn\nSpotify: https://open.spotify.com/artist/0Fni4pCfrEfXXfuTBwRhPI?si=CRHawZR5SHCpRBQwuSrpDA\n\nMusicians -\nTrumpet: Jan Chojnacki\nAlto Saxophone: Kacper Mikołajuk\nTenor Saxophone: Kacper Mikołajuk\nBaritone Saxophone: Kacper Mikołajuk\nTenor Trombone: Szymon Rybitw\nBass Trombone: Adam Kurek\nClarinet: Mateusz Rybicki\nPiano: Anton Mikhailov\nBass: Ivan Lipatov\nDrums: Irakli Choladze\n\nProduction -\nMusic: Patryk Scelina\nOrchestration: Kacper Mikołajuk\nRecording: Kamil Biedrzycki\nMix and Mastering: Kamil Biedrzycki\nRhythm Section Recordings: Kamil Biedrzycki & Olajide Pari\n\n#MOUSE #MOUSEthegame #MOUSEPIForHire", "MOUSE: P.I. For Hire | Original Game Soundtrack (FULL)", "f716282c-dcac-49e9-89ea-f109f7a5180c", 2896, false, "zUSeCuBlxxo", "https://www.youtube.com/watch?v=zUSeCuBlxxo", 57, "/downloads/music/MOUSE: P.I. For Hire/MOUSE: P.I. For Hire | Original Game Soundtrack (FULL).m4a", false, false, false, 1, [], 1, ~U[2026-04-20 15:01:48Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "Join Jack Pepper’s adventures throughout Mouseburg in this lo-fi inspired animation! Composed by Patryk Scelina as part of the MOUSE: P.I. For Hire Original Game Soundtrack, including \"Good Mouse\" by Caravan Palace.\n\nMOUSE: P.I. For Hire is out now across PC (Steam), PlayStation 5, Xbox Series X|S, and Nintendo Switch 2!\n\nBuy Now -\nSteam: https://mouse.playside.games/qvb1jZB\nPlayStation 5: https://mouse.playside.games/5SbiFaK\nXbox Series X|S: https://mouse.playside.games/M1vqX2U\nNintendo Switch 2: https://mouse.playside.games/OhZuYdY\n\nOriginal Game Soundtrack -\nStreaming Platforms: https://idol-io.ffm.to/mousepiforhireost\nMondo Vinyl: https://mondoshop.com/products/mouse-p-i-for-hire-original-soundtrack\n\nSocial Links -\nWebsite: https://mouse.playside.games/CfYuFgT\nX: https://x.com/mousethegame\nTikTok: https://www.tiktok.com/@mousethegame\nInstagram: https://www.instagram.com/mousethegame/\nThreads: https://www.threads.com/@mousethegame\nFacebook: https://www.facebook.com/mousethegame\nDiscord: https://discord.gg/TXkCFYEMPB\nBluesky: https://bsky.app/profile/mousethegame.bsky.social\n\nPatryk Scelina - \nYouTube: https://www.youtube.com/@patrykscelina\nYouTube Music: https://music.youtube.com/channel/UCTSZfCncvtF-KLbrueEmDpA?si=k-LZt47mLyTP2kAn\nSpotify: https://open.spotify.com/artist/0Fni4pCfrEfXXfuTBwRhPI?si=CRHawZR5SHCpRBQwuSrpDA\n\nMusicians -\nTrumpet: Jan Chojnacki\nAlto Saxophone: Kacper Mikołajuk\nTenor Saxophone: Kacper Mikołajuk\nBaritone Saxophone: Kacper Mikołajuk\nTenor Trombone: Szymon Rybitw\nBass Trombone: Adam Kurek\nClarinet: Mateusz Rybicki\nPiano: Anton Mikhailov\nBass: Ivan Lipatov\nDrums: Irakli Choladze\n\nProduction -\nMusic: Patryk Scelina\nOrchestration: Kacper Mikołajuk\nRecording: Kamil Biedrzycki\nMix and Mastering: Kamil Biedrzycki\nRhythm Section Recordings: Kamil Biedrzycki & Olajide Pari\n\n#MOUSE #MOUSEthegame #MOUSEPIForHire", "MOUSE: P.I. For Hire | Original Game Soundtrack (FULL)", 2896, false, "zUSeCuBlxxo", "https://www.youtube.com/watch?v=zUSeCuBlxxo", "/downloads/music/MOUSE: P.I. For Hire/MOUSE: P.I. For Hire | Original Game Soundtrack (FULL).m4a", false, 1, ~U[2026-04-20 15:01:48Z]] 09:45:53.035 [debug] QUERY OK source="sources" db=0.1ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:53.036 [debug] QUERY OK source="media_items" db=0.3ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-29 12:15:06Z], 1] 09:45:53.041 [debug] QUERY OK source="media_items" db=4.0ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["04.04 \"prince of WORRY\"\n\n0:00 Intro\n0:08 Pump It Flip\n2:18 Get Low Flip\n4:23 One Piece Flip\n6:43 Chop Suey Flip\n8:40 BBX Part\n9:30 Porcelain Flip\n11:40 It G Ma Flip\n13:50 Faint Flip\n14:51 Numb Flip\n15:48 Outro\n\n🎹 Beats by Kira On The Phone\n▫️https://youtube.com/@KIRAONTHEPHONEANDTHANI\n\n🎛️ Mix & Co-Production by Thani & Outakey\n▫️https://www.instagram.com/beatsbythani\n▫️https://www.instagram.com/outakey\n\n🎙️ BBX Mix by Madox\n▫️https://www.instagram.com/madox_beatbox\n\n🧶 Hoodie by gh0ulip\n▫️https://gh0ulip.com\n\n🧵bb-Shop:\nhttps://beastboy.shop/\n\n🎬 Video & Edit by bb\n\nRIP Chester Bennington", "FEUER IN DER LUNGE [live]", "680662f4-f515-428b-98c3-792ef74746a7", 955, false, "t4FgfXIB1Zc", "https://www.youtube.com/watch?v=t4FgfXIB1Zc", 58, "/downloads/music/TJ_bb/FEUER IN DER LUNGE [live].m4a", false, false, false, 1, [], 1, ~U[2026-03-29 12:15:06Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "04.04 \"prince of WORRY\"\n\n0:00 Intro\n0:08 Pump It Flip\n2:18 Get Low Flip\n4:23 One Piece Flip\n6:43 Chop Suey Flip\n8:40 BBX Part\n9:30 Porcelain Flip\n11:40 It G Ma Flip\n13:50 Faint Flip\n14:51 Numb Flip\n15:48 Outro\n\n🎹 Beats by Kira On The Phone\n▫️https://youtube.com/@KIRAONTHEPHONEANDTHANI\n\n🎛️ Mix & Co-Production by Thani & Outakey\n▫️https://www.instagram.com/beatsbythani\n▫️https://www.instagram.com/outakey\n\n🎙️ BBX Mix by Madox\n▫️https://www.instagram.com/madox_beatbox\n\n🧶 Hoodie by gh0ulip\n▫️https://gh0ulip.com\n\n🧵bb-Shop:\nhttps://beastboy.shop/\n\n🎬 Video & Edit by bb\n\nRIP Chester Bennington", "FEUER IN DER LUNGE [live]", 955, false, "t4FgfXIB1Zc", "https://www.youtube.com/watch?v=t4FgfXIB1Zc", "/downloads/music/TJ_bb/FEUER IN DER LUNGE [live].m4a", false, 1, ~U[2026-03-29 12:15:06Z]] 09:45:53.041 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [1] 09:45:53.042 [debug] QUERY OK source="media_items" db=0.3ms idle=6.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-14 13:00:06Z], 1] 09:45:53.043 [debug] QUERY OK source="media_items" db=1.0ms idle=6.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🫀“prince of WORRY“ on Spotify:\n💽 https://open.spotify.com/prerelease/7s8SPZ4Px2B8BFydvwPf6D?si=mgXe1yC_Ql-1vWe60Sp5lg\n\n🎹 Beat by Young Kira & outakey\nhttps://www.instagram.com/youngkirawestghosts/\nhttps://www.instagram.com/outakey\n\n🧵bb-Shop:\nhttps://beastboy.shop/\n\n🎬 Direction/Edit by Lukas Emil Klemm & bb\nhttps://www.instagram.com/lukasemilklemm/\nhttps://www.instagram.com/beastboy/\n\n🎥 Camera by Lukas Emil Klemm:\nhttps://www.instagram.com/lukasemilklemm/\n\n📹 1st AC by Merlin Osenstetter:\nhttps://www.instagram.com/merlin_osenst/\n\n🎨 Additional Color-Grading by Maze Wagner:\nhttps://www.instagram.com/mazewagner/\n\n🎛️ Master by Volker 'IDR' Gebhardt", "beastboy | ZEN [dream] | beat by Young Kira & outakey", "f5d01f69-7595-46be-9b64-79fa36ee0c2e", 239, false, "h77JfYYQMA0", "https://www.youtube.com/watch?v=h77JfYYQMA0", 59, "/downloads/music/TJ_bb/beastboy | ZEN [dream] | beat by Young Kira & outakey.m4a", false, false, false, 1, [], 1, ~U[2026-04-14 13:00:06Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "🫀“prince of WORRY“ on Spotify:\n💽 https://open.spotify.com/prerelease/7s8SPZ4Px2B8BFydvwPf6D?si=mgXe1yC_Ql-1vWe60Sp5lg\n\n🎹 Beat by Young Kira & outakey\nhttps://www.instagram.com/youngkirawestghosts/\nhttps://www.instagram.com/outakey\n\n🧵bb-Shop:\nhttps://beastboy.shop/\n\n🎬 Direction/Edit by Lukas Emil Klemm & bb\nhttps://www.instagram.com/lukasemilklemm/\nhttps://www.instagram.com/beastboy/\n\n🎥 Camera by Lukas Emil Klemm:\nhttps://www.instagram.com/lukasemilklemm/\n\n📹 1st AC by Merlin Osenstetter:\nhttps://www.instagram.com/merlin_osenst/\n\n🎨 Additional Color-Grading by Maze Wagner:\nhttps://www.instagram.com/mazewagner/\n\n🎛️ Master by Volker 'IDR' Gebhardt", "beastboy | ZEN [dream] | beat by Young Kira & outakey", 239, false, "h77JfYYQMA0", "https://www.youtube.com/watch?v=h77JfYYQMA0", "/downloads/music/TJ_bb/beastboy | ZEN [dream] | beat by Young Kira & outakey.m4a", false, 1, ~U[2026-04-14 13:00:06Z]] 09:45:53.044 [debug] QUERY OK source="sources" db=0.2ms idle=7.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:53.044 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-30 08:58:06Z], 1] 09:45:53.046 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["ILLIT (아일릿) ‘It’s Me’ Official MV\n\nExecutive Producer Kim Taeho\nCreative Director Heu Serian \nMusic Video Director YVNG WING (IDIOTS)\n\nⓒ BELIFT LAB Inc. All Rights Reserved\n\nConnect with ILLIT\n\nILLIT Weverse: https://weverse.io/illit\nOfficial YouTube: https://www.youtube.com/@ILLIT_official\nOfficial X (Twitter): https://x.com/ILLIT_official\nMember X (Twitter): https://x.com/ILLIT_twt\nTikTok: https://www.tiktok.com/@illit_official\nInstagram: https://www.instagram.com/ILLIT_official\nFacebook: https://www.facebook.com/ILLIT.beliftlab\nWeibo: https://www.weibo.com/n/ILLIT_BELIFTLAB\nBILIBILI: https://space.bilibili.com/3546608109095338\nDouyin: https://v.douyin.com/ikgST6Sw/\nJapan X (Twitter): https://x.com/ILLITjpofficial\n\n#ILLIT #아일릿 #MAMIHLAPINATAPAI #Its_Me", "ILLIT (아일릿) ‘It’s Me’ Official MV", "0c7401f3-e018-4109-8509-2e82bbe6a63b", 146, false, "bMhDJ0S0OBA", "https://www.youtube.com/watch?v=bMhDJ0S0OBA", 60, "/downloads/music/HYBE LABELS/ILLIT (아일릿) ‘It’s Me’ Official MV.m4a", false, false, false, 1, [], 1, ~U[2026-04-30 08:58:06Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "ILLIT (아일릿) ‘It’s Me’ Official MV\n\nExecutive Producer Kim Taeho\nCreative Director Heu Serian \nMusic Video Director YVNG WING (IDIOTS)\n\nⓒ BELIFT LAB Inc. All Rights Reserved\n\nConnect with ILLIT\n\nILLIT Weverse: https://weverse.io/illit\nOfficial YouTube: https://www.youtube.com/@ILLIT_official\nOfficial X (Twitter): https://x.com/ILLIT_official\nMember X (Twitter): https://x.com/ILLIT_twt\nTikTok: https://www.tiktok.com/@illit_official\nInstagram: https://www.instagram.com/ILLIT_official\nFacebook: https://www.facebook.com/ILLIT.beliftlab\nWeibo: https://www.weibo.com/n/ILLIT_BELIFTLAB\nBILIBILI: https://space.bilibili.com/3546608109095338\nDouyin: https://v.douyin.com/ikgST6Sw/\nJapan X (Twitter): https://x.com/ILLITjpofficial\n\n#ILLIT #아일릿 #MAMIHLAPINATAPAI #Its_Me", "ILLIT (아일릿) ‘It’s Me’ Official MV", 146, false, "bMhDJ0S0OBA", "https://www.youtube.com/watch?v=bMhDJ0S0OBA", "/downloads/music/HYBE LABELS/ILLIT (아일릿) ‘It’s Me’ Official MV.m4a", false, 1, ~U[2026-04-30 08:58:06Z]] 09:45:53.047 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [1] 09:45:53.047 [debug] QUERY OK source="media_items" db=0.5ms idle=3.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-09-25 16:08:08Z], 1] 09:45:53.049 [debug] QUERY OK source="media_items" db=1.0ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["00:00 Kordhell - Murder In My Mind\n02:25 MoonDeity - WAKE UP!\n04:48 MUPP x Sadfriendd - vendetta!\n06:35 PLAYAMANE x Nateki - MIDNIGHT\n08:40 ONIMXRU x SMITHMANE - SHADOW\n11:22 INTERWORLD - METAMORPHOSIS\n\n#phonk #mix\n\nSpotify Playlist\nhttps://open.spotify.com/playlist/2EDOnGibLU5FoRtXkMA6Jm?si=DdBTCjPcQeG_9NDntwpb0Q&utm_source=copy-link", "[ MIX PHONK ] | Murder In My Mind | WAKE UP! | vendetta! | MIDNIGHT | SHADOW | METAMORPHOSIS |", "56d920b5-58aa-4d59-abca-075edb2c5262", 825, false, "1Soe43JoxpU", "https://www.youtube.com/watch?v=1Soe43JoxpU", 61, "/downloads/music/Nefor/[ MIX PHONK ] | Murder In My Mind | WAKE UP! | vendetta! | MIDNIGHT | SHADOW | METAMORPHOSIS |.m4a", false, false, false, 1, [], 1, ~U[2022-09-25 16:08:08Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "00:00 Kordhell - Murder In My Mind\n02:25 MoonDeity - WAKE UP!\n04:48 MUPP x Sadfriendd - vendetta!\n06:35 PLAYAMANE x Nateki - MIDNIGHT\n08:40 ONIMXRU x SMITHMANE - SHADOW\n11:22 INTERWORLD - METAMORPHOSIS\n\n#phonk #mix\n\nSpotify Playlist\nhttps://open.spotify.com/playlist/2EDOnGibLU5FoRtXkMA6Jm?si=DdBTCjPcQeG_9NDntwpb0Q&utm_source=copy-link", "[ MIX PHONK ] | Murder In My Mind | WAKE UP! | vendetta! | MIDNIGHT | SHADOW | METAMORPHOSIS |", 825, false, "1Soe43JoxpU", "https://www.youtube.com/watch?v=1Soe43JoxpU", "/downloads/music/Nefor/[ MIX PHONK ] | Murder In My Mind | WAKE UP! | vendetta! | MIDNIGHT | SHADOW | METAMORPHOSIS |.m4a", false, 1, ~U[2022-09-25 16:08:08Z]] 09:45:53.050 [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" = ?) [1] 09:45:53.050 [debug] QUERY OK source="media_items" db=0.4ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-07-04 15:27:20Z], 1] 09:45:53.052 [debug] QUERY OK source="media_items" db=1.3ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Christian French - Head First (Young Bombs Remix)\n〰️ Spotify Playlist: http://cldkid.com/spotify\n〰️ Instagram: http://cldkid.com/instagram\n\n◎ Get it here: \n\n\"Quote of the day here\"\n- Credit here\n\n► Create a CloudKid Profile Pic: http://cldkid.com/generator\n\n✖️ Young Bombs\n\nSoundcloud: https://soundcloud.com/youngbombs\nFacebook: https://www.facebook.com/youngbombs\nTwitter: https://twitter.com/youngbombs\nInstagram: https://www.instagram.com/youngbombs\n\n✖️ Christian French\n\nSoundcloud: https://soundcloud.com/christianfrench\nFacebook: https://www.facebook.com/christianfrenchmusic\nTwitter: https://twitter.com/christianfrench\nInstagram: https://www.instagram.com/christianfrench\n\n► Suggested track: \n► Suggested playlists: http://cldkid.com/playlists\n\n✖️ CloudKid \n\nInstagram: https://instagram.com/cloudkid\nTwitter: https://twitter.com/cloudkidmusic\nSoundcloud: https://soundcloud.com/cloudkid\nFacebook: https://facebook.com/cldkid\nTikTok: @cldkid\nSnapchat: @cldkid\n\n► CloudKid Shop: http://cldkid.com/shop\n\n〰️Submit your music: http://cldkid.com/submit\n〰️Get in touch with me: hello@cldkid.com\n\n► Spotify Playlists\n\n Favourites Playlist: http://cldkid.com/spotify\n All Uploads Playlist: http://cldkid.com/spotifyuploads\n\n© The image used\n\nThe artwork used in this video is an original piece created by CloudKid. All rights reserved. \nFor more information please contact us here: hello@cldkid.com", "Christian French - Head First (Young Bombs Remix)", "56bb040e-56f3-45cc-9b03-208de14a929a", 223, false, "HOjK-H9pwKw", "https://www.youtube.com/watch?v=HOjK-H9pwKw", 62, "/downloads/music/CloudKid/Christian French - Head First (Young Bombs Remix).m4a", false, false, false, 1, [], 1, ~U[2020-07-04 15:27:20Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "Christian French - Head First (Young Bombs Remix)\n〰️ Spotify Playlist: http://cldkid.com/spotify\n〰️ Instagram: http://cldkid.com/instagram\n\n◎ Get it here: \n\n\"Quote of the day here\"\n- Credit here\n\n► Create a CloudKid Profile Pic: http://cldkid.com/generator\n\n✖️ Young Bombs\n\nSoundcloud: https://soundcloud.com/youngbombs\nFacebook: https://www.facebook.com/youngbombs\nTwitter: https://twitter.com/youngbombs\nInstagram: https://www.instagram.com/youngbombs\n\n✖️ Christian French\n\nSoundcloud: https://soundcloud.com/christianfrench\nFacebook: https://www.facebook.com/christianfrenchmusic\nTwitter: https://twitter.com/christianfrench\nInstagram: https://www.instagram.com/christianfrench\n\n► Suggested track: \n► Suggested playlists: http://cldkid.com/playlists\n\n✖️ CloudKid \n\nInstagram: https://instagram.com/cloudkid\nTwitter: https://twitter.com/cloudkidmusic\nSoundcloud: https://soundcloud.com/cloudkid\nFacebook: https://facebook.com/cldkid\nTikTok: @cldkid\nSnapchat: @cldkid\n\n► CloudKid Shop: http://cldkid.com/shop\n\n〰️Submit your music: http://cldkid.com/submit\n〰️Get in touch with me: hello@cldkid.com\n\n► Spotify Playlists\n\n Favourites Playlist: http://cldkid.com/spotify\n All Uploads Playlist: http://cldkid.com/spotifyuploads\n\n© The image used\n\nThe artwork used in this video is an original piece created by CloudKid. All rights reserved. \nFor more information please contact us here: hello@cldkid.com", "Christian French - Head First (Young Bombs Remix)", 223, false, "HOjK-H9pwKw", "https://www.youtube.com/watch?v=HOjK-H9pwKw", "/downloads/music/CloudKid/Christian French - Head First (Young Bombs Remix).m4a", false, 1, ~U[2020-07-04 15:27:20Z]] 09:45:53.053 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [1] 09:45:53.054 [debug] QUERY OK source="media_items" db=0.7ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-03-06 03:06:19Z], 1] 09:45:53.056 [debug] QUERY OK source="media_items" db=1.3ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["CHECK OUT OUR STORE https://trash.clothing\nTRASH Official Spotify Playlists: https://open.spotify.com/playlist/2rkYXIAACgmzYFcm4cJJwF\n\nBurgos Music\nhttps://soundcloud.com/burgosmusic/burgos-step-of-the-guey-feat-lvcid-prod-by-krain\nhttps://www.facebook.com/anthony.burgos.73\nINSTAGRAM: @BURGOSMUSIC \nTWITTER: @Burgos9000\n@LVCIDPHVRVOH\n\nTRXSH GXNG\n---------------------------------------------------------------------------------\nTRASH 新 ドラゴン -\n😈 FB - https://facebook.com/youre.here.on.purpose\n😈 IG: https://www.instagram.com/trashgang\n😈 DC - https://discord.com/invite/dGpYCqe\n😈 IG: https://twitter.com/garbageclub\n😈 SHOP - https://trash-gang.com/trash-shop\n\n---------------------------------------------------------------------------------\nif you have anything you want to show us, work with us, share your ideas, videos, art, contact us here:\nhttps://www.trash-gang.com/info-contact", "BURGOS FEAT LVCID - EVERY STEP OF THE GUEY (MUSIC VIDEO) PROD BY K.RAIN", "c34bf9cf-5d67-4ce3-b277-cf7b15db878f", 195, false, "GEwsZctX77w", "https://www.youtube.com/watch?v=GEwsZctX77w", 63, "/downloads/music/TRASH 新 ドラゴン/BURGOS FEAT LVCID - EVERY STEP OF THE GUEY (MUSIC VIDEO) PROD BY K.RAIN.m4a", false, false, false, 1, [], 1, ~U[2018-03-06 03:06:19Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "CHECK OUT OUR STORE https://trash.clothing\nTRASH Official Spotify Playlists: https://open.spotify.com/playlist/2rkYXIAACgmzYFcm4cJJwF\n\nBurgos Music\nhttps://soundcloud.com/burgosmusic/burgos-step-of-the-guey-feat-lvcid-prod-by-krain\nhttps://www.facebook.com/anthony.burgos.73\nINSTAGRAM: @BURGOSMUSIC \nTWITTER: @Burgos9000\n@LVCIDPHVRVOH\n\nTRXSH GXNG\n---------------------------------------------------------------------------------\nTRASH 新 ドラゴン -\n😈 FB - https://facebook.com/youre.here.on.purpose\n😈 IG: https://www.instagram.com/trashgang\n😈 DC - https://discord.com/invite/dGpYCqe\n😈 IG: https://twitter.com/garbageclub\n😈 SHOP - https://trash-gang.com/trash-shop\n\n---------------------------------------------------------------------------------\nif you have anything you want to show us, work with us, share your ideas, videos, art, contact us here:\nhttps://www.trash-gang.com/info-contact", "BURGOS FEAT LVCID - EVERY STEP OF THE GUEY (MUSIC VIDEO) PROD BY K.RAIN", 195, false, "GEwsZctX77w", "https://www.youtube.com/watch?v=GEwsZctX77w", "/downloads/music/TRASH 新 ドラゴン/BURGOS FEAT LVCID - EVERY STEP OF THE GUEY (MUSIC VIDEO) PROD BY K.RAIN.m4a", false, 1, ~U[2018-03-06 03:06:19Z]] 09:45:53.057 [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" = ?) [1] 09:45:53.058 [debug] QUERY OK source="media_items" db=0.4ms idle=5.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-03-27 19:00:04Z], 1] 09:45:53.061 [debug] QUERY OK source="media_items" db=1.7ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["https://open.spotify.com/track/7BAf4jhkXcnLF5mm8B6u8K?si=-2gza54UQVqZXsBoCuVciQ\n\nhttps://music.apple.com/tr/album/branded-single/1499170899\nhttps://soundcloud.com/iamyury/branded\nhttps://lnkfi.re/branded\n\nCHECK OUT OUR STORE https://trash.clothing\nTRASH Official Spotify Playlists: https://sptfy.com/trash-official\n\nAMV by team TRASH : svd.desu, https://www.youtube.com/channel/UCkww3XZDadd3CcGSkxFqitQ\nANIME : kabaneri\n\nTRXSH GXNG\n---------------------------------------------------------------------------------\nTRASH 新 ドラゴン - \n😈 SHOP - https://trash.clothing/\n😈 IG: https://www.instagram.com/trashgang\n😈 DC - https://discord.gg/kYga8nm\n😈 FB - https://facebook.com/youre.here.on.purpose\n😈 VK - https://vk.com/bornoflegend\n😈 T: https://twitter.com/garbageclub\n---------------------------------------------------------------------------------\nif you have anything you want to show us, work with us, share your ideas, videos, art, contact us here:\nhttps://www.trash-gang.com/info-contact", "Yury - Branded", "97c4881c-94ca-4c84-9dc0-77fb275e09e5", 126, false, "NdzFRpnlkzc", "https://www.youtube.com/watch?v=NdzFRpnlkzc", 64, "/downloads/music/TRASH 新 ドラゴン/Yury - Branded.m4a", false, false, false, 1, [], 1, ~U[2020-03-27 19:00:04Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "https://open.spotify.com/track/7BAf4jhkXcnLF5mm8B6u8K?si=-2gza54UQVqZXsBoCuVciQ\n\nhttps://music.apple.com/tr/album/branded-single/1499170899\nhttps://soundcloud.com/iamyury/branded\nhttps://lnkfi.re/branded\n\nCHECK OUT OUR STORE https://trash.clothing\nTRASH Official Spotify Playlists: https://sptfy.com/trash-official\n\nAMV by team TRASH : svd.desu, https://www.youtube.com/channel/UCkww3XZDadd3CcGSkxFqitQ\nANIME : kabaneri\n\nTRXSH GXNG\n---------------------------------------------------------------------------------\nTRASH 新 ドラゴン - \n😈 SHOP - https://trash.clothing/\n😈 IG: https://www.instagram.com/trashgang\n😈 DC - https://discord.gg/kYga8nm\n😈 FB - https://facebook.com/youre.here.on.purpose\n😈 VK - https://vk.com/bornoflegend\n😈 T: https://twitter.com/garbageclub\n---------------------------------------------------------------------------------\nif you have anything you want to show us, work with us, share your ideas, videos, art, contact us here:\nhttps://www.trash-gang.com/info-contact", "Yury - Branded", 126, false, "NdzFRpnlkzc", "https://www.youtube.com/watch?v=NdzFRpnlkzc", "/downloads/music/TRASH 新 ドラゴン/Yury - Branded.m4a", false, 1, ~U[2020-03-27 19:00:04Z]] 09:45:53.062 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 09:45:53.064 [debug] QUERY OK source="media_items" db=1.5ms idle=6.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2011-07-05 19:38:42Z], 1] 09:45:53.067 [debug] QUERY OK source="media_items" db=2.4ms idle=7.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["This is the most beautiful (and sadness) world I've ever seen. \r\nHave you ever feel this? When your whole world is broken. You just siting the border of abyss.\r\nMovie: Dragonhunters\r\nMusic: Jalan Jalan - Lotus", "Jalan Jalan - Lotus (Soundtrack of Dragonhunters)", "9ad71389-bfce-4813-b8f7-a010b1a16e62", 388, false, "52GAt_fPX1k", "https://www.youtube.com/watch?v=52GAt_fPX1k", 65, "/downloads/music/Crisyta/Jalan Jalan - Lotus (Soundtrack of Dragonhunters).m4a", false, false, false, 1, [], 1, ~U[2011-07-05 19:38:42Z], ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], "This is the most beautiful (and sadness) world I've ever seen. \r\nHave you ever feel this? When your whole world is broken. You just siting the border of abyss.\r\nMovie: Dragonhunters\r\nMusic: Jalan Jalan - Lotus", "Jalan Jalan - Lotus (Soundtrack of Dragonhunters)", 388, false, "52GAt_fPX1k", "https://www.youtube.com/watch?v=52GAt_fPX1k", "/downloads/music/Crisyta/Jalan Jalan - Lotus (Soundtrack of Dragonhunters).m4a", false, 1, ~U[2011-07-05 19:38:42Z]] 09:45:53.109 [debug] QUERY OK source="sources" db=0.7ms idle=50.0ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z], 1] 09:45:53.110 [debug] QUERY OK source="media_items" db=1.2ms idle=48.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 09:45:53.112 [debug] QUERY OK source="media_items" db=0.8ms idle=48.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")))) [1] 09:45:53.112 [debug] QUERY OK source="media_items" db=0.4ms idle=47.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 09:45:53.115 [debug] QUERY OK source="tasks" db=1.2ms idle=3.4ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [9489, 1, ~U[2026-09-16 09:45:53Z], ~U[2026-09-16 09:45:53Z]] 09:45:53.116 [info] {"args":{"id":1},"id":9475,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":92973085,"event":"job:stop","queue_time":358432,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 09:46:00.438 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:46:21.352 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:51.353 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:00.439 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:47:21.354 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:51.355 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:00.441 [info] {"source":"oban","duration":587,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:48:21.356 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:51.357 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:00.442 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:49:21.358 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:51.359 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:00.443 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:50:21.360 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:51.361 [info] {"source":"oban","duration":856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:00.444 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:51:21.363 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:51.364 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:00.445 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:52:21.365 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:51.366 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:00.446 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:53:21.367 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:51.368 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:00.447 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:54:21.369 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:51.370 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:00.448 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:55:21.371 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:51.372 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:00.449 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:56:21.373 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:51.374 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:00.450 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:57:21.375 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:51.376 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:00.451 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:58:21.377 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:51.380 [info] {"source":"oban","duration":1011,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:00.452 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 09:59:21.381 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:51.382 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:00.453 [info] {"source":"oban","duration":373,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:00:21.383 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:51.384 [info] {"source":"oban","duration":837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:00.454 [info] {"source":"oban","duration":326,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:01:21.386 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:51.387 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:00.455 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:02:21.388 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:51.389 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:00.456 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:03:21.390 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:51.391 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:00.457 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:04:21.392 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:51.393 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:00.458 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:05:21.394 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:51.395 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:00.459 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:06:21.396 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:51.397 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:00.460 [info] {"source":"oban","duration":411,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:07:21.398 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:51.399 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:00.461 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:08:21.405 [info] {"source":"oban","duration":4919,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:51.406 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:00.462 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:09:21.408 [info] {"source":"oban","duration":1033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:51.409 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:00.463 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:10:21.410 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:51.411 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:00.464 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:11:21.412 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:51.413 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:00.465 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:12:21.414 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:51.415 [info] {"source":"oban","duration":880,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:00.466 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:13:21.417 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:51.418 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:00.467 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:14:21.419 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:51.420 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:00.468 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:15:21.421 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:51.422 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:00.469 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:16:21.423 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:51.424 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:00.470 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:17:21.425 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:51.427 [info] {"source":"oban","duration":899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:00.471 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:18:21.428 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:51.429 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:00.472 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:19:21.430 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:51.431 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:00.473 [info] {"source":"oban","duration":549,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:20:21.432 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:51.433 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:00.474 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:21:21.434 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:51.435 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:00.475 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:22:21.436 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:51.437 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:00.476 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:23:21.438 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:51.440 [info] {"source":"oban","duration":1500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:00.477 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:24:21.441 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:51.442 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:00.478 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:25:21.443 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:51.444 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:00.479 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:26:21.445 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:51.446 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:00.480 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:27:21.447 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:51.448 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:00.481 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:28:21.450 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:51.451 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:00.482 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:29:21.452 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:51.454 [info] {"source":"oban","duration":1266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:00.483 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:30:22.587 [info] {"source":"oban","duration":1831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:52.589 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:01.615 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:31:22.590 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:52.592 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:00.616 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:32:22.593 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:52.594 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:00.617 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:33:22.595 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:52.597 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:00.618 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:34:22.598 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:52.599 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:00.619 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:35:22.600 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:52.601 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:00.620 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:36:22.602 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:52.603 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:00.621 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:37:22.604 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:52.605 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:00.622 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:38:22.606 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:52.609 [info] {"source":"oban","duration":2574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:00.623 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:39:22.610 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:52.612 [info] {"source":"oban","duration":1272,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:00.624 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:40:22.613 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:52.614 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:00.625 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:41:22.615 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:52.616 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:00.626 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:42:22.617 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:52.618 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:00.627 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:43:22.619 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:52.620 [info] {"source":"oban","duration":852,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:00.628 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:44:22.622 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:52.624 [info] {"source":"oban","duration":1079,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:00.629 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:45:22.625 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:52.626 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:00.630 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:46:22.627 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:52.628 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:00.633 [info] {"source":"oban","duration":2883,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:47:22.629 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:52.630 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:00.635 [info] {"source":"oban","duration":726,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:48:22.631 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:52.633 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:00.637 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:49:14.979 [notice] :alarm_handler: {:set, {{:disk_almost_full, ~c"/config"}, []}} 10:49:22.634 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:52.636 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:00.638 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:50:22.638 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:52.639 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:00.639 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:51:22.640 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:52.641 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:00.640 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:52:22.642 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:52.643 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:00.641 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:53:22.644 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:52.645 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:00.642 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:54:22.646 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:52.647 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:00.643 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:55:22.648 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:52.649 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:00.644 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:56:22.650 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:52.651 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:00.645 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:57:22.652 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:52.653 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:00.646 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:58:22.654 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:52.655 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:00.647 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 10:59:22.656 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:52.657 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:00.648 [info] {"source":"oban","duration":254,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:00:22.658 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:52.659 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:00.649 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:01:22.660 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:52.661 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:00.650 [info] {"source":"oban","duration":257,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:02:22.663 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:52.664 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:00.651 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:03:22.665 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:52.666 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:00.652 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:04:22.667 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:52.669 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:00.653 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:05:22.670 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:52.671 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:00.654 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:06:22.672 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:52.673 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:00.655 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:07:22.674 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:52.675 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:00.656 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:08:22.676 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:52.677 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:00.657 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:09:22.683 [info] {"source":"oban","duration":1923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:52.684 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:00.658 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:10:22.687 [info] {"source":"oban","duration":2496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:52.688 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:00.659 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:11:22.689 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:52.690 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:00.660 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:12:22.691 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:52.692 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:00.661 [info] {"source":"oban","duration":262,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:13:22.693 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:52.694 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:00.662 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:14:22.695 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:52.696 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:00.663 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:15:22.697 [info] {"source":"oban","duration":883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:52.699 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:00.664 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:16:22.700 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:52.701 [info] {"source":"oban","duration":877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:00.665 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:17:22.703 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:52.704 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:00.666 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:18:22.705 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:52.706 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:00.667 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:19:22.708 [info] {"source":"oban","duration":1057,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:52.709 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:00.668 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:20:22.710 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:52.712 [info] {"source":"oban","duration":923,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:00.669 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:21:22.714 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:52.715 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:00.670 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:22:22.716 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:52.717 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:00.671 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:23:22.720 [info] {"source":"oban","duration":1294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:52.721 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:00.672 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:24:22.722 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:52.724 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:00.673 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:25:22.725 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:52.726 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:00.674 [info] {"source":"oban","duration":144,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:26:22.727 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:52.728 [info] {"source":"oban","duration":834,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:00.675 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:27:22.731 [info] {"source":"oban","duration":1084,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:52.733 [info] {"source":"oban","duration":1749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:00.676 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:28:22.734 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:52.736 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:00.677 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:29:22.737 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:52.739 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:00.678 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:30:22.740 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:52.741 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:00.679 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:31:22.742 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:52.744 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:00.680 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:32:22.745 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:52.747 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:00.681 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:33:22.749 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:52.750 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:00.682 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:34:22.751 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:52.752 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:00.683 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:35:22.753 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:52.754 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:00.684 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:36:22.755 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:52.756 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:00.685 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:37:22.757 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:52.758 [info] {"source":"oban","duration":821,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:00.686 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:38:22.760 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:52.761 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:00.687 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:39:22.762 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:52.763 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:00.688 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:40:22.764 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:52.765 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:00.689 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:41:22.767 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:52.768 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:00.690 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:42:22.769 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:52.770 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:00.691 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:43:22.771 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:52.772 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:00.692 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:44:22.773 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:52.774 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:00.693 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:45:22.775 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:52.776 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:00.694 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:46:22.777 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:52.778 [info] {"source":"oban","duration":830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:00.695 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:47:22.780 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:52.781 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:00.697 [info] {"source":"oban","duration":607,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:48:22.783 [info] {"source":"oban","duration":987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:52.784 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:00.700 [info] {"source":"oban","duration":1708,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:49:22.785 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:52.786 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:00.702 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:50:22.787 [info] {"source":"oban","duration":866,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:52.789 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:00.703 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:51:22.791 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:52.793 [info] {"source":"oban","duration":1359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:00.704 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:52:22.794 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:52.795 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:00.705 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:53:22.797 [info] {"source":"oban","duration":1124,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:52.799 [info] {"source":"oban","duration":1229,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:00.706 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:54:22.800 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:52.802 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:00.707 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:55:22.804 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:52.805 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:00.708 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:56:22.806 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:52.807 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:00.709 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:57:22.809 [info] {"source":"oban","duration":1333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:52.810 [info] {"source":"oban","duration":936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:00.710 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:58:22.812 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:52.813 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:00.711 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 11:59:22.817 [info] {"source":"oban","duration":2451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:52.818 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:00.712 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:00:22.819 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:52.820 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:00.713 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:01:22.821 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:52.822 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:00.714 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:02:22.823 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:52.824 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:00.715 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:03:22.825 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:52.826 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:00.716 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:04:22.827 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:52.828 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:00.717 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:05:22.829 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:52.830 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:00.718 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:06:22.831 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:52.832 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:00.719 [info] {"source":"oban","duration":325,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:07:22.833 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:52.834 [info] {"source":"oban","duration":537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:00.720 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:08:22.835 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:52.836 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:00.721 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:09:22.837 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:52.838 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:00.722 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:10:22.839 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:52.840 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:00.723 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:11:22.841 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:52.842 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:00.724 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:12:22.843 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:52.844 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:00.725 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:13:22.847 [info] {"source":"oban","duration":2471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:52.848 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:00.726 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:14:22.849 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:52.850 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:00.727 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:15:22.851 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:52.852 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:00.728 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:16:22.854 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:51.939 [info] GET / 12:16:51.939 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:16:51.940 [debug] QUERY OK source="settings" db=1.4ms idle=1355.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:16:51.941 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1357.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:16:51.942 [debug] QUERY OK source="sources" db=0.1ms idle=1357.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:16:52.033 [debug] QUERY OK source="media_items" db=90.7ms idle=1358.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:16:52.043 [debug] QUERY OK source="media_items" db=9.9ms idle=595.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:16:52.044 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=103.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:16:52.045 [debug] QUERY OK source="settings" db=0.2ms 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 [] 12:16:52.045 [debug] QUERY OK source="settings" db=0.2ms idle=103.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:16:52.048 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=15.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 12:16:52.122 [debug] QUERY OK source="media_items" db=0.3ms idle=78.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)) [] 12:16:52.122 [debug] QUERY OK source="media_items" db=0.4ms idle=77.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] 12:16:52.123 [debug] QUERY OK source="sources" db=0.2ms idle=78.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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 (?,?,?,?)) [4, 5, 2, 1] 12:16:52.133 [debug] QUERY OK source="media_items" db=8.3ms idle=78.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"))) [] 12:16:52.135 [debug] QUERY OK source="media_items" db=2.0ms idle=84.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] 12:16:52.136 [info] Sent 200 in 197ms 12:16:52.856 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:00.730 [info] {"source":"oban","duration":1681,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:17:22.857 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:52.858 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:00.731 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:18:22.859 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:52.860 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:00.732 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:19:22.861 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:52.862 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:00.733 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:20:22.863 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:52.864 [info] {"source":"oban","duration":843,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:00.734 [info] {"source":"oban","duration":112,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:21:22.865 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:52.867 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:00.735 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:22:22.868 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:52.869 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:00.736 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:23:22.870 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:52.871 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:00.737 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:24:22.872 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:52.873 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:00.738 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:25:22.874 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:52.875 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:00.739 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:26:22.876 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:52.877 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:00.740 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:27:22.878 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:52.879 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:00.741 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:28:22.880 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:52.881 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:00.742 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:29:22.883 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:52.884 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:00.743 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:30:22.885 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:52.887 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:00.744 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:31:22.888 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:52.889 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:00.745 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:32:22.890 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:52.891 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:00.746 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:33:22.892 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:52.894 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:00.747 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:34:22.895 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:52.896 [info] {"source":"oban","duration":853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:00.748 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:35:22.898 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:52.899 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:00.749 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:36:22.900 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:52.901 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:00.750 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:37:22.902 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:52.904 [info] {"source":"oban","duration":1055,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:00.751 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:38:22.905 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:52.906 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:00.752 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:39:22.907 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:52.908 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:00.753 [info] {"source":"oban","duration":248,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:40:22.909 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:52.910 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:00.755 [info] {"source":"oban","duration":431,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:41:22.911 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:52.912 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:00.757 [info] {"source":"oban","duration":890,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:42:22.913 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:52.914 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:00.759 [info] {"source":"oban","duration":328,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:43:02.632 [info] GET / 12:43:02.632 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 12:43:02.633 [debug] QUERY OK source="settings" db=0.3ms idle=378.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:43:02.633 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.2ms idle=32.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 12:43:02.633 [debug] QUERY OK source="sources" db=0.1ms idle=32.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 12:43:02.635 [debug] QUERY OK source="media_items" db=1.6ms idle=32.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:43:02.636 [debug] QUERY OK source="media_items" db=0.5ms idle=34.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 12:43:02.636 [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 [] 12:43:02.637 [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 [] 12:43:02.638 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:43:02.639 [debug] QUERY OK source="tasks" db=0.2ms 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"] 12:43:02.640 [debug] QUERY OK source="media_items" db=0.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 (m0."media_filepath" IS NULL)) [] 12:43:02.648 [debug] QUERY OK source="media_items" db=7.5ms idle=3.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 12:43:02.649 [debug] QUERY OK source="sources" db=0.2ms idle=11.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [4, 5, 2, 1] 12:43:02.652 [debug] QUERY OK source="media_items" db=2.3ms idle=12.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"))) [] 12:43:02.655 [debug] QUERY OK source="media_items" db=2.6ms queue=0.1ms idle=13.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] 12:43:02.657 [info] Sent 200 in 24ms 12:43:22.915 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:52.916 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:00.760 [info] {"source":"oban","duration":583,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:44:22.917 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:52.918 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:00.763 [info] {"source":"oban","duration":510,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:45:22.919 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:52.920 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:00.764 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:46:22.921 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:52.922 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:00.765 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:47:22.923 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:52.924 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:00.766 [info] {"source":"oban","duration":319,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:48:22.925 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:52.927 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:00.767 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:49:22.928 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:52.929 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:00.768 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:50:22.930 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:52.931 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:00.769 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:51:22.932 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:52.933 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:00.770 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:52:22.934 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:52.936 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:00.771 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:53:22.937 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:52.938 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:00.772 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:54:22.939 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:52.940 [info] {"source":"oban","duration":856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:00.773 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:55:22.942 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:52.943 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:00.774 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:56:22.944 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:52.945 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:00.775 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:57:22.946 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:52.947 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:00.776 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:58:22.948 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:52.949 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:00.777 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 12:59:22.950 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:52.951 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:00.778 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:00:22.952 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:52.953 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:00.779 [info] {"source":"oban","duration":331,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:01:22.955 [info] {"source":"oban","duration":977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:52.956 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:00.780 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:02:22.957 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:52.958 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:00.781 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:03:22.959 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:52.960 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:00.782 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:04:22.961 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:52.962 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:00.783 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:05:22.963 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:52.965 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:00.784 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:06:22.966 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:52.969 [info] {"source":"oban","duration":2346,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:00.785 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:07:22.970 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:52.971 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:00.786 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:08:22.972 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:52.973 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:00.787 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:09:22.974 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:52.975 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:00.788 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:10:22.976 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:52.977 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:00.789 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:11:22.978 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:52.979 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:00.790 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:12:22.980 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:52.981 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:00.791 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:13:22.982 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:52.983 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:00.792 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:14:22.984 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:52.985 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:00.793 [info] {"source":"oban","duration":294,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:15:22.986 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:52.987 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:00.794 [info] {"source":"oban","duration":406,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:16:22.988 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:52.989 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:00.795 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:17:22.990 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:52.991 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:00.796 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:18:22.992 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:52.993 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:00.797 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:19:22.994 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:52.995 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:00.798 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:20:22.996 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:52.997 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:00.799 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:21:22.998 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:53.000 [info] {"source":"oban","duration":1000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:00.800 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:22:23.001 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:53.002 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:00.801 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:23:23.003 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:53.004 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:00.802 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:24:23.006 [info] {"source":"oban","duration":1661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:53.008 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:00.803 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:25:23.010 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:53.011 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:00.804 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:26:23.012 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:53.013 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:00.805 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:27:23.014 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:53.015 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:00.806 [info] {"source":"oban","duration":298,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:28:23.016 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:53.017 [info] {"source":"oban","duration":894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:00.807 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:29:23.019 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:53.020 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:00.808 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:30:23.021 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:53.022 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:00.809 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:31:23.023 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:53.024 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:00.810 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:32:23.025 [info] {"source":"oban","duration":856,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:53.027 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:00.811 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:33:23.028 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:53.029 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:00.812 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:34:23.030 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:53.031 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:00.813 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:35:23.033 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:53.034 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:00.814 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:36:23.036 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:53.037 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:00.815 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:37:23.038 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:53.039 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:00.816 [info] {"source":"oban","duration":594,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:38:23.042 [info] {"source":"oban","duration":2324,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:53.043 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:00.817 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:39:23.044 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:53.045 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:00.818 [info] {"source":"oban","duration":335,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:40:23.047 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:53.048 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:00.819 [info] {"source":"oban","duration":628,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:41:23.049 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:53.052 [info] {"source":"oban","duration":1190,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:00.820 [info] {"source":"oban","duration":381,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:42:23.053 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:53.054 [info] {"source":"oban","duration":1040,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:00.821 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:43:23.056 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:53.057 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:00.822 [info] {"source":"oban","duration":471,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:44:23.059 [info] {"source":"oban","duration":1098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:53.060 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:00.823 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:45:23.061 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:53.062 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:00.824 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:46:23.063 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:53.064 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:00.825 [info] {"source":"oban","duration":393,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:47:23.065 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:53.066 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:00.826 [info] {"source":"oban","duration":104,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:48:23.067 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:53.069 [info] {"source":"oban","duration":1181,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:00.827 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:49:23.070 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:53.071 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:00.828 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:50:23.072 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:53.074 [info] {"source":"oban","duration":1064,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:00.830 [info] {"source":"oban","duration":470,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:51:23.075 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:53.076 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:00.831 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:52:23.077 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:53.078 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:00.832 [info] {"source":"oban","duration":408,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:53:23.080 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:53.081 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:00.833 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:54:23.083 [info] {"source":"oban","duration":1509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:53.084 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:00.835 [info] {"source":"oban","duration":1246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:55:23.085 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:53.086 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:00.839 [info] {"source":"oban","duration":2246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:56:23.087 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:53.088 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:00.840 [info] {"source":"oban","duration":290,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:57:23.090 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:53.091 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:00.841 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:58:23.092 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:53.093 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:00.842 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:59:23.094 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:53.095 [info] {"source":"oban","duration":917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:00.843 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:00:23.097 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:53.099 [info] {"source":"oban","duration":1396,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:00.844 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:01:23.101 [info] {"source":"oban","duration":1178,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:53.102 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:00.845 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:02:23.103 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:34.022 [info] GET /.git/config 14:02:34.024 [debug] QUERY OK source="settings" db=0.1ms idle=1350.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:34.024 [debug] QUERY OK source="settings" db=0.2ms idle=1352.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:02:34.024 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:02:34.025 [error] #PID<0.6940.0> running PinchflatWeb.Endpoint (connection #PID<0.6939.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu: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.6939.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 35090}, bindings: %{}, sock: {{172, 18, 0, 12}, 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", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 15.2; rv:137.0) Gecko/20100101 Firefox/137.0", "x-forwarded-for" => "35.194.57.199", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "35.194.57.199" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.6940.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, deflate"}, {"accept-language", "en-US,en;q=0.9"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 15.2; rv:137.0) Gecko/20100101 Firefox/137.0"}, {"x-forwarded-for", "35.194.57.199"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "35.194.57.199"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXSBuYkuA8-eeEAAJWB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6939.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 35090}, bindings: %{}, sock: {{172, 18, 0, 12}, 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", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 15.2; rv:137.0) Gecko/20100101 Firefox/137.0", "x-forwarded-for" => "35.194.57.199", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "35.194.57.199" }, 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/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6939.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 35090}, bindings: %{}, sock: {{172, 18, 0, 12}, 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", "accept-language" => "en-US,en;q=0.9", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 15.2; rv:137.0) Gecko/20100101 Firefox/137.0", "x-forwarded-for" => "35.194.57.199", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "35.194.57.199" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.6940.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} (truncated) 14:02:53.105 [info] {"source":"oban","duration":1342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:00.846 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:03:23.107 [info] {"source":"oban","duration":1130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:53.108 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:00.847 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:04:23.110 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:53.112 [info] {"source":"oban","duration":1058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:00.848 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:05:23.113 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:53.114 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:00.849 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:06:23.115 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:53.116 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:00.850 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:07:23.117 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:53.118 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:00.851 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:08:23.119 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:53.120 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:00.852 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:09:23.121 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:53.123 [info] {"source":"oban","duration":1840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:00.853 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:10:23.125 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:53.126 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:00.854 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:11:23.127 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:53.128 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:00.855 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:12:23.129 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:53.130 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:00.856 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:13:23.131 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:53.132 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:00.857 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:14:23.133 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:53.134 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:00.858 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:15:23.135 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:53.136 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:00.859 [info] {"source":"oban","duration":364,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:16:23.137 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:53.138 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:00.860 [info] {"source":"oban","duration":259,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:17:23.139 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:53.140 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:00.861 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:18:23.141 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:53.142 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:00.862 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:19:23.143 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:53.144 [info] {"source":"oban","duration":857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:00.863 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:20:23.146 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:53.147 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:00.864 [info] {"source":"oban","duration":517,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:21:23.148 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:53.149 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:00.865 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:22:23.150 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:53.151 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:00.866 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:23:23.152 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:53.154 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:00.867 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:24:23.155 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:53.157 [info] {"source":"oban","duration":1221,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:00.868 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:25:23.158 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:53.159 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:00.869 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:26:23.160 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:53.162 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:00.870 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:27:23.163 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:53.164 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:00.871 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:28:23.165 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:53.166 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:00.872 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:29:23.167 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:53.168 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:00.873 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:30:23.169 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:53.170 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:00.874 [info] {"source":"oban","duration":157,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:31:23.171 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:53.173 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:00.875 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:32:23.174 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:53.175 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:00.876 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:33:23.176 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:53.177 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:00.877 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:34:23.178 [info] {"source":"oban","duration":896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:53.180 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:00.878 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:35:23.181 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:53.182 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:00.879 [info] {"source":"oban","duration":272,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:36:23.183 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:53.185 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:00.880 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:37:23.186 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:53.187 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:00.881 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:38:23.188 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:53.189 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:00.882 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:39:23.190 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:53.191 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:00.883 [info] {"source":"oban","duration":305,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:40:23.192 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:53.193 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:00.884 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:41:23.194 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:53.195 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:00.885 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:42:23.196 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:53.197 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:00.886 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:43:23.198 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:53.199 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:00.887 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:44:23.200 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:53.201 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:00.888 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:45:23.202 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:53.204 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:00.889 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:46:23.206 [info] {"source":"oban","duration":1171,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:53.207 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:00.890 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:47:23.208 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:53.209 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:00.891 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:48:23.210 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:53.211 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:00.892 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:49:23.212 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:53.213 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:00.893 [info] {"source":"oban","duration":295,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:50:23.214 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:53.215 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:00.894 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:51:23.216 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:53.217 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:00.895 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:52:23.218 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:53.219 [info] {"source":"oban","duration":894,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:00.896 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:53:23.221 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:53.222 [info] {"source":"oban","duration":867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:00.897 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:54:23.224 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:53.225 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:00.898 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:55:23.226 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:53.227 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:00.899 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:56:23.228 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:53.229 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:00.900 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:57:23.230 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:53.232 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:00.902 [info] {"source":"oban","duration":909,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:58:23.233 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:53.234 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:00.903 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 14:59:23.235 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:53.236 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:00.904 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:00:23.237 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:53.238 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:00.905 [info] {"source":"oban","duration":235,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:01:23.239 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:53.240 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:00.906 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:02:23.241 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:53.242 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:00.907 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:03:23.243 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:53.244 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:00.908 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:04:23.245 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:53.246 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:00.909 [info] {"source":"oban","duration":217,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:05:23.247 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:53.248 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:00.910 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:06:23.249 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:53.250 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:00.911 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:07:23.251 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:53.252 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:00.912 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:08:23.253 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:53.254 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:00.913 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:09:23.255 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:53.258 [info] {"source":"oban","duration":2091,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:00.914 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:10:23.259 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:53.261 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:00.915 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:11:23.262 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:53.263 [info] {"source":"oban","duration":837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:00.916 [info] {"source":"oban","duration":273,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:12:23.266 [info] {"source":"oban","duration":996,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:53.267 [info] {"source":"oban","duration":950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:00.917 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:13:23.269 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:53.270 [info] {"source":"oban","duration":903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:00.918 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:14:23.272 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:53.273 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:00.919 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:15:23.281 [info] {"source":"oban","duration":7765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 15:15:53.284 [info] {"source":"oban","duration":2469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:00.920 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:16:23.285 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:53.286 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:00.921 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:17:23.287 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:53.288 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:00.922 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:18:23.289 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:53.290 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:00.923 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:19:19.812 [info] GET /.git/config 15:19:19.814 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1092.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:19:19.815 [debug] QUERY OK source="settings" db=1.0ms idle=1094.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:19:19.815 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:19:19.816 [error] #PID<0.7287.0> running PinchflatWeb.Endpoint (connection #PID<0.7286.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu: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.7286.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 55324}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "referer" => "http://pinchflat.homelab.simonjonas.eu/.git/config", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64)", "x-forwarded-for" => "172.86.81.140", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "172.86.81.140" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.7287.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"referer", "http://pinchflat.homelab.simonjonas.eu/.git/config"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64)"}, {"x-forwarded-for", "172.86.81.140"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "172.86.81.140"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXWN0Se-DqF6tcAAJzB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7286.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 55324}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "referer" => "http://pinchflat.homelab.simonjonas.eu/.git/config", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64)", "x-forwarded-for" => "172.86.81.140", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "172.86.81.140" }, 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/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7286.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 55324}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "referer" => "http://pinchflat.homelab.simonjonas.eu/.git/config", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64)", "x-forwarded-for" => "172.86.81.140", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "172.86.81.140" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.7287.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"referer", "http://pinchflat.homelab.simonjonas.eu/.git/config"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64)"}, {"x-forwarded-for", "172.86.81.140"}, {"x-forwarded-host", "pinchflat.homelab.simon (truncated) 15:19:23.291 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:53.292 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:00.924 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:20:23.293 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:53.294 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:00.925 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:21:23.295 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:53.296 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:00.926 [info] {"source":"oban","duration":290,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:22:23.297 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:53.299 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:00.927 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:23:23.300 [info] {"source":"oban","duration":886,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:53.302 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:00.928 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:24:23.303 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:53.304 [info] {"source":"oban","duration":905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:00.929 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:25:23.306 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:53.307 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:00.930 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:26:23.308 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:53.309 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:00.931 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:27:23.310 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:53.311 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:00.932 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:28:23.312 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:53.314 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:00.933 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:29:23.315 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:53.316 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:00.934 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:30:23.317 [info] {"source":"oban","duration":848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:53.319 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:00.935 [info] {"source":"oban","duration":260,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:31:23.320 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:53.321 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:00.936 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:32:23.322 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:53.323 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:00.937 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:33:23.324 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:53.325 [info] {"source":"oban","duration":837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:00.938 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:34:23.327 [info] {"source":"oban","duration":999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:53.329 [info] {"source":"oban","duration":850,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:00.939 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:35:23.331 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:53.332 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:00.940 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:36:23.333 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:53.336 [info] {"source":"oban","duration":1042,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:00.942 [info] {"source":"oban","duration":1109,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:37:23.337 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:53.338 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:00.943 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:38:23.339 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:53.340 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:00.944 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:39:23.341 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:53.342 [info] {"source":"oban","duration":876,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:00.945 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:40:23.344 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:53.345 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:00.946 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:41:23.346 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:53.350 [info] {"source":"oban","duration":4032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:00.947 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:42:23.352 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:53.353 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:00.948 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:43:23.354 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:53.356 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:00.949 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:44:23.358 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:53.359 [info] {"source":"oban","duration":883,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:00.950 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:45:23.361 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:53.362 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:00.951 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:46:23.363 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:53.365 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:00.952 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:47:23.366 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:53.367 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:00.953 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:48:23.368 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:53.369 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:00.954 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:49:23.370 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:53.371 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:00.955 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:50:23.372 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:53.373 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:00.956 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:51:23.374 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:53.375 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:00.957 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:52:23.376 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:53.377 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:00.958 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:53:23.378 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:53.379 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:00.959 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:54:23.380 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:53.381 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:00.960 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:55:23.382 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:53.383 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:00.961 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:56:23.384 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:53.385 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:00.962 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:57:23.386 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:53.387 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:00.963 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:58:23.388 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:53.389 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:00.964 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 15:59:23.390 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:53.391 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:00.965 [info] {"source":"oban","duration":320,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:00:23.392 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:53.393 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:00.966 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:01:23.394 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:53.395 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:00.967 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:02:23.396 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:53.397 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:00.968 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:03:23.398 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:53.399 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:00.969 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:04:23.400 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:53.401 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:00.970 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:05:23.402 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:53.403 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:00.971 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:06:23.404 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:53.405 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:00.972 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:07:23.406 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:53.407 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:00.973 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:08:23.408 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:53.409 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:00.974 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:09:23.410 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:53.411 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:00.975 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:10:23.412 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:53.413 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:00.976 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:11:23.414 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:53.415 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:00.977 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:12:23.416 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:53.417 [info] {"source":"oban","duration":816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:00.978 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:13:23.418 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:53.419 [info] {"source":"oban","duration":857,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:00.979 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:14:23.421 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:53.422 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:00.980 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:15:23.423 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:53.424 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:00.981 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:16:23.425 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:53.426 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:00.982 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:17:23.427 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:53.428 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:00.983 [info] {"source":"oban","duration":341,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:18:23.429 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:53.430 [info] {"source":"oban","duration":890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:00.984 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:19:23.432 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:53.433 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:00.985 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:20:23.434 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:53.436 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:00.986 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:21:23.437 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:53.438 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:00.988 [info] {"source":"oban","duration":1467,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:22:23.439 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:53.440 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:00.989 [info] {"source":"oban","duration":318,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:23:23.441 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:53.442 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:00.990 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:24:23.443 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:53.444 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:00.991 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:25:23.445 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:53.446 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:00.992 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:26:23.447 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:53.448 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:00.993 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:27:23.449 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:53.450 [info] {"source":"oban","duration":832,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:00.994 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:28:23.452 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:53.453 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:00.995 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:29:23.454 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:53.455 [info] {"source":"oban","duration":549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:00.996 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:30:23.456 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:53.457 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:00.997 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:31:23.458 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:53.459 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:00.998 [info] {"source":"oban","duration":363,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:32:23.460 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:53.461 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:00.999 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:33:23.462 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:53.463 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:01.000 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:34:23.464 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:53.465 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:00.001 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:35:23.466 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:53.467 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:00.002 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:36:23.468 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:53.469 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:00.003 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:37:23.470 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:53.471 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:00.004 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:38:23.472 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:53.474 [info] {"source":"oban","duration":1129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:00.005 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:39:23.475 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:53.476 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:00.007 [info] {"source":"oban","duration":450,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:40:23.477 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:53.478 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:00.008 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:41:23.479 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:53.480 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:00.009 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:42:23.481 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:53.482 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:00.010 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:43:23.483 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:53.484 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:00.011 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:44:23.485 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:53.486 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:00.012 [info] {"source":"oban","duration":409,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:45:23.487 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:53.488 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:00.013 [info] {"source":"oban","duration":282,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:46:23.489 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:53.490 [info] {"source":"oban","duration":859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:00.014 [info] {"source":"oban","duration":268,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:47:23.492 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:53.493 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:00.015 [info] {"source":"oban","duration":175,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:48:23.494 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:53.495 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:00.016 [info] {"source":"oban","duration":184,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:49:23.496 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:53.497 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:00.017 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:50:23.498 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:53.502 [info] {"source":"oban","duration":3326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:00.018 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:51:23.503 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:53.507 [info] {"source":"oban","duration":3577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 16:52:00.019 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:52:23.508 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:53.509 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:00.020 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:53:23.513 [info] {"source":"oban","duration":2292,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 16:53:53.514 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:00.021 [info] {"source":"oban","duration":174,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:54:23.515 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:53.516 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:00.022 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:55:23.517 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:53.518 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:00.023 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:56:23.519 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:53.520 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:00.024 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:57:23.521 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:53.522 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:00.025 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:58:23.523 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:53.524 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:00.026 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 16:59:23.525 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:53.526 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:00.027 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:00:23.527 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:53.528 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:00.028 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:01:23.529 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:53.530 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:00.029 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:02:23.531 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:53.532 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:00.030 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:03:23.533 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:53.535 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:00.031 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:04:23.537 [info] {"source":"oban","duration":1250,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:53.538 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:00.032 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:05:23.539 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:53.540 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:00.033 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:06:23.541 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:53.542 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:00.034 [info] {"source":"oban","duration":103,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:07:23.543 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:53.544 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:00.035 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:08:23.545 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:53.546 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:00.036 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:09:23.547 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:53.548 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:00.037 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:10:23.549 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:32.271 [info] {"args":{"id":6},"id":9477,"meta":{},"system_time":1789578632271298822,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 17:10:32.271 [debug] QUERY OK source="sources" db=0.2ms idle=1524.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:32.272 [debug] QUERY OK source="settings" db=0.1ms idle=1524.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:10:32.333 [debug] QUERY OK source="media_items" db=61.1ms idle=1009.7ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 17:10:32.338 [debug] QUERY OK source="media_items" db=4.4ms idle=68.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 17:10:32.339 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=67.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] 17:10:32.343 [debug] QUERY OK source="settings" db=0.2ms idle=71.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:10:32.344 [debug] QUERY OK source="settings" db=0.4ms idle=71.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:10:32.390 [debug] QUERY OK source="media_items" db=36.6ms queue=0.1ms idle=19.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 [6] 17:10:32.405 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 17:10:32.412 [debug] Current batch of media processed. Will check again in 1000ms 17:10:32.413 [debug] QUERY OK source="settings" db=7.4ms queue=0.1ms idle=67.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:10:32.413 [debug] QUERY OK source="settings" db=0.3ms idle=74.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:10:32.423 [debug] QUERY OK source="settings" db=9.7ms queue=0.2ms idle=69.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:10:32.429 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@IslamischesZentrumAachen --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/%(channel)S/%(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[format_note*=original]/bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/39/ae/39ae9f66e8ea92bb27400e2be23c149978ced5a51505b0feada548289368c0cc.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/46/c4/46c45ce7258f5f624b1348f9863894b98c988ab3fa0420f71bc953c195c2fa1b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:10:33.413 [debug] Current batch of media processed. Will check again in 1000ms 17:10:34.414 [debug] Current batch of media processed. Will check again in 1000ms 17:10:35.415 [debug] Current batch of media processed. Will check again in 1000ms 17:10:36.416 [debug] Current batch of media processed. Will check again in 1000ms 17:10:37.477 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Die heutige Predigt, gehalten von Sheikh Adnan am 17. Juli 2026, geht es um: Wie du innere Zufriedenheit findest | Quran & Sunnah.\nFreitagsgebet am 17.07.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "duration" => 1450, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-08-28 Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan/Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan [cGcmpUDQAuE].mp4", "id" => "cGcmpUDQAuE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cGcmpUDQAuE", "playlist_index" => 1, "timestamp" => 1787948441, "title" => "Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan", "upload_date" => "20260828"} 17:10:37.478 [debug] QUERY OK source="sources" db=0.3ms idle=1730.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:10:37.478 [debug] QUERY OK source="sources" db=0.1ms idle=1731.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:37.506 [debug] QUERY OK source="media_items" db=25.1ms queue=0.2ms idle=1733.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-28 20:20:41Z], 6] 17:10:37.513 [debug] QUERY OK source="media_items" db=6.9ms idle=1235.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die heutige Predigt, gehalten von Sheikh Adnan am 17. Juli 2026, geht es um: Wie du innere Zufriedenheit findest | Quran & Sunnah.\nFreitagsgebet am 17.07.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan", "7fbfe22c-f05d-4465-a458-a24c12548263", 1450, false, "cGcmpUDQAuE", "https://www.youtube.com/watch?v=cGcmpUDQAuE", 1, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-08-28 Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan/Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan [cGcmpUDQAuE].mp4", false, false, false, 6, [], 97, ~U[2026-08-28 20:20:41Z], ~U[2026-09-16 17:10:37Z], ~U[2026-09-16 17:10:37Z], "Die heutige Predigt, gehalten von Sheikh Adnan am 17. Juli 2026, geht es um: Wie du innere Zufriedenheit findest | Quran & Sunnah.\nFreitagsgebet am 17.07.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan", 1450, false, "cGcmpUDQAuE", "https://www.youtube.com/watch?v=cGcmpUDQAuE", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-08-28 Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan/Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan [cGcmpUDQAuE].mp4", false, 6, ~U[2026-08-28 20:20:41Z]] 17:10:37.514 [debug] QUERY OK source="sources" db=0.2ms idle=240.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:37.514 [debug] QUERY OK source="media_profiles" db=0.1ms idle=35.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:10:37.515 [debug] QUERY OK source="media_items" db=0.2ms idle=35.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [100199] 17:10:37.515 [debug] Current batch of media processed. Will check again in 1000ms 17:10:38.516 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 24 يوليو 2026، حول موضوع: لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟\n.\nصلاة الجمعة بتاريخ 24 يوليو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "duration" => 1282, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-08-28 خطبة الجمعة ب 24 يوليو 2026 – لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟ الشيخ أبوعبيدة/خطبة الجمعة ب 24 يوليو 2026 – لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟ الشيخ أبوعبيدة [D8IffS1Qkcw].mp4", "id" => "D8IffS1Qkcw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=D8IffS1Qkcw", "playlist_index" => 2, "timestamp" => 1787939296, "title" => "خطبة الجمعة ب 24 يوليو 2026 – لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟ الشيخ أبوعبيدة", "upload_date" => "20260828"} 17:10:38.516 [debug] QUERY OK source="sources" db=0.2ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:10:38.517 [debug] QUERY OK source="sources" db=0.1ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:38.517 [debug] QUERY OK source="media_items" db=0.4ms idle=1002.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-28 17:48:16Z], 6] 17:10:38.522 [debug] QUERY OK source="media_items" db=3.6ms idle=1003.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 24 يوليو 2026، حول موضوع: لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟\n.\nصلاة الجمعة بتاريخ 24 يوليو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 24 يوليو 2026 – لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟ الشيخ أبوعبيدة", "af5f1a20-4d9a-4b00-94d8-73706e9f3c07", 1282, false, "D8IffS1Qkcw", "https://www.youtube.com/watch?v=D8IffS1Qkcw", 2, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-08-28 خطبة الجمعة ب 24 يوليو 2026 – لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟ الشيخ أبوعبيدة/خطبة الجمعة ب 24 يوليو 2026 – لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟ الشيخ أبوعبيدة [D8IffS1Qkcw].mp4", false, false, false, 6, [], 97, ~U[2026-08-28 17:48:16Z], ~U[2026-09-16 17:10:38Z], ~U[2026-09-16 17:10:38Z], "تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 24 يوليو 2026، حول موضوع: لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟\n.\nصلاة الجمعة بتاريخ 24 يوليو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 24 يوليو 2026 – لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟ الشيخ أبوعبيدة", 1282, false, "D8IffS1Qkcw", "https://www.youtube.com/watch?v=D8IffS1Qkcw", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-08-28 خطبة الجمعة ب 24 يوليو 2026 – لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟ الشيخ أبوعبيدة/خطبة الجمعة ب 24 يوليو 2026 – لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟ الشيخ أبوعبيدة [D8IffS1Qkcw].mp4", false, 6, ~U[2026-08-28 17:48:16Z]] 17:10:38.522 [debug] QUERY OK source="sources" db=0.2ms idle=247.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:38.523 [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] 17:10:38.523 [debug] QUERY OK source="media_items" db=0.3ms idle=6.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [100200] 17:10:38.523 [debug] Current batch of media processed. Will check again in 1000ms 17:10:39.525 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Die heutige Predigt, gehalten von Sheikh Adnan am 17. Juli 2026, geht es um: Wie du innere Zufriedenheit findest | Quran & Sunnah.\nFreitagsgebet am 17.07.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "duration" => 1457, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-27 Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan/Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan [JCipkF9OfrI].mp4", "id" => "JCipkF9OfrI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JCipkF9OfrI", "playlist_index" => 3, "timestamp" => 1785186578, "title" => "Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan", "upload_date" => "20260727"} 17:10:39.525 [debug] QUERY OK source="sources" db=0.2ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:10:39.526 [debug] QUERY OK source="sources" db=0.2ms idle=1003.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:39.526 [debug] QUERY OK source="media_items" db=0.4ms idle=1003.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-27 21:09:38Z], 6] 17:10:39.536 [debug] QUERY OK source="media_items" db=8.9ms idle=1003.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die heutige Predigt, gehalten von Sheikh Adnan am 17. Juli 2026, geht es um: Wie du innere Zufriedenheit findest | Quran & Sunnah.\nFreitagsgebet am 17.07.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan", "0f279678-c037-4f8b-a7a4-c0f6c9c7d91e", 1457, false, "JCipkF9OfrI", "https://www.youtube.com/watch?v=JCipkF9OfrI", 3, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-27 Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan/Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan [JCipkF9OfrI].mp4", false, false, false, 6, [], 97, ~U[2026-07-27 21:09:38Z], ~U[2026-09-16 17:10:39Z], ~U[2026-09-16 17:10:39Z], "Die heutige Predigt, gehalten von Sheikh Adnan am 17. Juli 2026, geht es um: Wie du innere Zufriedenheit findest | Quran & Sunnah.\nFreitagsgebet am 17.07.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan", 1457, false, "JCipkF9OfrI", "https://www.youtube.com/watch?v=JCipkF9OfrI", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-27 Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan/Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan [JCipkF9OfrI].mp4", false, 6, ~U[2026-07-27 21:09:38Z]] 17:10:39.536 [debug] QUERY OK source="sources" db=0.2ms idle=260.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:39.537 [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" = ?) [2] 17:10:39.537 [debug] QUERY OK source="media_items" db=0.2ms idle=11.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [74656] 17:10:39.538 [debug] Current batch of media processed. Will check again in 1000ms 17:10:40.539 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 17 يوليو 2026، حول موضوع: لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟\n.\nصلاة الجمعة بتاريخ 17 يوليو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "duration" => 1541, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-27 خطبة الجمعة ب 17 يوليو 2026 – لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟ الشيخ أبوعبيدة/خطبة الجمعة ب 17 يوليو 2026 – لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟ الشيخ أبوعبيدة [OZSEPrsKbU0].mp4", "id" => "OZSEPrsKbU0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OZSEPrsKbU0", "playlist_index" => 4, "timestamp" => 1785149474, "title" => "خطبة الجمعة ب 17 يوليو 2026 – لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟ الشيخ أبوعبيدة", "upload_date" => "20260727"} 17:10:40.540 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:10:40.541 [debug] QUERY OK source="sources" db=0.6ms idle=1003.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:40.594 [debug] QUERY OK source="media_items" db=53.5ms idle=1003.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-27 10:51:14Z], 6] 17:10:40.617 [debug] QUERY OK source="media_items" db=21.9ms idle=1057.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 17 يوليو 2026، حول موضوع: لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟\n.\nصلاة الجمعة بتاريخ 17 يوليو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 17 يوليو 2026 – لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟ الشيخ أبوعبيدة", "f87c7037-b449-4281-8097-156972a4a7dc", 1541, false, "OZSEPrsKbU0", "https://www.youtube.com/watch?v=OZSEPrsKbU0", 4, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-27 خطبة الجمعة ب 17 يوليو 2026 – لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟ الشيخ أبوعبيدة/خطبة الجمعة ب 17 يوليو 2026 – لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟ الشيخ أبوعبيدة [OZSEPrsKbU0].mp4", false, false, false, 6, [], 97, ~U[2026-07-27 10:51:14Z], ~U[2026-09-16 17:10:40Z], ~U[2026-09-16 17:10:40Z], "تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 17 يوليو 2026، حول موضوع: لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟\n.\nصلاة الجمعة بتاريخ 17 يوليو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 17 يوليو 2026 – لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟ الشيخ أبوعبيدة", 1541, false, "OZSEPrsKbU0", "https://www.youtube.com/watch?v=OZSEPrsKbU0", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-27 خطبة الجمعة ب 17 يوليو 2026 – لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟ الشيخ أبوعبيدة/خطبة الجمعة ب 17 يوليو 2026 – لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟ الشيخ أبوعبيدة [OZSEPrsKbU0].mp4", false, 6, ~U[2026-07-27 10:51:14Z]] 17:10:40.618 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=340.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:40.618 [debug] QUERY OK source="media_profiles" db=0.3ms idle=78.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] 17:10:40.619 [debug] QUERY OK source="media_items" db=0.3ms idle=78.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 [73865] 17:10:40.619 [debug] Current batch of media processed. Will check again in 1000ms 17:10:41.621 [debug] Current batch of media processed. Will check again in 1000ms 17:10:42.622 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Die heutige Predigt, gehalten von Bruder Janane am 10. Juli 2026, geht es um: Der Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport?\nFreitagsgebet am 10.07.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) mit Bruder Janane", "duration" => 1736, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-26 Freitagsgebet am 10.07.2026 | Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport?/Freitagsgebet am 10.07.2026 | Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport? [CdCGIuB0028].mp4", "id" => "CdCGIuB0028", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CdCGIuB0028", "playlist_index" => 5, "timestamp" => 1785085499, "title" => "Freitagsgebet am 10.07.2026 | Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport?", "upload_date" => "20260726"} 17:10:42.622 [debug] QUERY OK source="sources" db=0.3ms idle=875.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:10:42.623 [debug] QUERY OK source="sources" db=0.1ms idle=876.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:42.624 [debug] QUERY OK source="media_items" db=0.4ms idle=876.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-26 17:04:59Z], 6] 17:10:42.628 [debug] QUERY OK source="media_items" db=3.7ms idle=877.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die heutige Predigt, gehalten von Bruder Janane am 10. Juli 2026, geht es um: Der Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport?\nFreitagsgebet am 10.07.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) mit Bruder Janane", "Freitagsgebet am 10.07.2026 | Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport?", "09de6c4c-4d7a-4118-aad1-d31e68ef3ff2", 1736, false, "CdCGIuB0028", "https://www.youtube.com/watch?v=CdCGIuB0028", 5, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-26 Freitagsgebet am 10.07.2026 | Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport?/Freitagsgebet am 10.07.2026 | Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport? [CdCGIuB0028].mp4", false, false, false, 6, [], 97, ~U[2026-07-26 17:04:59Z], ~U[2026-09-16 17:10:42Z], ~U[2026-09-16 17:10:42Z], "Die heutige Predigt, gehalten von Bruder Janane am 10. Juli 2026, geht es um: Der Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport?\nFreitagsgebet am 10.07.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) mit Bruder Janane", "Freitagsgebet am 10.07.2026 | Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport?", 1736, false, "CdCGIuB0028", "https://www.youtube.com/watch?v=CdCGIuB0028", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-26 Freitagsgebet am 10.07.2026 | Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport?/Freitagsgebet am 10.07.2026 | Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport? [CdCGIuB0028].mp4", false, 6, ~U[2026-07-26 17:04:59Z]] 17:10:42.628 [debug] QUERY OK source="sources" db=0.2ms idle=348.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:42.629 [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" = ?) [2] 17:10:42.629 [debug] QUERY OK source="media_items" db=0.2ms idle=6.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [73866] 17:10:42.630 [debug] Current batch of media processed. Will check again in 1000ms 17:10:43.631 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 10 يوليو 2026، حول موضوع: لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟\n.\nصلاة الجمعة بتاريخ 10 يوليو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "duration" => 1348, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-26 خطبة الجمعة ب 10 يوليو 2026 – لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟ الشيخ أبوعبيدة/خطبة الجمعة ب 10 يوليو 2026 – لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟ الشيخ أبوعبيدة [DzDdBLHaX4s].mp4", "id" => "DzDdBLHaX4s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DzDdBLHaX4s", "playlist_index" => 6, "timestamp" => 1785073099, "title" => "خطبة الجمعة ب 10 يوليو 2026 – لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟ الشيخ أبوعبيدة", "upload_date" => "20260726"} 17:10:43.631 [debug] QUERY OK source="sources" db=0.3ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:10:43.632 [debug] QUERY OK source="sources" db=0.1ms idle=1003.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:43.632 [debug] QUERY OK source="media_items" db=0.4ms idle=1003.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-26 13:38:19Z], 6] 17:10:43.635 [debug] QUERY OK source="media_items" db=2.3ms idle=1003.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 10 يوليو 2026، حول موضوع: لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟\n.\nصلاة الجمعة بتاريخ 10 يوليو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 10 يوليو 2026 – لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟ الشيخ أبوعبيدة", "794e21d1-f553-4c84-ae26-9c4350868f8d", 1348, false, "DzDdBLHaX4s", "https://www.youtube.com/watch?v=DzDdBLHaX4s", 6, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-26 خطبة الجمعة ب 10 يوليو 2026 – لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟ الشيخ أبوعبيدة/خطبة الجمعة ب 10 يوليو 2026 – لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟ الشيخ أبوعبيدة [DzDdBLHaX4s].mp4", false, false, false, 6, [], 97, ~U[2026-07-26 13:38:19Z], ~U[2026-09-16 17:10:43Z], ~U[2026-09-16 17:10:43Z], "تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 10 يوليو 2026، حول موضوع: لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟\n.\nصلاة الجمعة بتاريخ 10 يوليو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 10 يوليو 2026 – لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟ الشيخ أبوعبيدة", 1348, false, "DzDdBLHaX4s", "https://www.youtube.com/watch?v=DzDdBLHaX4s", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-26 خطبة الجمعة ب 10 يوليو 2026 – لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟ الشيخ أبوعبيدة/خطبة الجمعة ب 10 يوليو 2026 – لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟ الشيخ أبوعبيدة [DzDdBLHaX4s].mp4", false, 6, ~U[2026-07-26 13:38:19Z]] 17:10:43.636 [debug] QUERY OK source="sources" db=0.3ms idle=355.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:43.637 [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" = ?) [2] 17:10:43.638 [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 [73080] 17:10:43.638 [debug] Current batch of media processed. Will check again in 1000ms 17:10:44.639 [debug] Current batch of media processed. Will check again in 1000ms 17:10:45.640 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Die heutige Predigt, gehalten von Sheikh Adnan am 19. Juni 2026, geht es um: Aschura: Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung.\nFreitagsgebet am 19.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "duration" => 1500, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-03 Freitagsgebet am 19.06.2026 | Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung#/Freitagsgebet am 19.06.2026 | Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung. [fZaZwQadENA].mp4", "id" => "fZaZwQadENA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fZaZwQadENA", "playlist_index" => 7, "timestamp" => 1783083865, "title" => "Freitagsgebet am 19.06.2026 | Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung.", "upload_date" => "20260703"} 17:10:45.640 [debug] QUERY OK source="sources" db=0.2ms idle=893.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:10:45.641 [debug] QUERY OK source="sources" db=0.1ms idle=893.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:45.642 [debug] QUERY OK source="media_items" db=0.6ms idle=894.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-03 13:04:25Z], 6] 17:10:45.645 [debug] QUERY OK source="media_items" db=2.8ms idle=895.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die heutige Predigt, gehalten von Sheikh Adnan am 19. Juni 2026, geht es um: Aschura: Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung.\nFreitagsgebet am 19.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "Freitagsgebet am 19.06.2026 | Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung.", "4e2c1717-67da-48d1-8ec4-c81c959ff84a", 1500, false, "fZaZwQadENA", "https://www.youtube.com/watch?v=fZaZwQadENA", 7, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-03 Freitagsgebet am 19.06.2026 | Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung#/Freitagsgebet am 19.06.2026 | Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung. [fZaZwQadENA].mp4", false, false, false, 6, [], 97, ~U[2026-07-03 13:04:25Z], ~U[2026-09-16 17:10:45Z], ~U[2026-09-16 17:10:45Z], "Die heutige Predigt, gehalten von Sheikh Adnan am 19. Juni 2026, geht es um: Aschura: Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung.\nFreitagsgebet am 19.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "Freitagsgebet am 19.06.2026 | Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung.", 1500, false, "fZaZwQadENA", "https://www.youtube.com/watch?v=fZaZwQadENA", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-03 Freitagsgebet am 19.06.2026 | Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung#/Freitagsgebet am 19.06.2026 | Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung. [fZaZwQadENA].mp4", false, 6, ~U[2026-07-03 13:04:25Z]] 17:10:45.645 [debug] QUERY OK source="sources" db=0.1ms idle=361.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:45.646 [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] 17:10:45.646 [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 [55700] 17:10:45.646 [debug] Current batch of media processed. Will check again in 1000ms 17:10:46.648 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "تدور خطبة اليوم بتاريخ 26 يونيو 2026، حول موضوع: بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب\n.\nصلاة الجمعة بتاريخ 26 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA", "duration" => 969, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-03 خطبة الجمعة ب 26 يونيو 2026 – بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب/خطبة الجمعة ب 26 يونيو 2026 – بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب [3CggvelThec].mp4", "id" => "3CggvelThec", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3CggvelThec", "playlist_index" => 8, "timestamp" => 1783076054, "title" => "خطبة الجمعة ب 26 يونيو 2026 – بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب", "upload_date" => "20260703"} 17:10:46.648 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:10:46.649 [debug] QUERY OK source="sources" db=0.2ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:46.650 [debug] QUERY OK source="media_items" db=0.5ms idle=1003.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-03 10:54:14Z], 6] 17:10:46.654 [debug] QUERY OK source="media_items" db=3.3ms idle=1003.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تدور خطبة اليوم بتاريخ 26 يونيو 2026، حول موضوع: بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب\n.\nصلاة الجمعة بتاريخ 26 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA", "خطبة الجمعة ب 26 يونيو 2026 – بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب", "0416453e-399e-409a-841c-057ef490ad8f", 969, false, "3CggvelThec", "https://www.youtube.com/watch?v=3CggvelThec", 8, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-03 خطبة الجمعة ب 26 يونيو 2026 – بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب/خطبة الجمعة ب 26 يونيو 2026 – بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب [3CggvelThec].mp4", false, false, false, 6, [], 97, ~U[2026-07-03 10:54:14Z], ~U[2026-09-16 17:10:46Z], ~U[2026-09-16 17:10:46Z], "تدور خطبة اليوم بتاريخ 26 يونيو 2026، حول موضوع: بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب\n.\nصلاة الجمعة بتاريخ 26 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA", "خطبة الجمعة ب 26 يونيو 2026 – بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب", 969, false, "3CggvelThec", "https://www.youtube.com/watch?v=3CggvelThec", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-03 خطبة الجمعة ب 26 يونيو 2026 – بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب/خطبة الجمعة ب 26 يونيو 2026 – بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب [3CggvelThec].mp4", false, 6, ~U[2026-07-03 10:54:14Z]] 17:10:46.654 [debug] QUERY OK source="sources" db=0.2ms idle=369.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:46.655 [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] 17:10:46.655 [debug] QUERY OK source="media_items" db=0.2ms idle=6.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [55701] 17:10:46.656 [debug] Current batch of media processed. Will check again in 1000ms 17:10:47.657 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Die heutige Predigt, gehalten von Sheikh Adnan am 26. Juni 2026, geht es um: Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens.\nFreitagsgebet am 26.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "duration" => 799, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-02 Freitagsgebet am 26.06.2026 | Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens/Freitagsgebet am 26.06.2026 | Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens [DWP3NPo-YOY].mp4", "id" => "DWP3NPo-YOY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DWP3NPo-YOY", "playlist_index" => 9, "timestamp" => 1782990728, "title" => "Freitagsgebet am 26.06.2026 | Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens", "upload_date" => "20260702"} 17:10:47.657 [debug] QUERY OK source="sources" db=0.2ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:10:47.658 [debug] QUERY OK source="sources" db=0.1ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:47.658 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-02 11:12:08Z], 6] 17:10:47.663 [debug] QUERY OK source="media_items" db=3.7ms idle=1003.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die heutige Predigt, gehalten von Sheikh Adnan am 26. Juni 2026, geht es um: Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens.\nFreitagsgebet am 26.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "Freitagsgebet am 26.06.2026 | Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens", "db981c0c-4b19-4b22-8661-531a716ce0df", 799, false, "DWP3NPo-YOY", "https://www.youtube.com/watch?v=DWP3NPo-YOY", 9, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-02 Freitagsgebet am 26.06.2026 | Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens/Freitagsgebet am 26.06.2026 | Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens [DWP3NPo-YOY].mp4", false, false, false, 6, [], 97, ~U[2026-07-02 11:12:08Z], ~U[2026-09-16 17:10:47Z], ~U[2026-09-16 17:10:47Z], "Die heutige Predigt, gehalten von Sheikh Adnan am 26. Juni 2026, geht es um: Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens.\nFreitagsgebet am 26.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "Freitagsgebet am 26.06.2026 | Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens", 799, false, "DWP3NPo-YOY", "https://www.youtube.com/watch?v=DWP3NPo-YOY", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-02 Freitagsgebet am 26.06.2026 | Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens/Freitagsgebet am 26.06.2026 | Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens [DWP3NPo-YOY].mp4", false, 6, ~U[2026-07-02 11:12:08Z]] 17:10:47.663 [debug] QUERY OK source="sources" db=0.2ms idle=377.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:47.664 [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] 17:10:47.664 [debug] QUERY OK source="media_items" db=0.2ms idle=6.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [55020] 17:10:47.664 [debug] Current batch of media processed. Will check again in 1000ms 17:10:48.666 [debug] Current batch of media processed. Will check again in 1000ms 17:10:49.667 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 19 يونيو 2026، حول موضوع: الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟\n.\nصلاة الجمعة بتاريخ 19 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "duration" => 1229, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-02 خطبة الجمعة ب 19 يونيو 2026 – الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟/خطبة الجمعة ب 19 يونيو 2026 – الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟ [BPM5KRwkx_k].mp4", "id" => "BPM5KRwkx_k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BPM5KRwkx_k", "playlist_index" => 10, "timestamp" => 1782979635, "title" => "خطبة الجمعة ب 19 يونيو 2026 – الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟", "upload_date" => "20260702"} 17:10:49.667 [debug] QUERY OK source="sources" db=0.2ms idle=920.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:10:49.668 [debug] QUERY OK source="sources" db=0.1ms idle=921.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:49.668 [debug] QUERY OK source="media_items" db=0.4ms idle=921.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-02 08:07:15Z], 6] 17:10:49.672 [debug] QUERY OK source="media_items" db=3.1ms idle=922.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 19 يونيو 2026، حول موضوع: الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟\n.\nصلاة الجمعة بتاريخ 19 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 19 يونيو 2026 – الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟", "3462c1e9-1140-4b12-9eec-4d4384e69d9e", 1229, false, "BPM5KRwkx_k", "https://www.youtube.com/watch?v=BPM5KRwkx_k", 10, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-02 خطبة الجمعة ب 19 يونيو 2026 – الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟/خطبة الجمعة ب 19 يونيو 2026 – الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟ [BPM5KRwkx_k].mp4", false, false, false, 6, [], 97, ~U[2026-07-02 08:07:15Z], ~U[2026-09-16 17:10:49Z], ~U[2026-09-16 17:10:49Z], "تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 19 يونيو 2026، حول موضوع: الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟\n.\nصلاة الجمعة بتاريخ 19 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 19 يونيو 2026 – الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟", 1229, false, "BPM5KRwkx_k", "https://www.youtube.com/watch?v=BPM5KRwkx_k", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-02 خطبة الجمعة ب 19 يونيو 2026 – الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟/خطبة الجمعة ب 19 يونيو 2026 – الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟ [BPM5KRwkx_k].mp4", false, 6, ~U[2026-07-02 08:07:15Z]] 17:10:49.673 [debug] QUERY OK source="sources" db=0.2ms idle=385.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:49.673 [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] 17:10:49.674 [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 [55021] 17:10:49.674 [debug] Current batch of media processed. Will check again in 1000ms 17:10:50.675 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Die heutige Predigt, gehalten von Bruder Janane am 12. Juni 2026, geht es um: Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja!\nFreitagsgebet am 12.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) mit Bruder Janane", "duration" => 1357, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-18 Freitagsgebet am 12.06.2026 | Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja/Freitagsgebet am 12.06.2026 | Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja [ylPaBQRzGW0].mp4", "id" => "ylPaBQRzGW0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ylPaBQRzGW0", "playlist_index" => 11, "timestamp" => 1781812568, "title" => "Freitagsgebet am 12.06.2026 | Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja", "upload_date" => "20260618"} 17:10:50.675 [debug] QUERY OK source="sources" db=0.2ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:10:50.676 [debug] QUERY OK source="sources" db=0.1ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:50.676 [debug] QUERY OK source="media_items" db=0.4ms idle=1002.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-18 19:56:08Z], 6] 17:10:50.682 [debug] QUERY OK source="media_items" db=4.8ms idle=1003.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die heutige Predigt, gehalten von Bruder Janane am 12. Juni 2026, geht es um: Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja!\nFreitagsgebet am 12.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) mit Bruder Janane", "Freitagsgebet am 12.06.2026 | Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja", "d721db69-6957-47ad-807b-6e2267f973ff", 1357, false, "ylPaBQRzGW0", "https://www.youtube.com/watch?v=ylPaBQRzGW0", 11, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-18 Freitagsgebet am 12.06.2026 | Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja/Freitagsgebet am 12.06.2026 | Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja [ylPaBQRzGW0].mp4", false, false, false, 6, [], 96, ~U[2026-06-18 19:56:08Z], ~U[2026-09-16 17:10:50Z], ~U[2026-09-16 17:10:50Z], "Die heutige Predigt, gehalten von Bruder Janane am 12. Juni 2026, geht es um: Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja!\nFreitagsgebet am 12.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) mit Bruder Janane", "Freitagsgebet am 12.06.2026 | Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja", 1357, false, "ylPaBQRzGW0", "https://www.youtube.com/watch?v=ylPaBQRzGW0", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-18 Freitagsgebet am 12.06.2026 | Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja/Freitagsgebet am 12.06.2026 | Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja [ylPaBQRzGW0].mp4", false, 6, ~U[2026-06-18 19:56:08Z]] 17:10:50.682 [debug] QUERY OK source="sources" db=0.2ms idle=393.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:50.683 [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" = ?) [2] 17:10:50.683 [debug] QUERY OK source="media_items" db=0.2ms idle=7.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [52010] 17:10:50.683 [debug] Current batch of media processed. Will check again in 1000ms 17:10:51.685 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 12 يونيو 2026، حول موضوع: استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل \n.\nصلاة الجمعة بتاريخ 12 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "duration" => 1105, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-18 خطبة الجمعة ب 12 يونيو 2026 – استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل/خطبة الجمعة ب 12 يونيو 2026 – استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل [PebYqlLkhCM].mp4", "id" => "PebYqlLkhCM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=PebYqlLkhCM", "playlist_index" => 12, "timestamp" => 1781794514, "title" => "خطبة الجمعة ب 12 يونيو 2026 – استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل", "upload_date" => "20260618"} 17:10:51.685 [debug] QUERY OK source="sources" db=0.3ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:10:51.686 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:51.687 [debug] QUERY OK source="media_items" db=0.5ms idle=1003.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-18 14:55:14Z], 6] 17:10:51.691 [debug] QUERY OK source="media_items" db=3.3ms idle=1003.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 12 يونيو 2026، حول موضوع: استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل \n.\nصلاة الجمعة بتاريخ 12 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 12 يونيو 2026 – استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل", "bf6dcefe-c29f-4ed5-9228-042ab9bd9c45", 1105, false, "PebYqlLkhCM", "https://www.youtube.com/watch?v=PebYqlLkhCM", 12, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-18 خطبة الجمعة ب 12 يونيو 2026 – استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل/خطبة الجمعة ب 12 يونيو 2026 – استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل [PebYqlLkhCM].mp4", false, false, false, 6, [], 96, ~U[2026-06-18 14:55:14Z], ~U[2026-09-16 17:10:51Z], ~U[2026-09-16 17:10:51Z], "تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 12 يونيو 2026، حول موضوع: استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل \n.\nصلاة الجمعة بتاريخ 12 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 12 يونيو 2026 – استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل", 1105, false, "PebYqlLkhCM", "https://www.youtube.com/watch?v=PebYqlLkhCM", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-18 خطبة الجمعة ب 12 يونيو 2026 – استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل/خطبة الجمعة ب 12 يونيو 2026 – استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل [PebYqlLkhCM].mp4", false, 6, ~U[2026-06-18 14:55:14Z]] 17:10:51.691 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=401.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:51.692 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 17:10:51.693 [debug] QUERY OK source="media_items" db=0.4ms idle=6.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [52011] 17:10:51.693 [debug] Current batch of media processed. Will check again in 1000ms 17:10:52.695 [debug] Current batch of media processed. Will check again in 1000ms 17:10:53.550 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:53.696 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Die heutige Predigt, gehalten von Sheikh Adnan am 05. Juni 2026, geht es um: Iman und Heuchelei – Woran erkennt man den wahren Glauben?\nFreitagsgebet am 05.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch)", "duration" => 1391, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-18 Freitagsgebet am 05.06.2026 | Iman und Heuchelei – Woran erkennt man den wahren Glauben?/Freitagsgebet am 05.06.2026 | Iman und Heuchelei – Woran erkennt man den wahren Glauben? [BpdnMEyKcG4].mp4", "id" => "BpdnMEyKcG4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BpdnMEyKcG4", "playlist_index" => 13, "timestamp" => 1781782045, "title" => "Freitagsgebet am 05.06.2026 | Iman und Heuchelei – Woran erkennt man den wahren Glauben?", "upload_date" => "20260618"} 17:10:53.696 [debug] QUERY OK source="sources" db=0.2ms idle=949.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:10:53.697 [debug] QUERY OK source="sources" db=0.1ms idle=949.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:53.697 [debug] QUERY OK source="media_items" db=0.4ms idle=950.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-18 11:27:25Z], 6] 17:10:53.702 [debug] QUERY OK source="media_items" db=4.0ms idle=405.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die heutige Predigt, gehalten von Sheikh Adnan am 05. Juni 2026, geht es um: Iman und Heuchelei – Woran erkennt man den wahren Glauben?\nFreitagsgebet am 05.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch)", "Freitagsgebet am 05.06.2026 | Iman und Heuchelei – Woran erkennt man den wahren Glauben?", "21d08fe6-fb54-433e-9e5f-5ef95238ef38", 1391, false, "BpdnMEyKcG4", "https://www.youtube.com/watch?v=BpdnMEyKcG4", 13, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-18 Freitagsgebet am 05.06.2026 | Iman und Heuchelei – Woran erkennt man den wahren Glauben?/Freitagsgebet am 05.06.2026 | Iman und Heuchelei – Woran erkennt man den wahren Glauben? [BpdnMEyKcG4].mp4", false, false, false, 6, [], 96, ~U[2026-06-18 11:27:25Z], ~U[2026-09-16 17:10:53Z], ~U[2026-09-16 17:10:53Z], "Die heutige Predigt, gehalten von Sheikh Adnan am 05. Juni 2026, geht es um: Iman und Heuchelei – Woran erkennt man den wahren Glauben?\nFreitagsgebet am 05.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch)", "Freitagsgebet am 05.06.2026 | Iman und Heuchelei – Woran erkennt man den wahren Glauben?", 1391, false, "BpdnMEyKcG4", "https://www.youtube.com/watch?v=BpdnMEyKcG4", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-18 Freitagsgebet am 05.06.2026 | Iman und Heuchelei – Woran erkennt man den wahren Glauben?/Freitagsgebet am 05.06.2026 | Iman und Heuchelei – Woran erkennt man den wahren Glauben? [BpdnMEyKcG4].mp4", false, 6, ~U[2026-06-18 11:27:25Z]] 17:10:53.703 [debug] QUERY OK source="sources" db=0.2ms idle=151.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:53.703 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:10:53.703 [debug] QUERY OK source="media_items" db=0.2ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [52012] 17:10:53.704 [debug] Current batch of media processed. Will check again in 1000ms 17:10:54.705 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "تركز خطبة اليوم، التي ألقاها الأخ طارق بتاريخ 05 يونيو 2026، على موضوع: غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟\".\nصلاة الجمعة بتاريخ 05 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "duration" => 1506, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-07 خطبة الجمعة بتاريخ 05 يونيو 2026 – غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟ - الأخ طارق/خطبة الجمعة بتاريخ 05 يونيو 2026 – غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟ - الأخ طارق [M4F2rswCxiA].mp4", "id" => "M4F2rswCxiA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=M4F2rswCxiA", "playlist_index" => 14, "timestamp" => 1780852431, "title" => "خطبة الجمعة بتاريخ 05 يونيو 2026 – غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟ - الأخ طارق", "upload_date" => "20260607"} 17:10:54.705 [debug] QUERY OK source="sources" db=0.2ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:10:54.706 [debug] QUERY OK source="sources" db=0.1ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:54.706 [debug] QUERY OK source="media_items" db=0.4ms idle=1002.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-07 17:13:51Z], 6] 17:10:54.710 [debug] QUERY OK source="media_items" db=3.4ms idle=1003.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تركز خطبة اليوم، التي ألقاها الأخ طارق بتاريخ 05 يونيو 2026، على موضوع: غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟\".\nصلاة الجمعة بتاريخ 05 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة بتاريخ 05 يونيو 2026 – غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟ - الأخ طارق", "58cb3d58-55a6-4f83-9860-00f8e55bc753", 1506, false, "M4F2rswCxiA", "https://www.youtube.com/watch?v=M4F2rswCxiA", 14, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-07 خطبة الجمعة بتاريخ 05 يونيو 2026 – غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟ - الأخ طارق/خطبة الجمعة بتاريخ 05 يونيو 2026 – غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟ - الأخ طارق [M4F2rswCxiA].mp4", false, false, false, 6, [], 97, ~U[2026-06-07 17:13:51Z], ~U[2026-09-16 17:10:54Z], ~U[2026-09-16 17:10:54Z], "تركز خطبة اليوم، التي ألقاها الأخ طارق بتاريخ 05 يونيو 2026، على موضوع: غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟\".\nصلاة الجمعة بتاريخ 05 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة بتاريخ 05 يونيو 2026 – غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟ - الأخ طارق", 1506, false, "M4F2rswCxiA", "https://www.youtube.com/watch?v=M4F2rswCxiA", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-07 خطبة الجمعة بتاريخ 05 يونيو 2026 – غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟ - الأخ طارق/خطبة الجمعة بتاريخ 05 يونيو 2026 – غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟ - الأخ طارق [M4F2rswCxiA].mp4", false, 6, ~U[2026-06-07 17:13:51Z]] 17:10:54.711 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:54.711 [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] 17:10:54.712 [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 [39824] 17:10:54.712 [debug] Current batch of media processed. Will check again in 1000ms 17:10:55.713 [debug] Current batch of media processed. Will check again in 1000ms 17:10:56.714 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit | Sheikh Adnan", "duration" => 1491, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-07 Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit/Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit [lKsTN47rs-A].mp4", "id" => "lKsTN47rs-A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lKsTN47rs-A", "playlist_index" => 15, "timestamp" => 1780841119, "title" => "Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit", "upload_date" => "20260607"} 17:10:56.714 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [6] 17:10:56.715 [debug] QUERY OK source="sources" db=0.1ms idle=967.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:56.715 [debug] QUERY OK source="media_items" db=0.4ms idle=968.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-07 14:05:19Z], 6] 17:10:56.720 [debug] QUERY OK source="media_items" db=4.0ms idle=969.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit | Sheikh Adnan", "Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit", "a5199dd6-6268-425d-8de7-0af5181a94fb", 1491, false, "lKsTN47rs-A", "https://www.youtube.com/watch?v=lKsTN47rs-A", 15, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-07 Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit/Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit [lKsTN47rs-A].mp4", false, false, false, 6, [], 97, ~U[2026-06-07 14:05:19Z], ~U[2026-09-16 17:10:56Z], ~U[2026-09-16 17:10:56Z], "Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit | Sheikh Adnan", "Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit", 1491, false, "lKsTN47rs-A", "https://www.youtube.com/watch?v=lKsTN47rs-A", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-07 Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit/Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit [lKsTN47rs-A].mp4", false, 6, ~U[2026-06-07 14:05:19Z]] 17:10:56.720 [debug] QUERY OK source="sources" db=0.2ms idle=424.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:56.721 [debug] QUERY OK source="media_profiles" db=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] 17:10:56.721 [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 [39825] 17:10:56.722 [debug] Current batch of media processed. Will check again in 1000ms 17:10:57.723 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "تركز خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 29 مايو 2026، على موضوع: أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية\n.\nصلاة الجمعة بتاريخ 29 مايو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "duration" => 1239, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-02 خطبة الجمعة ب 29 مايو 2026 – أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية - الشيخ أبو عبيدة/خطبة الجمعة ب 29 مايو 2026 – أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية - الشيخ أبو عبيدة [RUrrhrKqNRE].mp4", "id" => "RUrrhrKqNRE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RUrrhrKqNRE", "playlist_index" => 16, "timestamp" => 1780385161, "title" => "خطبة الجمعة ب 29 مايو 2026 – أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية - الشيخ أبو عبيدة", "upload_date" => "20260602"} 17:10:57.723 [debug] QUERY OK source="sources" db=0.2ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:10:57.724 [debug] QUERY OK source="sources" db=0.1ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:57.724 [debug] QUERY OK source="media_items" db=0.4ms idle=1003.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-02 07:26:01Z], 6] 17:10:57.729 [debug] QUERY OK source="media_items" db=4.1ms idle=1003.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تركز خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 29 مايو 2026، على موضوع: أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية\n.\nصلاة الجمعة بتاريخ 29 مايو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة ب 29 مايو 2026 – أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية - الشيخ أبو عبيدة", "7dd8e474-be4c-4369-ae8d-797efb7f9b65", 1239, false, "RUrrhrKqNRE", "https://www.youtube.com/watch?v=RUrrhrKqNRE", 16, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-02 خطبة الجمعة ب 29 مايو 2026 – أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية - الشيخ أبو عبيدة/خطبة الجمعة ب 29 مايو 2026 – أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية - الشيخ أبو عبيدة [RUrrhrKqNRE].mp4", false, false, false, 6, [], 98, ~U[2026-06-02 07:26:01Z], ~U[2026-09-16 17:10:57Z], ~U[2026-09-16 17:10:57Z], "تركز خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 29 مايو 2026، على موضوع: أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية\n.\nصلاة الجمعة بتاريخ 29 مايو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة ب 29 مايو 2026 – أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية - الشيخ أبو عبيدة", 1239, false, "RUrrhrKqNRE", "https://www.youtube.com/watch?v=RUrrhrKqNRE", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-02 خطبة الجمعة ب 29 مايو 2026 – أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية - الشيخ أبو عبيدة/خطبة الجمعة ب 29 مايو 2026 – أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية - الشيخ أبو عبيدة [RUrrhrKqNRE].mp4", false, 6, ~U[2026-06-02 07:26:01Z]] 17:10:57.730 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=433.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:57.730 [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] 17:10:57.731 [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 [34895] 17:10:57.731 [debug] Current batch of media processed. Will check again in 1000ms 17:10:58.732 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Die heutige Predigt, gehalten von Bruder Janane am 22. Mai 2026, geht es um: Die besten Tage des Jahres | Nutze die ersten 10 Tage von Dhul-Hijjah!\nFreitagsgebet am 22.05.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch)", "duration" => 1344, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-05-24 Freitagsgebet am 22.05.2026 | Die besten Tage des Jahres | Bruder Janane/Freitagsgebet am 22.05.2026 | Die besten Tage des Jahres | Bruder Janane [QLW0p2MT3bQ].mp4", "id" => "QLW0p2MT3bQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QLW0p2MT3bQ", "playlist_index" => 17, "timestamp" => 1779649215, "title" => "Freitagsgebet am 22.05.2026 | Die besten Tage des Jahres | Bruder Janane", "upload_date" => "20260524"} 17:10:58.732 [debug] QUERY OK source="sources" db=0.2ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:10:58.733 [debug] QUERY OK source="sources" db=0.1ms idle=1002.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:58.733 [debug] QUERY OK source="media_items" db=0.4ms idle=1002.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 19:00:15Z], 6] 17:10:58.738 [debug] QUERY OK source="media_items" db=3.5ms idle=1002.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die heutige Predigt, gehalten von Bruder Janane am 22. Mai 2026, geht es um: Die besten Tage des Jahres | Nutze die ersten 10 Tage von Dhul-Hijjah!\nFreitagsgebet am 22.05.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch)", "Freitagsgebet am 22.05.2026 | Die besten Tage des Jahres | Bruder Janane", "497394ca-7666-4c87-9776-fc6ee5d31430", 1344, false, "QLW0p2MT3bQ", "https://www.youtube.com/watch?v=QLW0p2MT3bQ", 17, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-05-24 Freitagsgebet am 22.05.2026 | Die besten Tage des Jahres | Bruder Janane/Freitagsgebet am 22.05.2026 | Die besten Tage des Jahres | Bruder Janane [QLW0p2MT3bQ].mp4", false, false, false, 6, [], 97, ~U[2026-05-24 19:00:15Z], ~U[2026-09-16 17:10:58Z], ~U[2026-09-16 17:10:58Z], "Die heutige Predigt, gehalten von Bruder Janane am 22. Mai 2026, geht es um: Die besten Tage des Jahres | Nutze die ersten 10 Tage von Dhul-Hijjah!\nFreitagsgebet am 22.05.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch)", "Freitagsgebet am 22.05.2026 | Die besten Tage des Jahres | Bruder Janane", 1344, false, "QLW0p2MT3bQ", "https://www.youtube.com/watch?v=QLW0p2MT3bQ", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-05-24 Freitagsgebet am 22.05.2026 | Die besten Tage des Jahres | Bruder Janane/Freitagsgebet am 22.05.2026 | Die besten Tage des Jahres | Bruder Janane [QLW0p2MT3bQ].mp4", false, 6, ~U[2026-05-24 19:00:15Z]] 17:10:58.738 [debug] QUERY OK source="sources" db=0.3ms idle=440.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:58.739 [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] 17:10:58.739 [debug] QUERY OK source="media_items" db=0.2ms idle=6.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [28562] 17:10:58.739 [debug] Current batch of media processed. Will check again in 1000ms 17:10:59.306 [info] {"args":{"id":4},"id":9478,"meta":{},"system_time":1789578659306204778,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 17:10:59.306 [debug] QUERY OK source="sources" db=0.2ms idle=567.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:10:59.307 [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 [] 17:10:59.322 [debug] QUERY OK source="media_items" db=15.3ms idle=567.7ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [4] 17:10:59.325 [debug] QUERY OK source="media_items" db=2.4ms idle=22.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [4] 17:10:59.326 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=19.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] 17:10:59.327 [debug] QUERY OK source="settings" db=0.5ms idle=19.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:10:59.327 [debug] QUERY OK source="settings" db=0.3ms 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 [] 17:10:59.328 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 17:10:59.328 [debug] Current batch of media processed. Will check again in 1000ms 17:10:59.328 [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 [] 17:10:59.328 [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 [] 17:10:59.328 [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 [] 17:10:59.371 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/%(channel)S/%(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[format_note*=original]/bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/61/09/610914464c357f04e5e3915aa248b4dd25d8e5b7f8142b331cd1056807f2317e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:10:59.740 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "تركز خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 22 مايو 2026، على موضوع: كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: \"خذوا حذركم\".\nصلاة الجمعة بتاريخ 22 مايو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "duration" => 1380, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-05-24 خطبة الجمعة ب 22 مايو 2026 – كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: "خذوا حذركم" - الشيخ أبو عبيدة/خطبة الجمعة ب 22 مايو 2026 – كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: "خذوا حذركم" - الشيخ أبو عبيدة [akrAgos4ecA].mp4", "id" => "akrAgos4ecA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=akrAgos4ecA", "playlist_index" => 18, "timestamp" => 1779635640, "title" => "خطبة الجمعة ب 22 مايو 2026 – كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: \"خذوا حذركم\" - الشيخ أبو عبيدة", "upload_date" => "20260524"} 17:10:59.741 [debug] QUERY OK source="sources" db=0.4ms idle=413.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:10:59.742 [debug] QUERY OK source="sources" db=0.8ms idle=414.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:59.744 [debug] QUERY OK source="media_items" db=1.3ms idle=414.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-24 15:14:00Z], 6] 17:10:59.748 [debug] QUERY OK source="media_items" db=3.7ms idle=415.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تركز خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 22 مايو 2026، على موضوع: كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: \"خذوا حذركم\".\nصلاة الجمعة بتاريخ 22 مايو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة ب 22 مايو 2026 – كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: \"خذوا حذركم\" - الشيخ أبو عبيدة", "c965b766-909b-4495-8780-e017249cf572", 1380, false, "akrAgos4ecA", "https://www.youtube.com/watch?v=akrAgos4ecA", 18, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-05-24 خطبة الجمعة ب 22 مايو 2026 – كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: "خذوا حذركم" - الشيخ أبو عبيدة/خطبة الجمعة ب 22 مايو 2026 – كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: "خذوا حذركم" - الشيخ أبو عبيدة [akrAgos4ecA].mp4", false, false, false, 6, [], 97, ~U[2026-05-24 15:14:00Z], ~U[2026-09-16 17:10:59Z], ~U[2026-09-16 17:10:59Z], "تركز خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 22 مايو 2026، على موضوع: كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: \"خذوا حذركم\".\nصلاة الجمعة بتاريخ 22 مايو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة ب 22 مايو 2026 – كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: \"خذوا حذركم\" - الشيخ أبو عبيدة", 1380, false, "akrAgos4ecA", "https://www.youtube.com/watch?v=akrAgos4ecA", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-05-24 خطبة الجمعة ب 22 مايو 2026 – كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: "خذوا حذركم" - الشيخ أبو عبيدة/خطبة الجمعة ب 22 مايو 2026 – كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: "خذوا حذركم" - الشيخ أبو عبيدة [akrAgos4ecA].mp4", false, 6, ~U[2026-05-24 15:14:00Z]] 17:10:59.749 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=419.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:10:59.749 [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] 17:10:59.750 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=7.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [28563] 17:10:59.750 [debug] Current batch of media processed. Will check again in 1000ms 17:11:00.038 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:11:00.329 [debug] Current batch of media processed. Will check again in 1000ms 17:11:00.752 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "تركز خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 08 مايو 2026، على موضوع: لا تنتظر النجاح… شارك في صنعه\".\nصلاة الجمعة بتاريخ 08 مايو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "duration" => 1074, "filename" => "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-05-20 خطبة الجمعة بتاريخ 08 مايو 2026 – لا تنتظر النجاح… شارك في صنعه - الشيخ أبو عبيدة/خطبة الجمعة بتاريخ 08 مايو 2026 – لا تنتظر النجاح… شارك في صنعه - الشيخ أبو عبيدة [6Ku0gx3rBTY].mp4", "id" => "6Ku0gx3rBTY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6Ku0gx3rBTY", "playlist_index" => 19, "timestamp" => 1779282062, "title" => "خطبة الجمعة بتاريخ 08 مايو 2026 – لا تنتظر النجاح… شارك في صنعه - الشيخ أبو عبيدة", "upload_date" => "20260520"} 17:11:00.753 [debug] QUERY OK source="sources" db=0.4ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:11:00.753 [debug] QUERY OK source="sources" db=0.4ms idle=1003.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:11:00.754 [debug] QUERY OK source="media_items" db=0.4ms idle=1003.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 13:01:02Z], 6] 17:11:00.758 [debug] QUERY OK source="media_items" db=3.6ms idle=716.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تركز خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 08 مايو 2026، على موضوع: لا تنتظر النجاح… شارك في صنعه\".\nصلاة الجمعة بتاريخ 08 مايو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة بتاريخ 08 مايو 2026 – لا تنتظر النجاح… شارك في صنعه - الشيخ أبو عبيدة", "9eb328a1-c1cc-4e5f-8beb-29e0b37b9c25", 1074, false, "6Ku0gx3rBTY", "https://www.youtube.com/watch?v=6Ku0gx3rBTY", 19, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-05-20 خطبة الجمعة بتاريخ 08 مايو 2026 – لا تنتظر النجاح… شارك في صنعه - الشيخ أبو عبيدة/خطبة الجمعة بتاريخ 08 مايو 2026 – لا تنتظر النجاح… شارك في صنعه - الشيخ أبو عبيدة [6Ku0gx3rBTY].mp4", false, false, false, 6, [], 98, ~U[2026-05-20 13:01:02Z], ~U[2026-09-16 17:11:00Z], ~U[2026-09-16 17:11:00Z], "تركز خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 08 مايو 2026، على موضوع: لا تنتظر النجاح… شارك في صنعه\".\nصلاة الجمعة بتاريخ 08 مايو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة بتاريخ 08 مايو 2026 – لا تنتظر النجاح… شارك في صنعه - الشيخ أبو عبيدة", 1074, false, "6Ku0gx3rBTY", "https://www.youtube.com/watch?v=6Ku0gx3rBTY", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-05-20 خطبة الجمعة بتاريخ 08 مايو 2026 – لا تنتظر النجاح… شارك في صنعه - الشيخ أبو عبيدة/خطبة الجمعة بتاريخ 08 مايو 2026 – لا تنتظر النجاح… شارك في صنعه - الشيخ أبو عبيدة [6Ku0gx3rBTY].mp4", false, 6, ~U[2026-05-20 13:01:02Z]] 17:11:00.759 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [6] 17:11:00.759 [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] 17:11:00.760 [debug] QUERY OK source="media_items" db=0.3ms idle=6.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [26017] 17:11:00.760 [debug] Current batch of media processed. Will check again in 1000ms 17:11:01.330 [debug] Current batch of media processed. Will check again in 1000ms 17:11:01.695 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@IslamischesZentrumAachen --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/%(channel)S/%(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[format_note*=original]/bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/39/ae/39ae9f66e8ea92bb27400e2be23c149978ced5a51505b0feada548289368c0cc.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/46/c4/46c45ce7258f5f624b1348f9863894b98c988ab3fa0420f71bc953c195c2fa1b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 17:11:01.696 [debug] Gracefully stopping file follower 17:11:01.697 [debug] QUERY OK source="sources" db=1.0ms idle=938.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [6] 17:11:01.698 [debug] QUERY OK source="sources" db=0.1ms idle=938.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:11:01.698 [debug] QUERY OK source="media_items" db=0.5ms idle=938.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-28 20:20:41Z], 6] 17:11:01.708 [debug] QUERY OK source="media_items" db=9.4ms idle=938.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die heutige Predigt, gehalten von Sheikh Adnan am 17. Juli 2026, geht es um: Wie du innere Zufriedenheit findest | Quran & Sunnah.\nFreitagsgebet am 17.07.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan", "ff619b17-1d11-4dfc-8cc6-5154d6f79e01", 1450, false, "cGcmpUDQAuE", "https://www.youtube.com/watch?v=cGcmpUDQAuE", 1, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-08-28 Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan/Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan [cGcmpUDQAuE].mp4", false, false, false, 6, [], 97, ~U[2026-08-28 20:20:41Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "Die heutige Predigt, gehalten von Sheikh Adnan am 17. Juli 2026, geht es um: Wie du innere Zufriedenheit findest | Quran & Sunnah.\nFreitagsgebet am 17.07.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan", 1450, false, "cGcmpUDQAuE", "https://www.youtube.com/watch?v=cGcmpUDQAuE", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-08-28 Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan/Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan [cGcmpUDQAuE].mp4", false, 6, ~U[2026-08-28 20:20:41Z]] 17:11:01.709 [debug] QUERY OK source="sources" db=0.2ms idle=406.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:11:01.710 [debug] QUERY OK source="media_items" db=0.4ms idle=12.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-28 17:48:16Z], 6] 17:11:01.713 [debug] QUERY OK source="media_items" db=2.3ms idle=12.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 24 يوليو 2026، حول موضوع: لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟\n.\nصلاة الجمعة بتاريخ 24 يوليو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 24 يوليو 2026 – لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟ الشيخ أبوعبيدة", "2ac3a21f-648c-43fa-9788-84212e87a783", 1282, false, "D8IffS1Qkcw", "https://www.youtube.com/watch?v=D8IffS1Qkcw", 2, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-08-28 خطبة الجمعة ب 24 يوليو 2026 – لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟ الشيخ أبوعبيدة/خطبة الجمعة ب 24 يوليو 2026 – لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟ الشيخ أبوعبيدة [D8IffS1Qkcw].mp4", false, false, false, 6, [], 97, ~U[2026-08-28 17:48:16Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 24 يوليو 2026، حول موضوع: لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟\n.\nصلاة الجمعة بتاريخ 24 يوليو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 24 يوليو 2026 – لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟ الشيخ أبوعبيدة", 1282, false, "D8IffS1Qkcw", "https://www.youtube.com/watch?v=D8IffS1Qkcw", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-08-28 خطبة الجمعة ب 24 يوليو 2026 – لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟ الشيخ أبوعبيدة/خطبة الجمعة ب 24 يوليو 2026 – لماذا يخاف الصالحون ألّا تُقبل أعمالهم؟ الشيخ أبوعبيدة [D8IffS1Qkcw].mp4", false, 6, ~U[2026-08-28 17:48:16Z]] 17:11:01.713 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [6] 17:11:01.714 [debug] QUERY OK source="media_items" db=0.5ms idle=5.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-27 21:09:38Z], 6] 17:11:01.717 [debug] QUERY OK source="media_items" db=2.2ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die heutige Predigt, gehalten von Sheikh Adnan am 17. Juli 2026, geht es um: Wie du innere Zufriedenheit findest | Quran & Sunnah.\nFreitagsgebet am 17.07.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan", "b0d86bfe-571f-4573-8d30-98525943658c", 1457, false, "JCipkF9OfrI", "https://www.youtube.com/watch?v=JCipkF9OfrI", 3, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-27 Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan/Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan [JCipkF9OfrI].mp4", false, false, false, 6, [], 97, ~U[2026-07-27 21:09:38Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "Die heutige Predigt, gehalten von Sheikh Adnan am 17. Juli 2026, geht es um: Wie du innere Zufriedenheit findest | Quran & Sunnah.\nFreitagsgebet am 17.07.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan", 1457, false, "JCipkF9OfrI", "https://www.youtube.com/watch?v=JCipkF9OfrI", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-27 Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan/Freitagsgebet am 17.07.2026 | Wie du innere Zufriedenheit findest | Quran & Sunnah | Sheikh Adnan [JCipkF9OfrI].mp4", false, 6, ~U[2026-07-27 21:09:38Z]] 17:11:01.718 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [6] 17:11:01.718 [debug] QUERY OK source="media_items" db=0.5ms idle=5.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-27 10:51:14Z], 6] 17:11:01.722 [debug] QUERY OK source="media_items" db=2.9ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 17 يوليو 2026، حول موضوع: لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟\n.\nصلاة الجمعة بتاريخ 17 يوليو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 17 يوليو 2026 – لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟ الشيخ أبوعبيدة", "886841c1-7bb9-4991-8e6b-600962bc414a", 1541, false, "OZSEPrsKbU0", "https://www.youtube.com/watch?v=OZSEPrsKbU0", 4, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-27 خطبة الجمعة ب 17 يوليو 2026 – لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟ الشيخ أبوعبيدة/خطبة الجمعة ب 17 يوليو 2026 – لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟ الشيخ أبوعبيدة [OZSEPrsKbU0].mp4", false, false, false, 6, [], 97, ~U[2026-07-27 10:51:14Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 17 يوليو 2026، حول موضوع: لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟\n.\nصلاة الجمعة بتاريخ 17 يوليو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 17 يوليو 2026 – لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟ الشيخ أبوعبيدة", 1541, false, "OZSEPrsKbU0", "https://www.youtube.com/watch?v=OZSEPrsKbU0", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-27 خطبة الجمعة ب 17 يوليو 2026 – لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟ الشيخ أبوعبيدة/خطبة الجمعة ب 17 يوليو 2026 – لِمَاذَا لَا يَنْبَغِي أَنْ نَسْتَسْلِمَ لِلْهَزَائِمِ؟ الشيخ أبوعبيدة [OZSEPrsKbU0].mp4", false, 6, ~U[2026-07-27 10:51:14Z]] 17:11:01.722 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:11:01.723 [debug] QUERY OK source="media_items" db=0.4ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-26 17:04:59Z], 6] 17:11:01.728 [debug] QUERY OK source="media_items" db=3.7ms idle=6.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die heutige Predigt, gehalten von Bruder Janane am 10. Juli 2026, geht es um: Der Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport?\nFreitagsgebet am 10.07.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) mit Bruder Janane", "Freitagsgebet am 10.07.2026 | Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport?", "4eb83f3e-3edc-4f3c-861c-826083d3806e", 1736, false, "CdCGIuB0028", "https://www.youtube.com/watch?v=CdCGIuB0028", 5, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-26 Freitagsgebet am 10.07.2026 | Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport?/Freitagsgebet am 10.07.2026 | Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport? [CdCGIuB0028].mp4", false, false, false, 6, [], 97, ~U[2026-07-26 17:04:59Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "Die heutige Predigt, gehalten von Bruder Janane am 10. Juli 2026, geht es um: Der Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport?\nFreitagsgebet am 10.07.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) mit Bruder Janane", "Freitagsgebet am 10.07.2026 | Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport?", 1736, false, "CdCGIuB0028", "https://www.youtube.com/watch?v=CdCGIuB0028", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-26 Freitagsgebet am 10.07.2026 | Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport?/Freitagsgebet am 10.07.2026 | Sport im Islam: Was sagt der Islam über Fußball, Wettkampf und Sport? [CdCGIuB0028].mp4", false, 6, ~U[2026-07-26 17:04:59Z]] 17:11:01.728 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=9.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:11:01.729 [debug] QUERY OK source="media_items" db=0.7ms idle=6.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-26 13:38:19Z], 6] 17:11:01.733 [debug] QUERY OK source="media_items" db=3.5ms idle=7.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 10 يوليو 2026، حول موضوع: لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟\n.\nصلاة الجمعة بتاريخ 10 يوليو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 10 يوليو 2026 – لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟ الشيخ أبوعبيدة", "5f7c5305-be4c-4f7a-95c6-9c23974d8b41", 1348, false, "DzDdBLHaX4s", "https://www.youtube.com/watch?v=DzDdBLHaX4s", 6, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-26 خطبة الجمعة ب 10 يوليو 2026 – لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟ الشيخ أبوعبيدة/خطبة الجمعة ب 10 يوليو 2026 – لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟ الشيخ أبوعبيدة [DzDdBLHaX4s].mp4", false, false, false, 6, [], 97, ~U[2026-07-26 13:38:19Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 10 يوليو 2026، حول موضوع: لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟\n.\nصلاة الجمعة بتاريخ 10 يوليو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 10 يوليو 2026 – لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟ الشيخ أبوعبيدة", 1348, false, "DzDdBLHaX4s", "https://www.youtube.com/watch?v=DzDdBLHaX4s", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-26 خطبة الجمعة ب 10 يوليو 2026 – لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟ الشيخ أبوعبيدة/خطبة الجمعة ب 10 يوليو 2026 – لماذا أصبحت القلوب متباعدة رغم أننا نعيش تحت سقف واحد؟ الشيخ أبوعبيدة [DzDdBLHaX4s].mp4", false, 6, ~U[2026-07-26 13:38:19Z]] 17:11:01.734 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [6] 17:11:01.735 [debug] QUERY OK source="media_items" db=0.4ms idle=6.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-03 13:04:25Z], 6] 17:11:01.739 [debug] QUERY OK source="media_items" db=3.6ms idle=6.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die heutige Predigt, gehalten von Sheikh Adnan am 19. Juni 2026, geht es um: Aschura: Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung.\nFreitagsgebet am 19.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "Freitagsgebet am 19.06.2026 | Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung.", "f9f575af-df3a-483b-a0ab-c6aed60b5961", 1500, false, "fZaZwQadENA", "https://www.youtube.com/watch?v=fZaZwQadENA", 7, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-03 Freitagsgebet am 19.06.2026 | Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung#/Freitagsgebet am 19.06.2026 | Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung. [fZaZwQadENA].mp4", false, false, false, 6, [], 97, ~U[2026-07-03 13:04:25Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "Die heutige Predigt, gehalten von Sheikh Adnan am 19. Juni 2026, geht es um: Aschura: Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung.\nFreitagsgebet am 19.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "Freitagsgebet am 19.06.2026 | Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung.", 1500, false, "fZaZwQadENA", "https://www.youtube.com/watch?v=fZaZwQadENA", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-03 Freitagsgebet am 19.06.2026 | Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung#/Freitagsgebet am 19.06.2026 | Die Hijra des Propheten ﷺ – Mehr als nur eine Auswanderung. [fZaZwQadENA].mp4", false, 6, ~U[2026-07-03 13:04:25Z]] 17:11:01.740 [debug] QUERY OK source="sources" db=0.3ms idle=9.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:11:01.740 [debug] QUERY OK source="media_items" db=0.5ms 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[2026-07-03 10:54:14Z], 6] 17:11:01.744 [debug] QUERY OK source="media_items" db=3.1ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تدور خطبة اليوم بتاريخ 26 يونيو 2026، حول موضوع: بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب\n.\nصلاة الجمعة بتاريخ 26 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA", "خطبة الجمعة ب 26 يونيو 2026 – بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب", "275e17db-f779-458b-a61d-81c0c18f5244", 969, false, "3CggvelThec", "https://www.youtube.com/watch?v=3CggvelThec", 8, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-03 خطبة الجمعة ب 26 يونيو 2026 – بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب/خطبة الجمعة ب 26 يونيو 2026 – بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب [3CggvelThec].mp4", false, false, false, 6, [], 97, ~U[2026-07-03 10:54:14Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "تدور خطبة اليوم بتاريخ 26 يونيو 2026، حول موضوع: بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب\n.\nصلاة الجمعة بتاريخ 26 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA", "خطبة الجمعة ب 26 يونيو 2026 – بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب", 969, false, "3CggvelThec", "https://www.youtube.com/watch?v=3CggvelThec", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-03 خطبة الجمعة ب 26 يونيو 2026 – بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب/خطبة الجمعة ب 26 يونيو 2026 – بر الوالدين طريقك إلى الجنة | خطبة مؤثرة تهز القلوب [3CggvelThec].mp4", false, 6, ~U[2026-07-03 10:54:14Z]] 17:11:01.745 [debug] QUERY OK source="sources" db=0.3ms idle=9.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:11:01.746 [debug] QUERY OK source="media_items" db=0.4ms idle=6.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-02 11:12:08Z], 6] 17:11:01.749 [debug] QUERY OK source="media_items" db=3.1ms idle=6.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die heutige Predigt, gehalten von Sheikh Adnan am 26. Juni 2026, geht es um: Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens.\nFreitagsgebet am 26.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "Freitagsgebet am 26.06.2026 | Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens", "66f1521a-c683-451d-9d69-a30515933f43", 799, false, "DWP3NPo-YOY", "https://www.youtube.com/watch?v=DWP3NPo-YOY", 9, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-02 Freitagsgebet am 26.06.2026 | Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens/Freitagsgebet am 26.06.2026 | Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens [DWP3NPo-YOY].mp4", false, false, false, 6, [], 97, ~U[2026-07-02 11:12:08Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "Die heutige Predigt, gehalten von Sheikh Adnan am 26. Juni 2026, geht es um: Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens.\nFreitagsgebet am 26.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) - Sheikh Adnan", "Freitagsgebet am 26.06.2026 | Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens", 799, false, "DWP3NPo-YOY", "https://www.youtube.com/watch?v=DWP3NPo-YOY", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-02 Freitagsgebet am 26.06.2026 | Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens/Freitagsgebet am 26.06.2026 | Aschura: Die Rettung von Musa (a.s.) und die Bedeutung des Fastens [DWP3NPo-YOY].mp4", false, 6, ~U[2026-07-02 11:12:08Z]] 17:11:01.750 [debug] QUERY OK source="sources" db=0.2ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:11:01.750 [debug] QUERY OK source="media_items" db=0.4ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-02 08:07:15Z], 6] 17:11:01.754 [debug] QUERY OK source="media_items" db=3.0ms idle=5.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 19 يونيو 2026، حول موضوع: الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟\n.\nصلاة الجمعة بتاريخ 19 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 19 يونيو 2026 – الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟", "f7596184-eefb-456e-81ed-38b0de926459", 1229, false, "BPM5KRwkx_k", "https://www.youtube.com/watch?v=BPM5KRwkx_k", 10, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-02 خطبة الجمعة ب 19 يونيو 2026 – الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟/خطبة الجمعة ب 19 يونيو 2026 – الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟ [BPM5KRwkx_k].mp4", false, false, false, 6, [], 97, ~U[2026-07-02 08:07:15Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 19 يونيو 2026، حول موضوع: الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟\n.\nصلاة الجمعة بتاريخ 19 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 19 يونيو 2026 – الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟", 1229, false, "BPM5KRwkx_k", "https://www.youtube.com/watch?v=BPM5KRwkx_k", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-07-02 خطبة الجمعة ب 19 يونيو 2026 – الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟/خطبة الجمعة ب 19 يونيو 2026 – الهجرة النبوية: كيف وحّد الإسلام القلوب قبل أن يبني الدولة؟ [BPM5KRwkx_k].mp4", false, 6, ~U[2026-07-02 08:07:15Z]] 17:11:01.755 [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" = ?) [6] 17:11:01.755 [debug] QUERY OK source="media_items" db=0.5ms idle=5.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-18 19:56:08Z], 6] 17:11:01.760 [debug] QUERY OK source="media_items" db=3.5ms idle=5.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die heutige Predigt, gehalten von Bruder Janane am 12. Juni 2026, geht es um: Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja!\nFreitagsgebet am 12.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) mit Bruder Janane", "Freitagsgebet am 12.06.2026 | Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja", "6689b9df-f541-4040-9342-c6dc5b74428e", 1357, false, "ylPaBQRzGW0", "https://www.youtube.com/watch?v=ylPaBQRzGW0", 11, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-18 Freitagsgebet am 12.06.2026 | Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja/Freitagsgebet am 12.06.2026 | Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja [ylPaBQRzGW0].mp4", false, false, false, 6, [], 96, ~U[2026-06-18 19:56:08Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "Die heutige Predigt, gehalten von Bruder Janane am 12. Juni 2026, geht es um: Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja!\nFreitagsgebet am 12.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch) mit Bruder Janane", "Freitagsgebet am 12.06.2026 | Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja", 1357, false, "ylPaBQRzGW0", "https://www.youtube.com/watch?v=ylPaBQRzGW0", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-18 Freitagsgebet am 12.06.2026 | Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja/Freitagsgebet am 12.06.2026 | Die Bedeutung der Zeit im Islam | Abschied von Dhu al-Hijja [ylPaBQRzGW0].mp4", false, 6, ~U[2026-06-18 19:56:08Z]] 17:11:01.760 [debug] QUERY OK source="sources" db=0.3ms idle=9.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:11:01.761 [debug] QUERY OK source="media_items" db=0.4ms 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[2026-06-18 14:55:14Z], 6] 17:11:01.764 [debug] QUERY OK source="media_items" db=2.8ms idle=6.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 12 يونيو 2026، حول موضوع: استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل \n.\nصلاة الجمعة بتاريخ 12 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 12 يونيو 2026 – استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل", "5484fff5-de69-4a09-a102-56eaa7fcccd8", 1105, false, "PebYqlLkhCM", "https://www.youtube.com/watch?v=PebYqlLkhCM", 12, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-18 خطبة الجمعة ب 12 يونيو 2026 – استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل/خطبة الجمعة ب 12 يونيو 2026 – استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل [PebYqlLkhCM].mp4", false, false, false, 6, [], 96, ~U[2026-06-18 14:55:14Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "تدور خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 12 يونيو 2026، حول موضوع: استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل \n.\nصلاة الجمعة بتاريخ 12 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA | الشيخ أبوعبيدة", "خطبة الجمعة ب 12 يونيو 2026 – استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل", 1105, false, "PebYqlLkhCM", "https://www.youtube.com/watch?v=PebYqlLkhCM", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-18 خطبة الجمعة ب 12 يونيو 2026 – استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل/خطبة الجمعة ب 12 يونيو 2026 – استقبال العام الهجري الجديد | محاسبة النفس والتخطيط للمستقبل [PebYqlLkhCM].mp4", false, 6, ~U[2026-06-18 14:55:14Z]] 17:11:01.765 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [6] 17:11:01.766 [debug] QUERY OK source="media_items" db=0.4ms idle=5.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-18 11:27:25Z], 6] 17:11:01.806 [debug] QUERY OK source="media_items" db=39.9ms idle=5.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die heutige Predigt, gehalten von Sheikh Adnan am 05. Juni 2026, geht es um: Iman und Heuchelei – Woran erkennt man den wahren Glauben?\nFreitagsgebet am 05.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch)", "Freitagsgebet am 05.06.2026 | Iman und Heuchelei – Woran erkennt man den wahren Glauben?", "a24965c4-dfc1-4232-bfac-a4efeb9d6dda", 1391, false, "BpdnMEyKcG4", "https://www.youtube.com/watch?v=BpdnMEyKcG4", 13, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-18 Freitagsgebet am 05.06.2026 | Iman und Heuchelei – Woran erkennt man den wahren Glauben?/Freitagsgebet am 05.06.2026 | Iman und Heuchelei – Woran erkennt man den wahren Glauben? [BpdnMEyKcG4].mp4", false, false, false, 6, [], 96, ~U[2026-06-18 11:27:25Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "Die heutige Predigt, gehalten von Sheikh Adnan am 05. Juni 2026, geht es um: Iman und Heuchelei – Woran erkennt man den wahren Glauben?\nFreitagsgebet am 05.06.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch)", "Freitagsgebet am 05.06.2026 | Iman und Heuchelei – Woran erkennt man den wahren Glauben?", 1391, false, "BpdnMEyKcG4", "https://www.youtube.com/watch?v=BpdnMEyKcG4", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-18 Freitagsgebet am 05.06.2026 | Iman und Heuchelei – Woran erkennt man den wahren Glauben?/Freitagsgebet am 05.06.2026 | Iman und Heuchelei – Woran erkennt man den wahren Glauben? [BpdnMEyKcG4].mp4", false, 6, ~U[2026-06-18 11:27:25Z]] 17:11:01.807 [debug] QUERY OK source="sources" db=0.5ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:11:01.808 [debug] QUERY OK source="media_items" db=0.5ms idle=42.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-07 17:13:51Z], 6] 17:11:01.814 [debug] QUERY OK source="media_items" db=5.8ms idle=43.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تركز خطبة اليوم، التي ألقاها الأخ طارق بتاريخ 05 يونيو 2026، على موضوع: غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟\".\nصلاة الجمعة بتاريخ 05 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة بتاريخ 05 يونيو 2026 – غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟ - الأخ طارق", "b7af712b-aac3-4686-ad4e-9d184e050076", 1506, false, "M4F2rswCxiA", "https://www.youtube.com/watch?v=M4F2rswCxiA", 14, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-07 خطبة الجمعة بتاريخ 05 يونيو 2026 – غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟ - الأخ طارق/خطبة الجمعة بتاريخ 05 يونيو 2026 – غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟ - الأخ طارق [M4F2rswCxiA].mp4", false, false, false, 6, [], 97, ~U[2026-06-07 17:13:51Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "تركز خطبة اليوم، التي ألقاها الأخ طارق بتاريخ 05 يونيو 2026، على موضوع: غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟\".\nصلاة الجمعة بتاريخ 05 يونيو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة بتاريخ 05 يونيو 2026 – غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟ - الأخ طارق", 1506, false, "M4F2rswCxiA", "https://www.youtube.com/watch?v=M4F2rswCxiA", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-07 خطبة الجمعة بتاريخ 05 يونيو 2026 – غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟ - الأخ طارق/خطبة الجمعة بتاريخ 05 يونيو 2026 – غلاء المعيشة والفقر.. هل هي عقوبة أم ابتلاء من الله؟ - الأخ طارق [M4F2rswCxiA].mp4", false, 6, ~U[2026-06-07 17:13:51Z]] 17:11:01.815 [debug] QUERY OK source="sources" db=0.2ms idle=48.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:11:01.815 [debug] QUERY OK source="media_items" db=0.4ms idle=9.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-07 14:05:19Z], 6] 17:11:01.818 [debug] QUERY OK source="media_items" db=1.6ms idle=8.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit | Sheikh Adnan", "Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit", "303699dc-be1c-4758-aeed-b4f163e5d1f7", 1491, false, "lKsTN47rs-A", "https://www.youtube.com/watch?v=lKsTN47rs-A", 15, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-07 Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit/Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit [lKsTN47rs-A].mp4", false, false, false, 6, [], 97, ~U[2026-06-07 14:05:19Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit | Sheikh Adnan", "Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit", 1491, false, "lKsTN47rs-A", "https://www.youtube.com/watch?v=lKsTN47rs-A", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-07 Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit/Freitagsgebet am 29.05.2026 | Dhikrullah – Der Schlüssel zu innerer Ruhe und Standhaftigkeit [lKsTN47rs-A].mp4", false, 6, ~U[2026-06-07 14:05:19Z]] 17:11:01.818 [debug] QUERY OK source="sources" db=0.3ms idle=10.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 17:11:01.819 [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[2026-06-02 07:26:01Z], 6] 17:11:01.822 [debug] QUERY OK source="media_items" db=2.2ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تركز خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 29 مايو 2026، على موضوع: أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية\n.\nصلاة الجمعة بتاريخ 29 مايو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة ب 29 مايو 2026 – أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية - الشيخ أبو عبيدة", "7a746ff9-efb1-49ad-b54f-be409cbc8e60", 1239, false, "RUrrhrKqNRE", "https://www.youtube.com/watch?v=RUrrhrKqNRE", 16, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-02 خطبة الجمعة ب 29 مايو 2026 – أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية - الشيخ أبو عبيدة/خطبة الجمعة ب 29 مايو 2026 – أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية - الشيخ أبو عبيدة [RUrrhrKqNRE].mp4", false, false, false, 6, [], 98, ~U[2026-06-02 07:26:01Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "تركز خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 29 مايو 2026، على موضوع: أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية\n.\nصلاة الجمعة بتاريخ 29 مايو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة ب 29 مايو 2026 – أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية - الشيخ أبو عبيدة", 1239, false, "RUrrhrKqNRE", "https://www.youtube.com/watch?v=RUrrhrKqNRE", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-06-02 خطبة الجمعة ب 29 مايو 2026 – أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية - الشيخ أبو عبيدة/خطبة الجمعة ب 29 مايو 2026 – أيام التشريق: الثبات على الطاعة بعد المواسم الإيمانية - الشيخ أبو عبيدة [RUrrhrKqNRE].mp4", false, 6, ~U[2026-06-02 07:26:01Z]] 17:11:01.822 [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" = ?) [6] 17:11:01.823 [debug] QUERY OK source="media_items" db=0.4ms idle=4.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-24 19:00:15Z], 6] 17:11:01.827 [debug] QUERY OK source="media_items" db=4.0ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die heutige Predigt, gehalten von Bruder Janane am 22. Mai 2026, geht es um: Die besten Tage des Jahres | Nutze die ersten 10 Tage von Dhul-Hijjah!\nFreitagsgebet am 22.05.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch)", "Freitagsgebet am 22.05.2026 | Die besten Tage des Jahres | Bruder Janane", "cc8b89d5-c31f-452f-be21-ca0667d5b99f", 1344, false, "QLW0p2MT3bQ", "https://www.youtube.com/watch?v=QLW0p2MT3bQ", 17, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-05-24 Freitagsgebet am 22.05.2026 | Die besten Tage des Jahres | Bruder Janane/Freitagsgebet am 22.05.2026 | Die besten Tage des Jahres | Bruder Janane [QLW0p2MT3bQ].mp4", false, false, false, 6, [], 97, ~U[2026-05-24 19:00:15Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "Die heutige Predigt, gehalten von Bruder Janane am 22. Mai 2026, geht es um: Die besten Tage des Jahres | Nutze die ersten 10 Tage von Dhul-Hijjah!\nFreitagsgebet am 22.05.2026 im Islamischen Zentrum Aachen (Bilal-Moschee) - IZA | (Deutsch)", "Freitagsgebet am 22.05.2026 | Die besten Tage des Jahres | Bruder Janane", 1344, false, "QLW0p2MT3bQ", "https://www.youtube.com/watch?v=QLW0p2MT3bQ", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-05-24 Freitagsgebet am 22.05.2026 | Die besten Tage des Jahres | Bruder Janane/Freitagsgebet am 22.05.2026 | Die besten Tage des Jahres | Bruder Janane [QLW0p2MT3bQ].mp4", false, 6, ~U[2026-05-24 19:00:15Z]] 17:11:01.828 [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" = ?) [6] 17:11:01.829 [debug] QUERY OK source="media_items" db=0.5ms idle=6.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-24 15:14:00Z], 6] 17:11:01.830 [debug] QUERY OK source="media_items" db=0.9ms idle=6.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تركز خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 22 مايو 2026، على موضوع: كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: \"خذوا حذركم\".\nصلاة الجمعة بتاريخ 22 مايو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة ب 22 مايو 2026 – كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: \"خذوا حذركم\" - الشيخ أبو عبيدة", "8483e80e-b27a-4556-ab0d-9469254f6c1c", 1380, false, "akrAgos4ecA", "https://www.youtube.com/watch?v=akrAgos4ecA", 18, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-05-24 خطبة الجمعة ب 22 مايو 2026 – كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: "خذوا حذركم" - الشيخ أبو عبيدة/خطبة الجمعة ب 22 مايو 2026 – كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: "خذوا حذركم" - الشيخ أبو عبيدة [akrAgos4ecA].mp4", false, false, false, 6, [], 97, ~U[2026-05-24 15:14:00Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "تركز خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 22 مايو 2026، على موضوع: كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: \"خذوا حذركم\".\nصلاة الجمعة بتاريخ 22 مايو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة ب 22 مايو 2026 – كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: \"خذوا حذركم\" - الشيخ أبو عبيدة", 1380, false, "akrAgos4ecA", "https://www.youtube.com/watch?v=akrAgos4ecA", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-05-24 خطبة الجمعة ب 22 مايو 2026 – كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: "خذوا حذركم" - الشيخ أبو عبيدة/خطبة الجمعة ب 22 مايو 2026 – كيف نحمي بيوتنا؟ تدبر رائع لقوله تعالى: "خذوا حذركم" - الشيخ أبو عبيدة [akrAgos4ecA].mp4", false, 6, ~U[2026-05-24 15:14:00Z]] 17:11:01.831 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [6] 17:11:01.831 [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-05-20 13:01:02Z], 6] 17:11:01.833 [debug] QUERY OK source="media_items" db=1.2ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تركز خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 08 مايو 2026، على موضوع: لا تنتظر النجاح… شارك في صنعه\".\nصلاة الجمعة بتاريخ 08 مايو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة بتاريخ 08 مايو 2026 – لا تنتظر النجاح… شارك في صنعه - الشيخ أبو عبيدة", "770038e3-54a9-4c25-9427-dacbba16e510", 1074, false, "6Ku0gx3rBTY", "https://www.youtube.com/watch?v=6Ku0gx3rBTY", 19, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-05-20 خطبة الجمعة بتاريخ 08 مايو 2026 – لا تنتظر النجاح… شارك في صنعه - الشيخ أبو عبيدة/خطبة الجمعة بتاريخ 08 مايو 2026 – لا تنتظر النجاح… شارك في صنعه - الشيخ أبو عبيدة [6Ku0gx3rBTY].mp4", false, false, false, 6, [], 98, ~U[2026-05-20 13:01:02Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "تركز خطبة اليوم، التي ألقاها الشيخ أبو عبيدة بتاريخ 08 مايو 2026، على موضوع: لا تنتظر النجاح… شارك في صنعه\".\nصلاة الجمعة بتاريخ 08 مايو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة بتاريخ 08 مايو 2026 – لا تنتظر النجاح… شارك في صنعه - الشيخ أبو عبيدة", 1074, false, "6Ku0gx3rBTY", "https://www.youtube.com/watch?v=6Ku0gx3rBTY", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-05-20 خطبة الجمعة بتاريخ 08 مايو 2026 – لا تنتظر النجاح… شارك في صنعه - الشيخ أبو عبيدة/خطبة الجمعة بتاريخ 08 مايو 2026 – لا تنتظر النجاح… شارك في صنعه - الشيخ أبو عبيدة [6Ku0gx3rBTY].mp4", false, 6, ~U[2026-05-20 13:01:02Z]] 17:11:01.834 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [6] 17:11:01.834 [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[2026-05-19 15:37:14Z], 6] 17:11:01.836 [debug] QUERY OK source="media_items" db=0.7ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["تركز خطبة اليوم، التي ألقاها الأخ طارق بتاريخ 15 مايو 2026، على موضوع: فضل يوم عرفة وعشر ذي الحجة\".\nصلاة الجمعة بتاريخ 15 مايو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة بتاريخ 15 مايو 2026 – فضل يوم عرفة وعشر ذي الحجة - الأخ طارق", "f6e8f3b6-e67a-401f-a5ea-13920cc2f290", 1412, false, "KRlbpj61jR4", "https://www.youtube.com/watch?v=KRlbpj61jR4", 20, "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-05-19 خطبة الجمعة بتاريخ 15 مايو 2026 – فضل يوم عرفة وعشر ذي الحجة - الأخ طارق/خطبة الجمعة بتاريخ 15 مايو 2026 – فضل يوم عرفة وعشر ذي الحجة - الأخ طارق [KRlbpj61jR4].mp4", false, false, false, 6, [], 96, ~U[2026-05-19 15:37:14Z], ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], "تركز خطبة اليوم، التي ألقاها الأخ طارق بتاريخ 15 مايو 2026، على موضوع: فضل يوم عرفة وعشر ذي الحجة\".\nصلاة الجمعة بتاريخ 15 مايو 2026، في المركز الإسلامي في آخن (مسجد بلال) – IZA |", "خطبة الجمعة بتاريخ 15 مايو 2026 – فضل يوم عرفة وعشر ذي الحجة - الأخ طارق", 1412, false, "KRlbpj61jR4", "https://www.youtube.com/watch?v=KRlbpj61jR4", "/downloads/Islamisches Zentrum Aachen (Bilal-Moschee)/2026-05-19 خطبة الجمعة بتاريخ 15 مايو 2026 – فضل يوم عرفة وعشر ذي الحجة - الأخ طارق/خطبة الجمعة بتاريخ 15 مايو 2026 – فضل يوم عرفة وعشر ذي الحجة - الأخ طارق [KRlbpj61jR4].mp4", false, 6, ~U[2026-05-19 15:37:14Z]] 17:11:01.836 [debug] QUERY OK source="sources" db=0.1ms idle=4.5ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z], 6] 17:11:01.839 [debug] QUERY OK source="media_items" db=2.5ms idle=3.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 17:11:01.841 [debug] QUERY OK source="media_items" db=1.4ms 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")))) [6] 17:11:01.844 [debug] QUERY OK source="media_items" db=3.6ms idle=6.2ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 17:11:01.846 [debug] QUERY OK source="tasks" db=0.2ms idle=7.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [9490, 6, ~U[2026-09-16 17:11:01Z], ~U[2026-09-16 17:11:01Z]] 17:11:01.847 [info] {"args":{"id":6},"id":9477,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":29575349,"event":"job:stop","queue_time":914137,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 17:11:02.358 [debug] Current batch of media processed. Will check again in 1000ms 17:11:03.359 [debug] Current batch of media processed. Will check again in 1000ms 17:11:04.360 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Oded Rechavi, a professor at Tel Aviv University who studies genetics, epigenetics and the inheritance of acquired traits. We discuss how DNA, RNA and epigenetic mechanisms determine what information can pass between generations, and why acquired traits are generally not thought to be inherited. We also explain research in C. elegans showing how small RNAs can transmit antiviral resistance and influence behavior across generations, what these findings might mean for mammals and humans, and potential future applications for reproductive health and diagnostics.\n\nShow notes: https://go.hubermanlab.com/HbTfdok\n\nFull episode with Dr. Oded Rechavi: https://youtu.be/CDUetQMKM6g\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nTimestamps\n00:00:00 Oded Rechavi\n00:00:24 DNA, Genome, RNA & Proteins\n00:03:43 Somatic vs. Germ Cells; Inheritance\n00:06:04 Lamarck vs. Darwin, Inheritance of Acquired Traits\n00:08:27 Weismann Barrier, Epigenetic Reprogramming\n00:11:46 RNA & Transgenerational Inheritance\n00:12:35 Model Organisms, C. elegans\n00:15:40 Inheritance of Acquired Traits in C. elegans\n00:16:03 RNA Interference, Small RNAs & Gene Silencing\n00:20:08 Viral Resistance Across Generations\n00:22:15 Small RNAs, Mammals & Inherited Effects\n00:23:23 Brain Activity, Memory & Heritable Information\n00:26:09 Neuronal Small RNAs & Behavior Across Generations\n00:27:22 Germ Cells, Development & Heritable RNA\n00:29:01 Future Applications, Exercise, IVF & RNA Diagnostics\n00:31:06 Acknowledgements\n\n#hubermanlab #hubermanlabpodcast #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1888, "filename" => "/downloads/Andrew Huberman/2026-09-10 Essentials: Genes & the Inheritance of Memories Across Generations | Dr. Oded Rechavi/Essentials: Genes & the Inheritance of Memories Across Generations | Dr. Oded Rechavi [1_iNTFSw4Nc].mp4", "id" => "1_iNTFSw4Nc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1_iNTFSw4Nc", "playlist_index" => 1, "timestamp" => 1789041615, "title" => "Essentials: Genes & the Inheritance of Memories Across Generations | Dr. Oded Rechavi", "upload_date" => "20260910"} 17:11:04.360 [debug] QUERY OK source="sources" db=0.2ms idle=613.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:04.361 [debug] QUERY OK source="sources" db=0.1ms idle=614.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:04.362 [debug] QUERY OK source="media_items" db=1.2ms idle=614.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-10 12:00:15Z], 4] 17:11:04.365 [debug] QUERY OK source="media_items" db=2.1ms idle=615.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Oded Rechavi, a professor at Tel Aviv University who studies genetics, epigenetics and the inheritance of acquired traits. We discuss how DNA, RNA and epigenetic mechanisms determine what information can pass between generations, and why acquired traits are generally not thought to be inherited. We also explain research in C. elegans showing how small RNAs can transmit antiviral resistance and influence behavior across generations, what these findings might mean for mammals and humans, and potential future applications for reproductive health and diagnostics.\n\nShow notes: https://go.hubermanlab.com/HbTfdok\n\nFull episode with Dr. Oded Rechavi: https://youtu.be/CDUetQMKM6g\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nTimestamps\n00:00:00 Oded Rechavi\n00:00:24 DNA, Genome, RNA & Proteins\n00:03:43 Somatic vs. Germ Cells; Inheritance\n00:06:04 Lamarck vs. Darwin, Inheritance of Acquired Traits\n00:08:27 Weismann Barrier, Epigenetic Reprogramming\n00:11:46 RNA & Transgenerational Inheritance\n00:12:35 Model Organisms, C. elegans\n00:15:40 Inheritance of Acquired Traits in C. elegans\n00:16:03 RNA Interference, Small RNAs & Gene Silencing\n00:20:08 Viral Resistance Across Generations\n00:22:15 Small RNAs, Mammals & Inherited Effects\n00:23:23 Brain Activity, Memory & Heritable Information\n00:26:09 Neuronal Small RNAs & Behavior Across Generations\n00:27:22 Germ Cells, Development & Heritable RNA\n00:29:01 Future Applications, Exercise, IVF & RNA Diagnostics\n00:31:06 Acknowledgements\n\n#hubermanlab #hubermanlabpodcast #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Genes & the Inheritance of Memories Across Generations | Dr. Oded Rechavi", "c067093d-a544-42d9-8a58-c17ab2821e9a", 1888, false, "1_iNTFSw4Nc", "https://www.youtube.com/watch?v=1_iNTFSw4Nc", 1, "/downloads/Andrew Huberman/2026-09-10 Essentials: Genes & the Inheritance of Memories Across Generations | Dr. Oded Rechavi/Essentials: Genes & the Inheritance of Memories Across Generations | Dr. Oded Rechavi [1_iNTFSw4Nc].mp4", false, false, false, 4, [], 1, ~U[2026-09-10 12:00:15Z], ~U[2026-09-16 17:11:04Z], ~U[2026-09-16 17:11:04Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Oded Rechavi, a professor at Tel Aviv University who studies genetics, epigenetics and the inheritance of acquired traits. We discuss how DNA, RNA and epigenetic mechanisms determine what information can pass between generations, and why acquired traits are generally not thought to be inherited. We also explain research in C. elegans showing how small RNAs can transmit antiviral resistance and influence behavior across generations, what these findings might mean for mammals and humans, and potential future applications for reproductive health and diagnostics.\n\nShow notes: https://go.hubermanlab.com/HbTfdok\n\nFull episode with Dr. Oded Rechavi: https://youtu.be/CDUetQMKM6g\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nTimestamps\n00:00:00 Oded Rechavi\n00:00:24 DNA, Genome, RNA & Proteins\n00:03:43 Somatic vs. Germ Cells; Inheritance\n00:06:04 Lamarck vs. Darwin, Inheritance of Acquired Traits\n00:08:27 Weismann Barrier, Epigenetic Reprogramming\n00:11:46 RNA & Transgenerational Inheritance\n00:12:35 Model Organisms, C. elegans\n00:15:40 Inheritance of Acquired Traits in C. elegans\n00:16:03 RNA Interference, Small RNAs & Gene Silencing\n00:20:08 Viral Resistance Across Generations\n00:22:15 Small RNAs, Mammals & Inherited Effects\n00:23:23 Brain Activity, Memory & Heritable Information\n00:26:09 Neuronal Small RNAs & Behavior Across Generations\n00:27:22 Germ Cells, Development & Heritable RNA\n00:29:01 Future Applications, Exercise, IVF & RNA Diagnostics\n00:31:06 Acknowledgements\n\n#hubermanlab #hubermanlabpodcast #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Genes & the Inheritance of Memories Across Generations | Dr. Oded Rechavi", 1888, false, "1_iNTFSw4Nc", "https://www.youtube.com/watch?v=1_iNTFSw4Nc", "/downloads/Andrew Huberman/2026-09-10 Essentials: Genes & the Inheritance of Memories Across Generations | Dr. Oded Rechavi/Essentials: Genes & the Inheritance of Memories Across Generations | Dr. Oded Rechavi [1_iNTFSw4Nc].mp4", false, 4, ~U[2026-09-10 12:00:15Z]] 17:11:04.365 [debug] QUERY OK source="sources" db=0.2ms idle=57.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:04.366 [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] 17:11:04.366 [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 [109769] 17:11:04.367 [debug] Current batch of media processed. Will check again in 1000ms 17:11:05.368 [debug] Current batch of media processed. Will check again in 1000ms 17:11:06.369 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Gina Poe, PhD, a Professor of Integrative Biology and Physiology at the University of California, Los Angeles (UCLA). We discuss the architecture of sleep and how each stage supports distinct functions, including memory consolidation, creativity, brain restoration, and emotional processing. We also explain science-supported tools to improve sleep quality, support cognitive performance, and hormone balance. \n\nShow notes: https://go.hubermanlab.com/kZUkSSF\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nTimestamps\n00:00:00 Gina Poe\n00:00:19 Sleep States, Perfect Night’s Sleep\n00:02:23 Early Sleep, Memory Processing, Dreams\n00:04:34 Growth Hormone & Early Sleep, Tool: Consistent Bedtime\n00:06:47 Alcohol & Negative Sleep Effects\n00:07:45 Middle Sleep States, Creativity\n00:08:59 Waking During Night, Nighttime Urination\n00:10:06 Later Sleep, REM, Deep Sleep; Sleepwalking\n00:12:28 Morning Grogginess; Sleep Trackers\n00:14:20 Early Sleep “Washout”, Brain Waste Clearence\n00:18:23 Locus Coeruleus, Learning & REM Sleep, Tool: Calm Bedtime Routine\n00:22:24 Sleep Spindles, P Waves, Learning & Creativity\n00:25:47 Trauma Recovery, REM Sleep, Locus Coeruleus\n00:29:19 Acknowledgements\n\n#hubermanlab #hubermanlabpodcast \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1788, "filename" => "/downloads/Andrew Huberman/2026-09-03 Essentials: Use Sleep to Enhance Learning, Memory & Emotional State | Dr. Gina Poe/Essentials: Use Sleep to Enhance Learning, Memory & Emotional State | Dr. Gina Poe [f1NNmiz547U].mp4", "id" => "f1NNmiz547U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=f1NNmiz547U", "playlist_index" => 2, "timestamp" => 1788436839, "title" => "Essentials: Use Sleep to Enhance Learning, Memory & Emotional State | Dr. Gina Poe", "upload_date" => "20260903"} 17:11:06.369 [debug] QUERY OK source="sources" db=0.2ms idle=622.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:06.370 [debug] QUERY OK source="sources" db=0.2ms idle=623.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:06.371 [debug] QUERY OK source="media_items" db=0.4ms idle=623.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-03 12:00:39Z], 4] 17:11:06.377 [debug] QUERY OK source="media_items" db=5.4ms idle=624.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Gina Poe, PhD, a Professor of Integrative Biology and Physiology at the University of California, Los Angeles (UCLA). We discuss the architecture of sleep and how each stage supports distinct functions, including memory consolidation, creativity, brain restoration, and emotional processing. We also explain science-supported tools to improve sleep quality, support cognitive performance, and hormone balance. \n\nShow notes: https://go.hubermanlab.com/kZUkSSF\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nTimestamps\n00:00:00 Gina Poe\n00:00:19 Sleep States, Perfect Night’s Sleep\n00:02:23 Early Sleep, Memory Processing, Dreams\n00:04:34 Growth Hormone & Early Sleep, Tool: Consistent Bedtime\n00:06:47 Alcohol & Negative Sleep Effects\n00:07:45 Middle Sleep States, Creativity\n00:08:59 Waking During Night, Nighttime Urination\n00:10:06 Later Sleep, REM, Deep Sleep; Sleepwalking\n00:12:28 Morning Grogginess; Sleep Trackers\n00:14:20 Early Sleep “Washout”, Brain Waste Clearence\n00:18:23 Locus Coeruleus, Learning & REM Sleep, Tool: Calm Bedtime Routine\n00:22:24 Sleep Spindles, P Waves, Learning & Creativity\n00:25:47 Trauma Recovery, REM Sleep, Locus Coeruleus\n00:29:19 Acknowledgements\n\n#hubermanlab #hubermanlabpodcast \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Use Sleep to Enhance Learning, Memory & Emotional State | Dr. Gina Poe", "8aae4f41-68ac-4e02-8744-df9662ef8792", 1788, false, "f1NNmiz547U", "https://www.youtube.com/watch?v=f1NNmiz547U", 2, "/downloads/Andrew Huberman/2026-09-03 Essentials: Use Sleep to Enhance Learning, Memory & Emotional State | Dr. Gina Poe/Essentials: Use Sleep to Enhance Learning, Memory & Emotional State | Dr. Gina Poe [f1NNmiz547U].mp4", false, false, false, 4, [], 1, ~U[2026-09-03 12:00:39Z], ~U[2026-09-16 17:11:06Z], ~U[2026-09-16 17:11:06Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Gina Poe, PhD, a Professor of Integrative Biology and Physiology at the University of California, Los Angeles (UCLA). We discuss the architecture of sleep and how each stage supports distinct functions, including memory consolidation, creativity, brain restoration, and emotional processing. We also explain science-supported tools to improve sleep quality, support cognitive performance, and hormone balance. \n\nShow notes: https://go.hubermanlab.com/kZUkSSF\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nTimestamps\n00:00:00 Gina Poe\n00:00:19 Sleep States, Perfect Night’s Sleep\n00:02:23 Early Sleep, Memory Processing, Dreams\n00:04:34 Growth Hormone & Early Sleep, Tool: Consistent Bedtime\n00:06:47 Alcohol & Negative Sleep Effects\n00:07:45 Middle Sleep States, Creativity\n00:08:59 Waking During Night, Nighttime Urination\n00:10:06 Later Sleep, REM, Deep Sleep; Sleepwalking\n00:12:28 Morning Grogginess; Sleep Trackers\n00:14:20 Early Sleep “Washout”, Brain Waste Clearence\n00:18:23 Locus Coeruleus, Learning & REM Sleep, Tool: Calm Bedtime Routine\n00:22:24 Sleep Spindles, P Waves, Learning & Creativity\n00:25:47 Trauma Recovery, REM Sleep, Locus Coeruleus\n00:29:19 Acknowledgements\n\n#hubermanlab #hubermanlabpodcast \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Use Sleep to Enhance Learning, Memory & Emotional State | Dr. Gina Poe", 1788, false, "f1NNmiz547U", "https://www.youtube.com/watch?v=f1NNmiz547U", "/downloads/Andrew Huberman/2026-09-03 Essentials: Use Sleep to Enhance Learning, Memory & Emotional State | Dr. Gina Poe/Essentials: Use Sleep to Enhance Learning, Memory & Emotional State | Dr. Gina Poe [f1NNmiz547U].mp4", false, 4, ~U[2026-09-03 12:00:39Z]] 17:11:06.377 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=66.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:06.379 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.1ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:11:06.381 [debug] QUERY OK source="media_items" db=0.7ms idle=9.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [104068] 17:11:06.381 [debug] Current batch of media processed. Will check again in 1000ms 17:11:07.384 [debug] Current batch of media processed. Will check again in 1000ms 17:11:08.385 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Chris Palmer, MD, a board-certified psychiatrist and Assistant Professor of Psychiatry at Harvard Medical School. We explain how nutrition and metabolism directly affect mental health, including the biological mechanisms underlying these effects. We also discuss how carbohydrate restriction, ketogenic diets and fasting can improve mood, energy, and, in some cases, treatment-resistant psychiatric conditions. \n\nShow notes: https://go.hubermanlab.com/it2boBG\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nDr. Chris Palmer\nWebsite: https://www.chrispalmermd.com\nX: https://x.com/chrispalmermd\nInstagram: https://www.instagram.com/chrispalmermd\nYouTube: https://www.youtube.com/@ChrisPalmerMD\nFacebook: https://www.facebook.com/ChrisPalmerMD\n\nTimestamps\n00:00:00 Chris Palmer\n00:00:20 Personal Story, Nutrition & Mental Health\n00:05:28 Treatment-Resistant Mental Disorders & Low-Carbohydrate Diet\n00:07:32 Ketogenic Diet & Schizophrenia Success Story\n00:11:01 Nutrition for Mental Disorders, Ketosis, Highly Processed Foods\n00:13:55 Epilepsy & Ketogenic Diet, Fasting; Mitochondrial Benefits\n00:19:54 Mitochondria Functions, Mental Disorders\n00:25:44 Mitophagy, Autophagy, Longevity & Calorie Restriction\n00:30:51 Carbohydrate Restriction, Depression Treatment\n00:33:49 Acknowledgements\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2085, "filename" => "/downloads/Andrew Huberman/2026-08-27 Essentials: Diet & Nutrition for Mental Health | Dr. Chris Palmer/Essentials: Diet & Nutrition for Mental Health | Dr. Chris Palmer [E56LSFCNdkI].mp4", "id" => "E56LSFCNdkI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=E56LSFCNdkI", "playlist_index" => 3, "timestamp" => 1787832025, "title" => "Essentials: Diet & Nutrition for Mental Health | Dr. Chris Palmer", "upload_date" => "20260827"} 17:11:08.385 [debug] QUERY OK source="sources" db=0.2ms idle=638.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:08.386 [debug] QUERY OK source="sources" db=0.1ms idle=639.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:08.387 [debug] QUERY OK source="media_items" db=0.4ms idle=639.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-27 12:00:25Z], 4] 17:11:08.394 [debug] QUERY OK source="media_items" db=6.1ms idle=640.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Chris Palmer, MD, a board-certified psychiatrist and Assistant Professor of Psychiatry at Harvard Medical School. We explain how nutrition and metabolism directly affect mental health, including the biological mechanisms underlying these effects. We also discuss how carbohydrate restriction, ketogenic diets and fasting can improve mood, energy, and, in some cases, treatment-resistant psychiatric conditions. \n\nShow notes: https://go.hubermanlab.com/it2boBG\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nDr. Chris Palmer\nWebsite: https://www.chrispalmermd.com\nX: https://x.com/chrispalmermd\nInstagram: https://www.instagram.com/chrispalmermd\nYouTube: https://www.youtube.com/@ChrisPalmerMD\nFacebook: https://www.facebook.com/ChrisPalmerMD\n\nTimestamps\n00:00:00 Chris Palmer\n00:00:20 Personal Story, Nutrition & Mental Health\n00:05:28 Treatment-Resistant Mental Disorders & Low-Carbohydrate Diet\n00:07:32 Ketogenic Diet & Schizophrenia Success Story\n00:11:01 Nutrition for Mental Disorders, Ketosis, Highly Processed Foods\n00:13:55 Epilepsy & Ketogenic Diet, Fasting; Mitochondrial Benefits\n00:19:54 Mitochondria Functions, Mental Disorders\n00:25:44 Mitophagy, Autophagy, Longevity & Calorie Restriction\n00:30:51 Carbohydrate Restriction, Depression Treatment\n00:33:49 Acknowledgements\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Diet & Nutrition for Mental Health | Dr. Chris Palmer", "d68a4cbb-f9ec-46f0-a627-ba5c31e43f79", 2085, false, "E56LSFCNdkI", "https://www.youtube.com/watch?v=E56LSFCNdkI", 3, "/downloads/Andrew Huberman/2026-08-27 Essentials: Diet & Nutrition for Mental Health | Dr. Chris Palmer/Essentials: Diet & Nutrition for Mental Health | Dr. Chris Palmer [E56LSFCNdkI].mp4", false, false, false, 4, [], 1, ~U[2026-08-27 12:00:25Z], ~U[2026-09-16 17:11:08Z], ~U[2026-09-16 17:11:08Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Chris Palmer, MD, a board-certified psychiatrist and Assistant Professor of Psychiatry at Harvard Medical School. We explain how nutrition and metabolism directly affect mental health, including the biological mechanisms underlying these effects. We also discuss how carbohydrate restriction, ketogenic diets and fasting can improve mood, energy, and, in some cases, treatment-resistant psychiatric conditions. \n\nShow notes: https://go.hubermanlab.com/it2boBG\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nDr. Chris Palmer\nWebsite: https://www.chrispalmermd.com\nX: https://x.com/chrispalmermd\nInstagram: https://www.instagram.com/chrispalmermd\nYouTube: https://www.youtube.com/@ChrisPalmerMD\nFacebook: https://www.facebook.com/ChrisPalmerMD\n\nTimestamps\n00:00:00 Chris Palmer\n00:00:20 Personal Story, Nutrition & Mental Health\n00:05:28 Treatment-Resistant Mental Disorders & Low-Carbohydrate Diet\n00:07:32 Ketogenic Diet & Schizophrenia Success Story\n00:11:01 Nutrition for Mental Disorders, Ketosis, Highly Processed Foods\n00:13:55 Epilepsy & Ketogenic Diet, Fasting; Mitochondrial Benefits\n00:19:54 Mitochondria Functions, Mental Disorders\n00:25:44 Mitophagy, Autophagy, Longevity & Calorie Restriction\n00:30:51 Carbohydrate Restriction, Depression Treatment\n00:33:49 Acknowledgements\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Diet & Nutrition for Mental Health | Dr. Chris Palmer", 2085, false, "E56LSFCNdkI", "https://www.youtube.com/watch?v=E56LSFCNdkI", "/downloads/Andrew Huberman/2026-08-27 Essentials: Diet & Nutrition for Mental Health | Dr. Chris Palmer/Essentials: Diet & Nutrition for Mental Health | Dr. Chris Palmer [E56LSFCNdkI].mp4", false, 4, ~U[2026-08-27 12:00:25Z]] 17:11:08.394 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=80.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:08.395 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:11:08.395 [debug] QUERY OK source="media_items" db=0.4ms idle=9.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [98401] 17:11:08.395 [debug] Current batch of media processed. Will check again in 1000ms 17:11:09.397 [debug] Current batch of media processed. Will check again in 1000ms 17:11:10.398 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest Rick Rubin, world-renowned music producer and author of The Creative Act: A Way of Being, and I discuss how to access creativity by noticing ideas, trusting your taste and staying fully present with the work. Rick explains the phases of the creative process and how focus, disengagement, self-doubt, deadlines and meditation can support original work. We also explore perception, pro wrestling and why remaining open to uncertainty can help anyone create more authentically.\n\nShow notes: https://go.hubermanlab.com/V8GCPL7\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nRick Rubin\nTetragrammaton: https://www.tetragrammaton.com\nThe Creative Act (book): https://geni.us/jEcQ6hb\nInstagram: https://www.instagram.com/rickrubin\nX: https://x.com/RickRubin\n\nTimestamps\n00:00:00 Rick Rubin & Creativity\n00:00:23 Creativity as a Dream or Cloud\n00:01:53 Childhood, Openness & Originality\n00:03:29 Trust Your Taste; Experiment, Don't Over-Explain\n00:05:27 Creative Aperture & New Perspectives\n00:07:05 External Feedback & Staying True to the Work\n00:08:31 Finishing Creative Projects\n00:09:52 Focus, Disengagement & the Subconscious\n00:12:32 Perception, Storytelling & Uncertainty\n00:15:22 Pro Wrestling, Playfulness & Reality\n00:16:44 Morning Routine & Receptivity\n00:17:34 Four Phases of Creative Work; Deadlines\n00:22:31 Self-Doubt as a Creative Tool\n00:23:36 Capturing Real Moments; Authenticity\n00:24:41 Routines, Advice & Staying Open\n00:26:16 Look for Clues; Belief & Attention\n00:29:15 Meditation: Mantra, Breath & Awareness\n00:31:13 Monroe Institute Surgical Support Series\n\n#hubermanlab #rickrubin #creativity \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1948, "filename" => "/downloads/Andrew Huberman/2026-08-20 Essentials: How to Access Your Creativity | Rick Rubin/Essentials: How to Access Your Creativity | Rick Rubin [QP8Kpf1UQwM].mp4", "id" => "QP8Kpf1UQwM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QP8Kpf1UQwM", "playlist_index" => 4, "timestamp" => 1787227213, "title" => "Essentials: How to Access Your Creativity | Rick Rubin", "upload_date" => "20260820"} 17:11:10.398 [debug] QUERY OK source="sources" db=0.2ms idle=651.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:10.399 [debug] QUERY OK source="sources" db=0.3ms idle=651.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:10.400 [debug] QUERY OK source="media_items" db=0.6ms idle=652.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-20 12:00:13Z], 4] 17:11:10.408 [debug] QUERY OK source="media_items" db=6.8ms idle=653.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest Rick Rubin, world-renowned music producer and author of The Creative Act: A Way of Being, and I discuss how to access creativity by noticing ideas, trusting your taste and staying fully present with the work. Rick explains the phases of the creative process and how focus, disengagement, self-doubt, deadlines and meditation can support original work. We also explore perception, pro wrestling and why remaining open to uncertainty can help anyone create more authentically.\n\nShow notes: https://go.hubermanlab.com/V8GCPL7\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nRick Rubin\nTetragrammaton: https://www.tetragrammaton.com\nThe Creative Act (book): https://geni.us/jEcQ6hb\nInstagram: https://www.instagram.com/rickrubin\nX: https://x.com/RickRubin\n\nTimestamps\n00:00:00 Rick Rubin & Creativity\n00:00:23 Creativity as a Dream or Cloud\n00:01:53 Childhood, Openness & Originality\n00:03:29 Trust Your Taste; Experiment, Don't Over-Explain\n00:05:27 Creative Aperture & New Perspectives\n00:07:05 External Feedback & Staying True to the Work\n00:08:31 Finishing Creative Projects\n00:09:52 Focus, Disengagement & the Subconscious\n00:12:32 Perception, Storytelling & Uncertainty\n00:15:22 Pro Wrestling, Playfulness & Reality\n00:16:44 Morning Routine & Receptivity\n00:17:34 Four Phases of Creative Work; Deadlines\n00:22:31 Self-Doubt as a Creative Tool\n00:23:36 Capturing Real Moments; Authenticity\n00:24:41 Routines, Advice & Staying Open\n00:26:16 Look for Clues; Belief & Attention\n00:29:15 Meditation: Mantra, Breath & Awareness\n00:31:13 Monroe Institute Surgical Support Series\n\n#hubermanlab #rickrubin #creativity \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Access Your Creativity | Rick Rubin", "9cb31dcf-ea41-4f1c-a0b4-65735fb84ffe", 1948, false, "QP8Kpf1UQwM", "https://www.youtube.com/watch?v=QP8Kpf1UQwM", 4, "/downloads/Andrew Huberman/2026-08-20 Essentials: How to Access Your Creativity | Rick Rubin/Essentials: How to Access Your Creativity | Rick Rubin [QP8Kpf1UQwM].mp4", false, false, false, 4, [], 1, ~U[2026-08-20 12:00:13Z], ~U[2026-09-16 17:11:10Z], ~U[2026-09-16 17:11:10Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest Rick Rubin, world-renowned music producer and author of The Creative Act: A Way of Being, and I discuss how to access creativity by noticing ideas, trusting your taste and staying fully present with the work. Rick explains the phases of the creative process and how focus, disengagement, self-doubt, deadlines and meditation can support original work. We also explore perception, pro wrestling and why remaining open to uncertainty can help anyone create more authentically.\n\nShow notes: https://go.hubermanlab.com/V8GCPL7\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nRick Rubin\nTetragrammaton: https://www.tetragrammaton.com\nThe Creative Act (book): https://geni.us/jEcQ6hb\nInstagram: https://www.instagram.com/rickrubin\nX: https://x.com/RickRubin\n\nTimestamps\n00:00:00 Rick Rubin & Creativity\n00:00:23 Creativity as a Dream or Cloud\n00:01:53 Childhood, Openness & Originality\n00:03:29 Trust Your Taste; Experiment, Don't Over-Explain\n00:05:27 Creative Aperture & New Perspectives\n00:07:05 External Feedback & Staying True to the Work\n00:08:31 Finishing Creative Projects\n00:09:52 Focus, Disengagement & the Subconscious\n00:12:32 Perception, Storytelling & Uncertainty\n00:15:22 Pro Wrestling, Playfulness & Reality\n00:16:44 Morning Routine & Receptivity\n00:17:34 Four Phases of Creative Work; Deadlines\n00:22:31 Self-Doubt as a Creative Tool\n00:23:36 Capturing Real Moments; Authenticity\n00:24:41 Routines, Advice & Staying Open\n00:26:16 Look for Clues; Belief & Attention\n00:29:15 Meditation: Mantra, Breath & Awareness\n00:31:13 Monroe Institute Surgical Support Series\n\n#hubermanlab #rickrubin #creativity \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Access Your Creativity | Rick Rubin", 1948, false, "QP8Kpf1UQwM", "https://www.youtube.com/watch?v=QP8Kpf1UQwM", "/downloads/Andrew Huberman/2026-08-20 Essentials: How to Access Your Creativity | Rick Rubin/Essentials: How to Access Your Creativity | Rick Rubin [QP8Kpf1UQwM].mp4", false, 4, ~U[2026-08-20 12:00:13Z]] 17:11:10.409 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=93.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:10.410 [debug] QUERY OK source="media_profiles" db=0.5ms queue=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" = ?) [2] 17:11:10.412 [debug] QUERY OK source="media_items" db=1.1ms idle=11.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [92768] 17:11:10.413 [debug] Current batch of media processed. Will check again in 1000ms 17:11:11.414 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Sara Gottfried, M.D., a Harvard-trained, board-certified gynecologist and expert in female hormone health. We discuss the key biomarkers women should track at each stage of life and how cortisol, thyroid hormone, estrogen, progesterone, and testosterone shape energy, mood, metabolism, and long-term disease risk. We also discuss PCOS, the risks and benefits of oral contraceptives, and the shift in brain metabolism that begins in perimenopause. Dr. Gottfried explains actionable tools for hormone and micronutrient testing, nutrition, stress management, and cardiometabolic screening that women can use at any age.\n\nShow notes: https://go.hubermanlab.com/G3wmc8o\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nDr. Sara Gottfried:\nWebsite: https://www.saragottfriedmd.com\nAcademic profile: https://www.jefferson.edu/academics/colleges-schools-institutes/health-professions/emerging-health-professions/faculty-staff/faculty/Gottfried.html\nInstagram: https://www.instagram.com/saragottfriedmd\nX: https://twitter.com/drgottfried\n\nTimestamps\n00:00:00 Female Hormone Health\n00:00:24 Family History, Intergenerational Trauma; Endometriosis, Fibroids, PCOS\n00:01:31 Biomarkers by Decade; Teens & Cortisol; 20s & Sex Hormones\n00:03:35 Tool: Hormone Test Timing; Micronutrient Testing, Magnesium\n00:05:40 Tool: Smoothies, Greens Powders & Microbiome\n00:06:39 Nutrient Panels, Antioxidants, B Vitamins, Glutathione\n00:08:01 Constipation, Thyroid Dysfunction; Trauma & Female Physiology\n00:10:17 Tools: Reduce Perceived Stress, Meditation, Yoga, Breathwork\n00:11:58 Opportunities by Decade; Androgens & Testosterone Decline\n00:13:18 PCOS, Diagnostic Criteria, Hirsutism, Cardiometabolic Risk\n00:15:38 Insulin & Glucose; Tool: Continuous Glucose Monitors\n00:16:34 Democratizing Health Data\n00:17:19 Longevity \"Don’ts\"; Chronic Cardio & Cortisol; Tool: Adaptive Exercise\n00:20:00 Oral Contraceptives, Benefits & Ovarian Cancer Risk\n00:21:41 Ovarian Cancer Symptoms, Bloating, CA-125\n00:23:04 Oral Contraceptive Risks, Progestins, Inflammation; SHBG & Testosterone\n00:26:21 Clitoral Shrinkage; Tools: Alternatives for Painful Periods\n00:27:28 Menopause & Perimenopause; 30s Hormonal Baseline\n00:29:00 Female Brain, Cerebral Hypometabolism & Alzheimer’s Risk\n00:30:58 Slow Brain Energy, Hormone Therapy; Hot Flashes as Biomarkers\n00:32:49 Tool: Coronary Artery Calcium Score\n\n#hubermanlab #hubermanlabpodcast #health\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2040, "filename" => "/downloads/Andrew Huberman/2026-08-13 Essentials: How to Optimize Female Hormone Health for Vitality & Longevity | Dr. Sara Gottfried/Essentials: How to Optimize Female Hormone Health for Vitality & Longevity | Dr. Sara Gottfried [wbuPQPu-03Y].mp4", "id" => "wbuPQPu-03Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wbuPQPu-03Y", "playlist_index" => 5, "timestamp" => 1786622410, "title" => "Essentials: How to Optimize Female Hormone Health for Vitality & Longevity | Dr. Sara Gottfried", "upload_date" => "20260813"} 17:11:11.415 [debug] QUERY OK source="sources" db=0.2ms idle=1006.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:11.415 [debug] QUERY OK source="sources" db=0.1ms idle=1005.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:11.416 [debug] QUERY OK source="media_items" db=0.5ms idle=1004.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-13 12:00:10Z], 4] 17:11:11.420 [debug] QUERY OK source="media_items" db=2.9ms idle=1004.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Sara Gottfried, M.D., a Harvard-trained, board-certified gynecologist and expert in female hormone health. We discuss the key biomarkers women should track at each stage of life and how cortisol, thyroid hormone, estrogen, progesterone, and testosterone shape energy, mood, metabolism, and long-term disease risk. We also discuss PCOS, the risks and benefits of oral contraceptives, and the shift in brain metabolism that begins in perimenopause. Dr. Gottfried explains actionable tools for hormone and micronutrient testing, nutrition, stress management, and cardiometabolic screening that women can use at any age.\n\nShow notes: https://go.hubermanlab.com/G3wmc8o\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nDr. Sara Gottfried:\nWebsite: https://www.saragottfriedmd.com\nAcademic profile: https://www.jefferson.edu/academics/colleges-schools-institutes/health-professions/emerging-health-professions/faculty-staff/faculty/Gottfried.html\nInstagram: https://www.instagram.com/saragottfriedmd\nX: https://twitter.com/drgottfried\n\nTimestamps\n00:00:00 Female Hormone Health\n00:00:24 Family History, Intergenerational Trauma; Endometriosis, Fibroids, PCOS\n00:01:31 Biomarkers by Decade; Teens & Cortisol; 20s & Sex Hormones\n00:03:35 Tool: Hormone Test Timing; Micronutrient Testing, Magnesium\n00:05:40 Tool: Smoothies, Greens Powders & Microbiome\n00:06:39 Nutrient Panels, Antioxidants, B Vitamins, Glutathione\n00:08:01 Constipation, Thyroid Dysfunction; Trauma & Female Physiology\n00:10:17 Tools: Reduce Perceived Stress, Meditation, Yoga, Breathwork\n00:11:58 Opportunities by Decade; Androgens & Testosterone Decline\n00:13:18 PCOS, Diagnostic Criteria, Hirsutism, Cardiometabolic Risk\n00:15:38 Insulin & Glucose; Tool: Continuous Glucose Monitors\n00:16:34 Democratizing Health Data\n00:17:19 Longevity \"Don’ts\"; Chronic Cardio & Cortisol; Tool: Adaptive Exercise\n00:20:00 Oral Contraceptives, Benefits & Ovarian Cancer Risk\n00:21:41 Ovarian Cancer Symptoms, Bloating, CA-125\n00:23:04 Oral Contraceptive Risks, Progestins, Inflammation; SHBG & Testosterone\n00:26:21 Clitoral Shrinkage; Tools: Alternatives for Painful Periods\n00:27:28 Menopause & Perimenopause; 30s Hormonal Baseline\n00:29:00 Female Brain, Cerebral Hypometabolism & Alzheimer’s Risk\n00:30:58 Slow Brain Energy, Hormone Therapy; Hot Flashes as Biomarkers\n00:32:49 Tool: Coronary Artery Calcium Score\n\n#hubermanlab #hubermanlabpodcast #health\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Optimize Female Hormone Health for Vitality & Longevity | Dr. Sara Gottfried", "cce687c1-2331-4c31-86e9-1c5409edb559", 2040, false, "wbuPQPu-03Y", "https://www.youtube.com/watch?v=wbuPQPu-03Y", 5, "/downloads/Andrew Huberman/2026-08-13 Essentials: How to Optimize Female Hormone Health for Vitality & Longevity | Dr. Sara Gottfried/Essentials: How to Optimize Female Hormone Health for Vitality & Longevity | Dr. Sara Gottfried [wbuPQPu-03Y].mp4", false, false, false, 4, [], 1, ~U[2026-08-13 12:00:10Z], ~U[2026-09-16 17:11:11Z], ~U[2026-09-16 17:11:11Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Sara Gottfried, M.D., a Harvard-trained, board-certified gynecologist and expert in female hormone health. We discuss the key biomarkers women should track at each stage of life and how cortisol, thyroid hormone, estrogen, progesterone, and testosterone shape energy, mood, metabolism, and long-term disease risk. We also discuss PCOS, the risks and benefits of oral contraceptives, and the shift in brain metabolism that begins in perimenopause. Dr. Gottfried explains actionable tools for hormone and micronutrient testing, nutrition, stress management, and cardiometabolic screening that women can use at any age.\n\nShow notes: https://go.hubermanlab.com/G3wmc8o\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nDr. Sara Gottfried:\nWebsite: https://www.saragottfriedmd.com\nAcademic profile: https://www.jefferson.edu/academics/colleges-schools-institutes/health-professions/emerging-health-professions/faculty-staff/faculty/Gottfried.html\nInstagram: https://www.instagram.com/saragottfriedmd\nX: https://twitter.com/drgottfried\n\nTimestamps\n00:00:00 Female Hormone Health\n00:00:24 Family History, Intergenerational Trauma; Endometriosis, Fibroids, PCOS\n00:01:31 Biomarkers by Decade; Teens & Cortisol; 20s & Sex Hormones\n00:03:35 Tool: Hormone Test Timing; Micronutrient Testing, Magnesium\n00:05:40 Tool: Smoothies, Greens Powders & Microbiome\n00:06:39 Nutrient Panels, Antioxidants, B Vitamins, Glutathione\n00:08:01 Constipation, Thyroid Dysfunction; Trauma & Female Physiology\n00:10:17 Tools: Reduce Perceived Stress, Meditation, Yoga, Breathwork\n00:11:58 Opportunities by Decade; Androgens & Testosterone Decline\n00:13:18 PCOS, Diagnostic Criteria, Hirsutism, Cardiometabolic Risk\n00:15:38 Insulin & Glucose; Tool: Continuous Glucose Monitors\n00:16:34 Democratizing Health Data\n00:17:19 Longevity \"Don’ts\"; Chronic Cardio & Cortisol; Tool: Adaptive Exercise\n00:20:00 Oral Contraceptives, Benefits & Ovarian Cancer Risk\n00:21:41 Ovarian Cancer Symptoms, Bloating, CA-125\n00:23:04 Oral Contraceptive Risks, Progestins, Inflammation; SHBG & Testosterone\n00:26:21 Clitoral Shrinkage; Tools: Alternatives for Painful Periods\n00:27:28 Menopause & Perimenopause; 30s Hormonal Baseline\n00:29:00 Female Brain, Cerebral Hypometabolism & Alzheimer’s Risk\n00:30:58 Slow Brain Energy, Hormone Therapy; Hot Flashes as Biomarkers\n00:32:49 Tool: Coronary Artery Calcium Score\n\n#hubermanlab #hubermanlabpodcast #health\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Optimize Female Hormone Health for Vitality & Longevity | Dr. Sara Gottfried", 2040, false, "wbuPQPu-03Y", "https://www.youtube.com/watch?v=wbuPQPu-03Y", "/downloads/Andrew Huberman/2026-08-13 Essentials: How to Optimize Female Hormone Health for Vitality & Longevity | Dr. Sara Gottfried/Essentials: How to Optimize Female Hormone Health for Vitality & Longevity | Dr. Sara Gottfried [wbuPQPu-03Y].mp4", false, 4, ~U[2026-08-13 12:00:10Z]] 17:11:11.420 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:11.421 [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] 17:11:11.422 [debug] QUERY OK source="media_items" db=1.2ms idle=6.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [87951] 17:11:11.422 [debug] Current batch of media processed. Will check again in 1000ms 17:11:12.424 [debug] Current batch of media processed. Will check again in 1000ms 17:11:13.425 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how key neuromodulators shape motivation, energy, focus and mood throughout the day. I also describe a toolkit of science-supported behavioral, nutritional and supplement-based strategies to increase baseline levels for each neuromodulator, which can be modified to support your specific health and performance goals. \n\nShow notes: https://go.hubermanlab.com/vqRTSoT\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nTimestamps\n00:00:00 Optimize Neurochemicals for Health\n00:00:27 Neuromodulator Levels & 3 Daily Phases\n00:05:07 Hormones Modulate Neuromodulators\n00:06:56 Effects of Key Neuromodulators\n00:08:58 Increase Motivation & Dopamine, Tools: Morning Sunlight; Caffeine\n00:12:12 Dopamine Supplements: Mucuna Pruriens, L-Tyrosine, Phenethylamine (PEA)\n00:15:16 Increase Dopamine, Tool: Deliberate Cold Exposure\n00:18:00 Increase Epinephrine (Adrenaline) & Energy, Tools: Exercise, Cyclic Hyperventilation\n00:22:25 Enhance Focus & Acetylcholine: Choline-Rich Foods, Nicotine\n00:24:40 Acetylcholine Supplements: Alpha-GPC, Huperzine\n00:25:34 Serotonin & Mood, Tools: Gratitude, Tryptophan-Rich Foods\n00:28:02 Serotonin Supplement: Myo-inositol\n00:28:39 Using the Neurochemical Toolkit for Your Goals\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1851, "filename" => "/downloads/Andrew Huberman/2026-08-06 Control Your Brain Chemistry for Focus, Motivation & Well-Being | Huberman Lab Essentials/Control Your Brain Chemistry for Focus, Motivation & Well-Being | Huberman Lab Essentials [xKvlK7OqZso].mp4", "id" => "xKvlK7OqZso", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xKvlK7OqZso", "playlist_index" => 6, "timestamp" => 1786017635, "title" => "Control Your Brain Chemistry for Focus, Motivation & Well-Being | Huberman Lab Essentials", "upload_date" => "20260806"} 17:11:13.426 [debug] QUERY OK source="sources" db=0.4ms idle=678.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:13.427 [debug] QUERY OK source="sources" db=0.7ms idle=679.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:13.429 [debug] QUERY OK source="media_items" db=1.6ms queue=0.7ms idle=680.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-06 12:00:35Z], 4] 17:11:13.435 [debug] QUERY OK source="media_items" db=5.1ms idle=683.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how key neuromodulators shape motivation, energy, focus and mood throughout the day. I also describe a toolkit of science-supported behavioral, nutritional and supplement-based strategies to increase baseline levels for each neuromodulator, which can be modified to support your specific health and performance goals. \n\nShow notes: https://go.hubermanlab.com/vqRTSoT\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nTimestamps\n00:00:00 Optimize Neurochemicals for Health\n00:00:27 Neuromodulator Levels & 3 Daily Phases\n00:05:07 Hormones Modulate Neuromodulators\n00:06:56 Effects of Key Neuromodulators\n00:08:58 Increase Motivation & Dopamine, Tools: Morning Sunlight; Caffeine\n00:12:12 Dopamine Supplements: Mucuna Pruriens, L-Tyrosine, Phenethylamine (PEA)\n00:15:16 Increase Dopamine, Tool: Deliberate Cold Exposure\n00:18:00 Increase Epinephrine (Adrenaline) & Energy, Tools: Exercise, Cyclic Hyperventilation\n00:22:25 Enhance Focus & Acetylcholine: Choline-Rich Foods, Nicotine\n00:24:40 Acetylcholine Supplements: Alpha-GPC, Huperzine\n00:25:34 Serotonin & Mood, Tools: Gratitude, Tryptophan-Rich Foods\n00:28:02 Serotonin Supplement: Myo-inositol\n00:28:39 Using the Neurochemical Toolkit for Your Goals\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Control Your Brain Chemistry for Focus, Motivation & Well-Being | Huberman Lab Essentials", "71fff6a0-88b5-4db3-8fbb-e6457c94d381", 1851, false, "xKvlK7OqZso", "https://www.youtube.com/watch?v=xKvlK7OqZso", 6, "/downloads/Andrew Huberman/2026-08-06 Control Your Brain Chemistry for Focus, Motivation & Well-Being | Huberman Lab Essentials/Control Your Brain Chemistry for Focus, Motivation & Well-Being | Huberman Lab Essentials [xKvlK7OqZso].mp4", false, false, false, 4, [], 1, ~U[2026-08-06 12:00:35Z], ~U[2026-09-16 17:11:13Z], ~U[2026-09-16 17:11:13Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how key neuromodulators shape motivation, energy, focus and mood throughout the day. I also describe a toolkit of science-supported behavioral, nutritional and supplement-based strategies to increase baseline levels for each neuromodulator, which can be modified to support your specific health and performance goals. \n\nShow notes: https://go.hubermanlab.com/vqRTSoT\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nTimestamps\n00:00:00 Optimize Neurochemicals for Health\n00:00:27 Neuromodulator Levels & 3 Daily Phases\n00:05:07 Hormones Modulate Neuromodulators\n00:06:56 Effects of Key Neuromodulators\n00:08:58 Increase Motivation & Dopamine, Tools: Morning Sunlight; Caffeine\n00:12:12 Dopamine Supplements: Mucuna Pruriens, L-Tyrosine, Phenethylamine (PEA)\n00:15:16 Increase Dopamine, Tool: Deliberate Cold Exposure\n00:18:00 Increase Epinephrine (Adrenaline) & Energy, Tools: Exercise, Cyclic Hyperventilation\n00:22:25 Enhance Focus & Acetylcholine: Choline-Rich Foods, Nicotine\n00:24:40 Acetylcholine Supplements: Alpha-GPC, Huperzine\n00:25:34 Serotonin & Mood, Tools: Gratitude, Tryptophan-Rich Foods\n00:28:02 Serotonin Supplement: Myo-inositol\n00:28:39 Using the Neurochemical Toolkit for Your Goals\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Control Your Brain Chemistry for Focus, Motivation & Well-Being | Huberman Lab Essentials", 1851, false, "xKvlK7OqZso", "https://www.youtube.com/watch?v=xKvlK7OqZso", "/downloads/Andrew Huberman/2026-08-06 Control Your Brain Chemistry for Focus, Motivation & Well-Being | Huberman Lab Essentials/Control Your Brain Chemistry for Focus, Motivation & Well-Being | Huberman Lab Essentials [xKvlK7OqZso].mp4", false, 4, ~U[2026-08-06 12:00:35Z]] 17:11:13.436 [debug] QUERY OK source="sources" db=0.3ms idle=117.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:13.437 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.3ms idle=10.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:11:13.438 [debug] QUERY OK source="media_items" db=0.4ms idle=10.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [81575] 17:11:13.438 [debug] Current batch of media processed. Will check again in 1000ms 17:11:14.440 [debug] Current batch of media processed. Will check again in 1000ms 17:11:15.441 [debug] Current batch of media processed. Will check again in 1000ms 17:11:16.442 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Jocko Willink, a retired U.S. Navy SEAL officer, author and host of the Jocko Podcast. We discuss why discipline, rather than motivation, is the reliable driver of daily action, and how taking action is the most effective way to move through adversity, loss and setbacks. We also discuss how exercise generates energy, the leader’s role as a counterweight to team morale, and detachment as a trainable skill for widening perspective and making better decisions under stress.\n\nShow notes: https://go.hubermanlab.com/NwgtCRz\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\nTimestamps\n00:00:00 Jocko Willink\n00:00:23 Discipline, Impact & Autonomy in the Military\n00:02:40 Energy, Waking Up, Alarm Clock & Debate\n00:04:12 Tool: Exercise for Energy; Eating, Fasting & Mental Clarity\n00:05:45 Tool: High-Intensity Exercise, Peak Mentality\n00:06:31 Winning & Losing, SEAL Selection, BUD/S, Resilience\n00:08:34 Leadership, Morale & Mob Mentality; Tool: Detach & Correct\n00:10:38 Loss, Grief; Tool: Action as a Cure for Adversity\n00:12:17 Parenting & Success; Tool: Be the Counterweight, Balance\n00:14:54 Sense of Self, Hardcore Music, DIY Attitude & Dissent\n00:17:42 Motivation as an Emotion, Discipline\n00:18:31 Tool: Move Toward Problems; Indirect Approach & Conflict\n00:20:00 Meditation, Detachment & Teaching Young Leaders\n00:21:33 Depression, Storm Clouds & Losing Perspective\n00:23:54 Tool: Detachment, Oil Rig Story, Field of View\n00:28:19 Tools: Take a Step Back, Slow Breathing & Widen Field of View\n00:29:19 Tools: Chin Up, Hands Down, Listening; Relationships\n00:31:32 Tool: Deliberate Discomfort & Training Resiliency\n00:32:04 Acknowledgements\n\n#hubermanlab #hubermanlabpodcast #jockowillink \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1987, "filename" => "/downloads/Andrew Huberman/2026-07-30 Essentials: How to Become Resilient, Forge Your Identity & Lead Others | Jocko Willink/Essentials: How to Become Resilient, Forge Your Identity & Lead Others | Jocko Willink [lxDf8uEypJU].mp4", "id" => "lxDf8uEypJU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lxDf8uEypJU", "playlist_index" => 7, "timestamp" => 1785412803, "title" => "Essentials: How to Become Resilient, Forge Your Identity & Lead Others | Jocko Willink", "upload_date" => "20260730"} 17:11:16.442 [debug] QUERY OK source="sources" db=0.2ms idle=1694.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:16.443 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1695.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:16.444 [debug] QUERY OK source="media_items" db=0.6ms idle=1695.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-30 12:00:03Z], 4] 17:11:16.454 [debug] QUERY OK source="media_items" db=9.3ms idle=1124.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Jocko Willink, a retired U.S. Navy SEAL officer, author and host of the Jocko Podcast. We discuss why discipline, rather than motivation, is the reliable driver of daily action, and how taking action is the most effective way to move through adversity, loss and setbacks. We also discuss how exercise generates energy, the leader’s role as a counterweight to team morale, and detachment as a trainable skill for widening perspective and making better decisions under stress.\n\nShow notes: https://go.hubermanlab.com/NwgtCRz\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\nTimestamps\n00:00:00 Jocko Willink\n00:00:23 Discipline, Impact & Autonomy in the Military\n00:02:40 Energy, Waking Up, Alarm Clock & Debate\n00:04:12 Tool: Exercise for Energy; Eating, Fasting & Mental Clarity\n00:05:45 Tool: High-Intensity Exercise, Peak Mentality\n00:06:31 Winning & Losing, SEAL Selection, BUD/S, Resilience\n00:08:34 Leadership, Morale & Mob Mentality; Tool: Detach & Correct\n00:10:38 Loss, Grief; Tool: Action as a Cure for Adversity\n00:12:17 Parenting & Success; Tool: Be the Counterweight, Balance\n00:14:54 Sense of Self, Hardcore Music, DIY Attitude & Dissent\n00:17:42 Motivation as an Emotion, Discipline\n00:18:31 Tool: Move Toward Problems; Indirect Approach & Conflict\n00:20:00 Meditation, Detachment & Teaching Young Leaders\n00:21:33 Depression, Storm Clouds & Losing Perspective\n00:23:54 Tool: Detachment, Oil Rig Story, Field of View\n00:28:19 Tools: Take a Step Back, Slow Breathing & Widen Field of View\n00:29:19 Tools: Chin Up, Hands Down, Listening; Relationships\n00:31:32 Tool: Deliberate Discomfort & Training Resiliency\n00:32:04 Acknowledgements\n\n#hubermanlab #hubermanlabpodcast #jockowillink \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Become Resilient, Forge Your Identity & Lead Others | Jocko Willink", "e8f46ae5-0781-4ca6-9adb-e32109292fc1", 1987, false, "lxDf8uEypJU", "https://www.youtube.com/watch?v=lxDf8uEypJU", 7, "/downloads/Andrew Huberman/2026-07-30 Essentials: How to Become Resilient, Forge Your Identity & Lead Others | Jocko Willink/Essentials: How to Become Resilient, Forge Your Identity & Lead Others | Jocko Willink [lxDf8uEypJU].mp4", false, false, false, 4, [], 1, ~U[2026-07-30 12:00:03Z], ~U[2026-09-16 17:11:16Z], ~U[2026-09-16 17:11:16Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Jocko Willink, a retired U.S. Navy SEAL officer, author and host of the Jocko Podcast. We discuss why discipline, rather than motivation, is the reliable driver of daily action, and how taking action is the most effective way to move through adversity, loss and setbacks. We also discuss how exercise generates energy, the leader’s role as a counterweight to team morale, and detachment as a trainable skill for widening perspective and making better decisions under stress.\n\nShow notes: https://go.hubermanlab.com/NwgtCRz\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\nTimestamps\n00:00:00 Jocko Willink\n00:00:23 Discipline, Impact & Autonomy in the Military\n00:02:40 Energy, Waking Up, Alarm Clock & Debate\n00:04:12 Tool: Exercise for Energy; Eating, Fasting & Mental Clarity\n00:05:45 Tool: High-Intensity Exercise, Peak Mentality\n00:06:31 Winning & Losing, SEAL Selection, BUD/S, Resilience\n00:08:34 Leadership, Morale & Mob Mentality; Tool: Detach & Correct\n00:10:38 Loss, Grief; Tool: Action as a Cure for Adversity\n00:12:17 Parenting & Success; Tool: Be the Counterweight, Balance\n00:14:54 Sense of Self, Hardcore Music, DIY Attitude & Dissent\n00:17:42 Motivation as an Emotion, Discipline\n00:18:31 Tool: Move Toward Problems; Indirect Approach & Conflict\n00:20:00 Meditation, Detachment & Teaching Young Leaders\n00:21:33 Depression, Storm Clouds & Losing Perspective\n00:23:54 Tool: Detachment, Oil Rig Story, Field of View\n00:28:19 Tools: Take a Step Back, Slow Breathing & Widen Field of View\n00:29:19 Tools: Chin Up, Hands Down, Listening; Relationships\n00:31:32 Tool: Deliberate Discomfort & Training Resiliency\n00:32:04 Acknowledgements\n\n#hubermanlab #hubermanlabpodcast #jockowillink \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Become Resilient, Forge Your Identity & Lead Others | Jocko Willink", 1987, false, "lxDf8uEypJU", "https://www.youtube.com/watch?v=lxDf8uEypJU", "/downloads/Andrew Huberman/2026-07-30 Essentials: How to Become Resilient, Forge Your Identity & Lead Others | Jocko Willink/Essentials: How to Become Resilient, Forge Your Identity & Lead Others | Jocko Willink [lxDf8uEypJU].mp4", false, 4, ~U[2026-07-30 12:00:03Z]] 17:11:16.455 [debug] QUERY OK source="sources" db=0.3ms idle=132.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:16.455 [debug] QUERY OK source="media_profiles" db=0.3ms idle=12.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] 17:11:16.456 [debug] QUERY OK source="media_items" db=0.3ms idle=12.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 [76028] 17:11:16.456 [debug] Current batch of media processed. Will check again in 1000ms 17:11:17.457 [debug] Current batch of media processed. Will check again in 1000ms 17:11:18.458 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Sam Harris, PhD, a neuroscientist, bestselling author, and world-renowned meditation teacher whose work focuses on consciousness, ethics, and religion. We discuss how meditation can help us better understand the nature of the self and transform the conscious experience. Sam also explains how meditation can help overcome universal challenges such as distractibility, mental chatter and emotional reactivity, which can allow for greater focus and fulfillment in the present moment. \n\nShow notes: https://go.hubermanlab.com/sle95XX\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nDr. Sam Harris\nWebsite: https://www.samharris.org\nInstagram: https://www.instagram.com/samharrisorg\nYouTube: https://www.youtube.com/channel/UCNAxrHudMfdzNi6NxruKPLw\nFacebook: https://www.facebook.com/Samharrisorg\n\nTimestamps\n00:00:00 Sam Harris\n00:00:21 Sense of Self, Meditation Purpose; Flow\n00:08:37 Self Awareness, Self-Talk & Mental Chatter\n00:13:26 Mindfulness, Distractibility\n00:18:37 Meditation, Benefits, “Sky-like Mind”; States of Self\n00:24:39 Meditation Practice, Mindfulness & Freedom\n00:27:23 Psychedelics, Consciousness\n00:31:21 Process vs Achieving Goals, Fulfillment in Present\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2221, "filename" => "/downloads/Andrew Huberman/2026-07-23 Essentials: Using Meditation to Focus, View Consciousness & Expand Your Mind | Dr. Sam Harris/Essentials: Using Meditation to Focus, View Consciousness & Expand Your Mind | Dr. Sam Harris [LQI8tl8S2PE].mp4", "id" => "LQI8tl8S2PE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LQI8tl8S2PE", "playlist_index" => 8, "timestamp" => 1784808010, "title" => "Essentials: Using Meditation to Focus, View Consciousness & Expand Your Mind | Dr. Sam Harris", "upload_date" => "20260723"} 17:11:18.459 [debug] QUERY OK source="sources" db=0.3ms idle=710.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:18.459 [debug] QUERY OK source="sources" db=0.2ms idle=711.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:18.460 [debug] QUERY OK source="media_items" db=0.4ms idle=711.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-23 12:00:10Z], 4] 17:11:18.462 [debug] QUERY OK source="media_items" db=1.4ms idle=712.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Sam Harris, PhD, a neuroscientist, bestselling author, and world-renowned meditation teacher whose work focuses on consciousness, ethics, and religion. We discuss how meditation can help us better understand the nature of the self and transform the conscious experience. Sam also explains how meditation can help overcome universal challenges such as distractibility, mental chatter and emotional reactivity, which can allow for greater focus and fulfillment in the present moment. \n\nShow notes: https://go.hubermanlab.com/sle95XX\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nDr. Sam Harris\nWebsite: https://www.samharris.org\nInstagram: https://www.instagram.com/samharrisorg\nYouTube: https://www.youtube.com/channel/UCNAxrHudMfdzNi6NxruKPLw\nFacebook: https://www.facebook.com/Samharrisorg\n\nTimestamps\n00:00:00 Sam Harris\n00:00:21 Sense of Self, Meditation Purpose; Flow\n00:08:37 Self Awareness, Self-Talk & Mental Chatter\n00:13:26 Mindfulness, Distractibility\n00:18:37 Meditation, Benefits, “Sky-like Mind”; States of Self\n00:24:39 Meditation Practice, Mindfulness & Freedom\n00:27:23 Psychedelics, Consciousness\n00:31:21 Process vs Achieving Goals, Fulfillment in Present\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Using Meditation to Focus, View Consciousness & Expand Your Mind | Dr. Sam Harris", "45729754-0c9c-40e9-90c5-9282d625b62d", 2221, false, "LQI8tl8S2PE", "https://www.youtube.com/watch?v=LQI8tl8S2PE", 8, "/downloads/Andrew Huberman/2026-07-23 Essentials: Using Meditation to Focus, View Consciousness & Expand Your Mind | Dr. Sam Harris/Essentials: Using Meditation to Focus, View Consciousness & Expand Your Mind | Dr. Sam Harris [LQI8tl8S2PE].mp4", false, false, false, 4, [], 1, ~U[2026-07-23 12:00:10Z], ~U[2026-09-16 17:11:18Z], ~U[2026-09-16 17:11:18Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Sam Harris, PhD, a neuroscientist, bestselling author, and world-renowned meditation teacher whose work focuses on consciousness, ethics, and religion. We discuss how meditation can help us better understand the nature of the self and transform the conscious experience. Sam also explains how meditation can help overcome universal challenges such as distractibility, mental chatter and emotional reactivity, which can allow for greater focus and fulfillment in the present moment. \n\nShow notes: https://go.hubermanlab.com/sle95XX\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nDr. Sam Harris\nWebsite: https://www.samharris.org\nInstagram: https://www.instagram.com/samharrisorg\nYouTube: https://www.youtube.com/channel/UCNAxrHudMfdzNi6NxruKPLw\nFacebook: https://www.facebook.com/Samharrisorg\n\nTimestamps\n00:00:00 Sam Harris\n00:00:21 Sense of Self, Meditation Purpose; Flow\n00:08:37 Self Awareness, Self-Talk & Mental Chatter\n00:13:26 Mindfulness, Distractibility\n00:18:37 Meditation, Benefits, “Sky-like Mind”; States of Self\n00:24:39 Meditation Practice, Mindfulness & Freedom\n00:27:23 Psychedelics, Consciousness\n00:31:21 Process vs Achieving Goals, Fulfillment in Present\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Using Meditation to Focus, View Consciousness & Expand Your Mind | Dr. Sam Harris", 2221, false, "LQI8tl8S2PE", "https://www.youtube.com/watch?v=LQI8tl8S2PE", "/downloads/Andrew Huberman/2026-07-23 Essentials: Using Meditation to Focus, View Consciousness & Expand Your Mind | Dr. Sam Harris/Essentials: Using Meditation to Focus, View Consciousness & Expand Your Mind | Dr. Sam Harris [LQI8tl8S2PE].mp4", false, 4, ~U[2026-07-23 12:00:10Z]] 17:11:18.462 [debug] QUERY OK source="sources" db=0.1ms idle=137.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:18.463 [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] 17:11:18.463 [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 [70559] 17:11:18.463 [debug] Current batch of media processed. Will check again in 1000ms 17:11:19.465 [debug] Current batch of media processed. Will check again in 1000ms 17:11:20.466 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain the biology, symptoms and types of bipolar disorder (sometimes called bipolar depression), a condition characterized by extreme, maladaptive shifts in energy, mood and perception. I describe the diagnostic criteria that distinguish bipolar I from bipolar II, including mania and hypomania and the different patterns of mood cycling. I discuss the remarkable history and discovery of lithium and how it works, in part by reducing inflammation, providing neuroprotection and supporting the interoceptive neural circuits affected in bipolar disorder. I also cover talk therapies, electroconvulsive therapy and nutraceuticals such as omega-3 fatty acids and inositol, and I explore the intriguing relationship between mood disorders and creativity. This episode should interest anyone who has or knows someone with bipolar disorder, as well as those interested in how the brain balances mood, energy and focus.\n\nShow notes: https://go.hubermanlab.com/wH7DHIu\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\nTimestamps\n00:00:00 Bipolar Disorder\n00:01:09 Bipolar I; Manic Episode Symptoms\n00:05:00 Bipolar II, Hypomania; Depressive Episodes & Cycling\n00:07:30 Lithium Discovery, Dr. John Cade, Uric Acid\n00:11:03 Lithium Urate & Guinea Pigs, Control Experiments\n00:13:20 Lithium Salts Paper, Toxicity & Monitoring\n00:14:30 How Lithium Works: Inflammation & Neuroprotection\n00:15:50 Exteroception vs. Interoception, Neural Circuit Atrophy\n00:17:31 Drug vs. Talk Therapies\n00:18:10 Cognitive Behavioral Therapy, Interpersonal & Social Rhythm Therapy\n00:20:00 Electroconvulsive Therapy (ECT), Treatment-Resistant Depression\n00:21:37 Caution: Rely on Prescribed Treatment, Suicide Risk\n00:22:29 Tool: Lifestyle Support, Sleep, Exercise, Nutrition & Sunlight\n00:23:30 Tool: Inositol & Omega-3 Fatty Acids, Fish Oil Study\n00:25:30 Full Picture of Treatment\n00:26:40 Creativity & Mood Disorders, Eminent Individuals Study\n00:30:00 Recap & Key Takeaways\n\n#hubermanlab #science #health\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1873, "filename" => "/downloads/Andrew Huberman/2026-07-16 The Science & Treatment of Bipolar Disorder | Huberman Lab Essentials/The Science & Treatment of Bipolar Disorder | Huberman Lab Essentials [UTB5gAkjevk].mp4", "id" => "UTB5gAkjevk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=UTB5gAkjevk", "playlist_index" => 9, "timestamp" => 1784203215, "title" => "The Science & Treatment of Bipolar Disorder | Huberman Lab Essentials", "upload_date" => "20260716"} 17:11:20.466 [debug] QUERY OK source="sources" db=0.2ms idle=718.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:20.467 [debug] QUERY OK source="sources" db=0.1ms idle=719.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:20.467 [debug] QUERY OK source="media_items" db=0.4ms idle=719.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-16 12:00:15Z], 4] 17:11:20.471 [debug] QUERY OK source="media_items" db=3.0ms idle=720.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain the biology, symptoms and types of bipolar disorder (sometimes called bipolar depression), a condition characterized by extreme, maladaptive shifts in energy, mood and perception. I describe the diagnostic criteria that distinguish bipolar I from bipolar II, including mania and hypomania and the different patterns of mood cycling. I discuss the remarkable history and discovery of lithium and how it works, in part by reducing inflammation, providing neuroprotection and supporting the interoceptive neural circuits affected in bipolar disorder. I also cover talk therapies, electroconvulsive therapy and nutraceuticals such as omega-3 fatty acids and inositol, and I explore the intriguing relationship between mood disorders and creativity. This episode should interest anyone who has or knows someone with bipolar disorder, as well as those interested in how the brain balances mood, energy and focus.\n\nShow notes: https://go.hubermanlab.com/wH7DHIu\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\nTimestamps\n00:00:00 Bipolar Disorder\n00:01:09 Bipolar I; Manic Episode Symptoms\n00:05:00 Bipolar II, Hypomania; Depressive Episodes & Cycling\n00:07:30 Lithium Discovery, Dr. John Cade, Uric Acid\n00:11:03 Lithium Urate & Guinea Pigs, Control Experiments\n00:13:20 Lithium Salts Paper, Toxicity & Monitoring\n00:14:30 How Lithium Works: Inflammation & Neuroprotection\n00:15:50 Exteroception vs. Interoception, Neural Circuit Atrophy\n00:17:31 Drug vs. Talk Therapies\n00:18:10 Cognitive Behavioral Therapy, Interpersonal & Social Rhythm Therapy\n00:20:00 Electroconvulsive Therapy (ECT), Treatment-Resistant Depression\n00:21:37 Caution: Rely on Prescribed Treatment, Suicide Risk\n00:22:29 Tool: Lifestyle Support, Sleep, Exercise, Nutrition & Sunlight\n00:23:30 Tool: Inositol & Omega-3 Fatty Acids, Fish Oil Study\n00:25:30 Full Picture of Treatment\n00:26:40 Creativity & Mood Disorders, Eminent Individuals Study\n00:30:00 Recap & Key Takeaways\n\n#hubermanlab #science #health\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science & Treatment of Bipolar Disorder | Huberman Lab Essentials", "9921b437-01c0-4e67-b622-5c7440e61795", 1873, false, "UTB5gAkjevk", "https://www.youtube.com/watch?v=UTB5gAkjevk", 9, "/downloads/Andrew Huberman/2026-07-16 The Science & Treatment of Bipolar Disorder | Huberman Lab Essentials/The Science & Treatment of Bipolar Disorder | Huberman Lab Essentials [UTB5gAkjevk].mp4", false, false, false, 4, [], 1, ~U[2026-07-16 12:00:15Z], ~U[2026-09-16 17:11:20Z], ~U[2026-09-16 17:11:20Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain the biology, symptoms and types of bipolar disorder (sometimes called bipolar depression), a condition characterized by extreme, maladaptive shifts in energy, mood and perception. I describe the diagnostic criteria that distinguish bipolar I from bipolar II, including mania and hypomania and the different patterns of mood cycling. I discuss the remarkable history and discovery of lithium and how it works, in part by reducing inflammation, providing neuroprotection and supporting the interoceptive neural circuits affected in bipolar disorder. I also cover talk therapies, electroconvulsive therapy and nutraceuticals such as omega-3 fatty acids and inositol, and I explore the intriguing relationship between mood disorders and creativity. This episode should interest anyone who has or knows someone with bipolar disorder, as well as those interested in how the brain balances mood, energy and focus.\n\nShow notes: https://go.hubermanlab.com/wH7DHIu\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\nTimestamps\n00:00:00 Bipolar Disorder\n00:01:09 Bipolar I; Manic Episode Symptoms\n00:05:00 Bipolar II, Hypomania; Depressive Episodes & Cycling\n00:07:30 Lithium Discovery, Dr. John Cade, Uric Acid\n00:11:03 Lithium Urate & Guinea Pigs, Control Experiments\n00:13:20 Lithium Salts Paper, Toxicity & Monitoring\n00:14:30 How Lithium Works: Inflammation & Neuroprotection\n00:15:50 Exteroception vs. Interoception, Neural Circuit Atrophy\n00:17:31 Drug vs. Talk Therapies\n00:18:10 Cognitive Behavioral Therapy, Interpersonal & Social Rhythm Therapy\n00:20:00 Electroconvulsive Therapy (ECT), Treatment-Resistant Depression\n00:21:37 Caution: Rely on Prescribed Treatment, Suicide Risk\n00:22:29 Tool: Lifestyle Support, Sleep, Exercise, Nutrition & Sunlight\n00:23:30 Tool: Inositol & Omega-3 Fatty Acids, Fish Oil Study\n00:25:30 Full Picture of Treatment\n00:26:40 Creativity & Mood Disorders, Eminent Individuals Study\n00:30:00 Recap & Key Takeaways\n\n#hubermanlab #science #health\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science & Treatment of Bipolar Disorder | Huberman Lab Essentials", 1873, false, "UTB5gAkjevk", "https://www.youtube.com/watch?v=UTB5gAkjevk", "/downloads/Andrew Huberman/2026-07-16 The Science & Treatment of Bipolar Disorder | Huberman Lab Essentials/The Science & Treatment of Bipolar Disorder | Huberman Lab Essentials [UTB5gAkjevk].mp4", false, 4, ~U[2026-07-16 12:00:15Z]] 17:11:20.472 [debug] QUERY OK source="sources" db=0.2ms idle=144.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:20.472 [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] 17:11:20.473 [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 [65215] 17:11:20.473 [debug] Current batch of media processed. Will check again in 1000ms 17:11:21.474 [debug] Current batch of media processed. Will check again in 1000ms 17:11:22.475 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the biology and psychology of obsessive-compulsive disorder (OCD) and describe the neural circuitry behind repetitive \"thought-action loops,\" including why compulsive actions actually strengthen the underlying obsessions rather than relieve them. I discuss the most effective treatments for OCD, including exposure-based cognitive behavioral therapy and SSRIs, and explain what the research shows about how these compare when used alone versus together. Finally, I describe a specific clinical protocol in which patients are guided into states of anxiety while learning to suppress compulsive responses, retraining the brain to break the OCD cycle.\n\nShow notes: https://go.hubermanlab.com/QiyKONh\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Obsessive-Compulsive Disorder (OCD)\n00:00:11 OCD Prevalence & Impact, Obsessions & Compulsions\n00:01:54 Categories: Checking, Repetition & Order; Contamination & Disgust\n00:04:30 Anxiety, Fear; Genetic Component of OCD\n00:07:39 Neural Circuitry, Cortex, Striatum, Thalamus\n00:09:56 Cortico-Striatal-Thalamic Loop; Imaging Studies, SSRIs\n00:11:02 Diagnosis, Yale-Brown Obsessive Compulsive Scale (Y-BOCS)\n00:14:16 Y-BOCS Categories, Identifying the Core Fear\n00:16:30 Tool: Cognitive Behavioral Therapy (CBT) & Exposure Therapy\n00:18:36 Anxiety Tolerance, Interrupting the Compulsion\n00:20:46 Dr. Helen Blair Simpson, Ritual Prevention, Exposure Sessions\n00:22:20 CBT vs Placebo vs SSRIs; Combining Treatments\n00:24:12 SSRIs & Serotonin System; Psychiatry & Causality\n00:25:59 Cannabis, CBD & OCD; Transcranial Magnetic Stimulation (TMS)\n00:27:53 Mindfulness Meditation, Holistic Treatments, NIH\n00:30:00 Nutraceuticals, Inositol; Recap & Conclusion\n\n#hubermanlab #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1898, "filename" => "/downloads/Andrew Huberman/2026-07-09 The Science & Treatment of Obsessive Compulsive Disorder (OCD) | Huberman Lab Essentials/The Science & Treatment of Obsessive Compulsive Disorder (OCD) | Huberman Lab Essentials [AtU3EvMzZDY].mp4", "id" => "AtU3EvMzZDY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AtU3EvMzZDY", "playlist_index" => 10, "timestamp" => 1783598407, "title" => "The Science & Treatment of Obsessive Compulsive Disorder (OCD) | Huberman Lab Essentials", "upload_date" => "20260709"} 17:11:22.476 [debug] QUERY OK source="sources" db=0.4ms idle=727.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:22.476 [debug] QUERY OK source="sources" db=0.2ms idle=728.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:22.477 [debug] QUERY OK source="media_items" db=0.8ms idle=728.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-09 12:00:07Z], 4] 17:11:22.481 [debug] QUERY OK source="media_items" db=2.9ms idle=729.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the biology and psychology of obsessive-compulsive disorder (OCD) and describe the neural circuitry behind repetitive \"thought-action loops,\" including why compulsive actions actually strengthen the underlying obsessions rather than relieve them. I discuss the most effective treatments for OCD, including exposure-based cognitive behavioral therapy and SSRIs, and explain what the research shows about how these compare when used alone versus together. Finally, I describe a specific clinical protocol in which patients are guided into states of anxiety while learning to suppress compulsive responses, retraining the brain to break the OCD cycle.\n\nShow notes: https://go.hubermanlab.com/QiyKONh\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Obsessive-Compulsive Disorder (OCD)\n00:00:11 OCD Prevalence & Impact, Obsessions & Compulsions\n00:01:54 Categories: Checking, Repetition & Order; Contamination & Disgust\n00:04:30 Anxiety, Fear; Genetic Component of OCD\n00:07:39 Neural Circuitry, Cortex, Striatum, Thalamus\n00:09:56 Cortico-Striatal-Thalamic Loop; Imaging Studies, SSRIs\n00:11:02 Diagnosis, Yale-Brown Obsessive Compulsive Scale (Y-BOCS)\n00:14:16 Y-BOCS Categories, Identifying the Core Fear\n00:16:30 Tool: Cognitive Behavioral Therapy (CBT) & Exposure Therapy\n00:18:36 Anxiety Tolerance, Interrupting the Compulsion\n00:20:46 Dr. Helen Blair Simpson, Ritual Prevention, Exposure Sessions\n00:22:20 CBT vs Placebo vs SSRIs; Combining Treatments\n00:24:12 SSRIs & Serotonin System; Psychiatry & Causality\n00:25:59 Cannabis, CBD & OCD; Transcranial Magnetic Stimulation (TMS)\n00:27:53 Mindfulness Meditation, Holistic Treatments, NIH\n00:30:00 Nutraceuticals, Inositol; Recap & Conclusion\n\n#hubermanlab #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science & Treatment of Obsessive Compulsive Disorder (OCD) | Huberman Lab Essentials", "65b41706-d6e7-448f-a78f-9054b1cac572", 1898, false, "AtU3EvMzZDY", "https://www.youtube.com/watch?v=AtU3EvMzZDY", 10, "/downloads/Andrew Huberman/2026-07-09 The Science & Treatment of Obsessive Compulsive Disorder (OCD) | Huberman Lab Essentials/The Science & Treatment of Obsessive Compulsive Disorder (OCD) | Huberman Lab Essentials [AtU3EvMzZDY].mp4", false, false, false, 4, [], 1, ~U[2026-07-09 12:00:07Z], ~U[2026-09-16 17:11:22Z], ~U[2026-09-16 17:11:22Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the biology and psychology of obsessive-compulsive disorder (OCD) and describe the neural circuitry behind repetitive \"thought-action loops,\" including why compulsive actions actually strengthen the underlying obsessions rather than relieve them. I discuss the most effective treatments for OCD, including exposure-based cognitive behavioral therapy and SSRIs, and explain what the research shows about how these compare when used alone versus together. Finally, I describe a specific clinical protocol in which patients are guided into states of anxiety while learning to suppress compulsive responses, retraining the brain to break the OCD cycle.\n\nShow notes: https://go.hubermanlab.com/QiyKONh\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Obsessive-Compulsive Disorder (OCD)\n00:00:11 OCD Prevalence & Impact, Obsessions & Compulsions\n00:01:54 Categories: Checking, Repetition & Order; Contamination & Disgust\n00:04:30 Anxiety, Fear; Genetic Component of OCD\n00:07:39 Neural Circuitry, Cortex, Striatum, Thalamus\n00:09:56 Cortico-Striatal-Thalamic Loop; Imaging Studies, SSRIs\n00:11:02 Diagnosis, Yale-Brown Obsessive Compulsive Scale (Y-BOCS)\n00:14:16 Y-BOCS Categories, Identifying the Core Fear\n00:16:30 Tool: Cognitive Behavioral Therapy (CBT) & Exposure Therapy\n00:18:36 Anxiety Tolerance, Interrupting the Compulsion\n00:20:46 Dr. Helen Blair Simpson, Ritual Prevention, Exposure Sessions\n00:22:20 CBT vs Placebo vs SSRIs; Combining Treatments\n00:24:12 SSRIs & Serotonin System; Psychiatry & Causality\n00:25:59 Cannabis, CBD & OCD; Transcranial Magnetic Stimulation (TMS)\n00:27:53 Mindfulness Meditation, Holistic Treatments, NIH\n00:30:00 Nutraceuticals, Inositol; Recap & Conclusion\n\n#hubermanlab #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science & Treatment of Obsessive Compulsive Disorder (OCD) | Huberman Lab Essentials", 1898, false, "AtU3EvMzZDY", "https://www.youtube.com/watch?v=AtU3EvMzZDY", "/downloads/Andrew Huberman/2026-07-09 The Science & Treatment of Obsessive Compulsive Disorder (OCD) | Huberman Lab Essentials/The Science & Treatment of Obsessive Compulsive Disorder (OCD) | Huberman Lab Essentials [AtU3EvMzZDY].mp4", false, 4, ~U[2026-07-09 12:00:07Z]] 17:11:22.481 [debug] QUERY OK source="sources" db=0.2ms idle=150.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:22.482 [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] 17:11:22.483 [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 [60850] 17:11:22.483 [debug] Current batch of media processed. Will check again in 1000ms 17:11:23.483 [debug] Current batch of media processed. Will check again in 1000ms 17:11:23.552 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:24.485 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Kyle Gillett, MD, a dual board-certified physician in family medicine and obesity medicine, and an expert in hormone optimization. We discuss science-based tools for optimizing male hormones across the lifespan, including the role of bloodwork, nutrition, and exercise in supporting healthy hormone levels. We also discuss testosterone therapy, hair loss, prostate health, and supplements such as creatine, L-carnitine, Tongkat Ali, and Fadogia agrestis.\n\nShow notes: https://go.hubermanlab.com/pBONCAb\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nTimestamps\n00:00:00 Kyle Gillett\n00:00:20 Male Hormone Optimization, Testosterone, Tool: Blood Tests\n00:02:17 Diet & Hormone Health, Diary, Vitamin D, Fiber\n00:05:36 Caloric Restriction & Testosterone\n00:06:44 Lifestyle Pillars: Stress, Life Purpose\n00:07:56 Exercise & Hormone Health\n00:08:59 Testosterone Replacement Therapy (TRT) & Young Adults\n00:10:32 Supplements for Testosterone, Creatine & Hair Loss; Betaine, Doses\n00:14:16 L-Carnitine, Forms, Dose, TMAO, Garlic & Berberine\n00:17:29 Vitamin D, Boron\n00:19:10 Tongkat Ali (Longjack); Fadogia Agrestis\n00:23:56 Testosterone Therapy, Dose; Side Effects\n00:28:32 Clomiphene, SERM & Testosterone\n00:31:06 Alcohol, Aromatase & Testosterone\n00:31:58 Prostate Health & Tadalafil, Nighttime Urination\n00:33:59 Hair Loss, Caffeine, Finasteride, Dutasteride\n00:36:02 Acknowledgements\n\n#hubermanlab #science #health\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2177, "filename" => "/downloads/Andrew Huberman/2026-07-02 Essentials: Tools for Hormone Optimization in Males | Dr. Kyle Gillett/Essentials: Tools for Hormone Optimization in Males | Dr. Kyle Gillett [O-groYMqrQw].mp4", "id" => "O-groYMqrQw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=O-groYMqrQw", "playlist_index" => 11, "timestamp" => 1782993635, "title" => "Essentials: Tools for Hormone Optimization in Males | Dr. Kyle Gillett", "upload_date" => "20260702"} 17:11:24.485 [debug] QUERY OK source="sources" db=0.2ms idle=932.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:24.486 [debug] QUERY OK source="sources" db=0.1ms idle=737.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:24.487 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=738.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-02 12:00:35Z], 4] 17:11:24.489 [debug] QUERY OK source="media_items" db=1.6ms idle=739.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Kyle Gillett, MD, a dual board-certified physician in family medicine and obesity medicine, and an expert in hormone optimization. We discuss science-based tools for optimizing male hormones across the lifespan, including the role of bloodwork, nutrition, and exercise in supporting healthy hormone levels. We also discuss testosterone therapy, hair loss, prostate health, and supplements such as creatine, L-carnitine, Tongkat Ali, and Fadogia agrestis.\n\nShow notes: https://go.hubermanlab.com/pBONCAb\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nTimestamps\n00:00:00 Kyle Gillett\n00:00:20 Male Hormone Optimization, Testosterone, Tool: Blood Tests\n00:02:17 Diet & Hormone Health, Diary, Vitamin D, Fiber\n00:05:36 Caloric Restriction & Testosterone\n00:06:44 Lifestyle Pillars: Stress, Life Purpose\n00:07:56 Exercise & Hormone Health\n00:08:59 Testosterone Replacement Therapy (TRT) & Young Adults\n00:10:32 Supplements for Testosterone, Creatine & Hair Loss; Betaine, Doses\n00:14:16 L-Carnitine, Forms, Dose, TMAO, Garlic & Berberine\n00:17:29 Vitamin D, Boron\n00:19:10 Tongkat Ali (Longjack); Fadogia Agrestis\n00:23:56 Testosterone Therapy, Dose; Side Effects\n00:28:32 Clomiphene, SERM & Testosterone\n00:31:06 Alcohol, Aromatase & Testosterone\n00:31:58 Prostate Health & Tadalafil, Nighttime Urination\n00:33:59 Hair Loss, Caffeine, Finasteride, Dutasteride\n00:36:02 Acknowledgements\n\n#hubermanlab #science #health\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Tools for Hormone Optimization in Males | Dr. Kyle Gillett", "b353bc21-a219-4b8e-a06a-0bdbafc23d42", 2177, false, "O-groYMqrQw", "https://www.youtube.com/watch?v=O-groYMqrQw", 11, "/downloads/Andrew Huberman/2026-07-02 Essentials: Tools for Hormone Optimization in Males | Dr. Kyle Gillett/Essentials: Tools for Hormone Optimization in Males | Dr. Kyle Gillett [O-groYMqrQw].mp4", false, false, false, 4, [], 1, ~U[2026-07-02 12:00:35Z], ~U[2026-09-16 17:11:24Z], ~U[2026-09-16 17:11:24Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Kyle Gillett, MD, a dual board-certified physician in family medicine and obesity medicine, and an expert in hormone optimization. We discuss science-based tools for optimizing male hormones across the lifespan, including the role of bloodwork, nutrition, and exercise in supporting healthy hormone levels. We also discuss testosterone therapy, hair loss, prostate health, and supplements such as creatine, L-carnitine, Tongkat Ali, and Fadogia agrestis.\n\nShow notes: https://go.hubermanlab.com/pBONCAb\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nTimestamps\n00:00:00 Kyle Gillett\n00:00:20 Male Hormone Optimization, Testosterone, Tool: Blood Tests\n00:02:17 Diet & Hormone Health, Diary, Vitamin D, Fiber\n00:05:36 Caloric Restriction & Testosterone\n00:06:44 Lifestyle Pillars: Stress, Life Purpose\n00:07:56 Exercise & Hormone Health\n00:08:59 Testosterone Replacement Therapy (TRT) & Young Adults\n00:10:32 Supplements for Testosterone, Creatine & Hair Loss; Betaine, Doses\n00:14:16 L-Carnitine, Forms, Dose, TMAO, Garlic & Berberine\n00:17:29 Vitamin D, Boron\n00:19:10 Tongkat Ali (Longjack); Fadogia Agrestis\n00:23:56 Testosterone Therapy, Dose; Side Effects\n00:28:32 Clomiphene, SERM & Testosterone\n00:31:06 Alcohol, Aromatase & Testosterone\n00:31:58 Prostate Health & Tadalafil, Nighttime Urination\n00:33:59 Hair Loss, Caffeine, Finasteride, Dutasteride\n00:36:02 Acknowledgements\n\n#hubermanlab #science #health\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Tools for Hormone Optimization in Males | Dr. Kyle Gillett", 2177, false, "O-groYMqrQw", "https://www.youtube.com/watch?v=O-groYMqrQw", "/downloads/Andrew Huberman/2026-07-02 Essentials: Tools for Hormone Optimization in Males | Dr. Kyle Gillett/Essentials: Tools for Hormone Optimization in Males | Dr. Kyle Gillett [O-groYMqrQw].mp4", false, 4, ~U[2026-07-02 12:00:35Z]] 17:11:24.490 [debug] QUERY OK source="sources" db=0.2ms idle=156.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:24.490 [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" = ?) [2] 17:11:24.491 [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 [55175] 17:11:24.491 [debug] Current batch of media processed. Will check again in 1000ms 17:11:25.492 [debug] Current batch of media processed. Will check again in 1000ms 17:11:26.343 [info] {"args":{"id":2},"id":9479,"meta":{},"system_time":1789578686343470053,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 17:11:26.344 [debug] QUERY OK source="sources" db=0.1ms idle=595.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:26.344 [debug] QUERY OK source="settings" db=0.1ms idle=596.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:11:26.350 [debug] QUERY OK source="media_items" db=5.9ms idle=596.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 17:11:26.351 [debug] QUERY OK source="media_items" db=0.8ms idle=14.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 17:11:26.352 [debug] QUERY OK source="media_profiles" db=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] 17:11:26.380 [debug] QUERY OK source="settings" db=0.4ms idle=35.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:11:26.380 [debug] QUERY OK source="settings" db=0.1ms 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 [] 17:11:26.383 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 17:11:26.384 [debug] Current batch of media processed. Will check again in 1000ms 17:11:26.384 [debug] QUERY OK source="settings" db=1.2ms queue=0.6ms idle=32.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:11:26.386 [debug] QUERY OK source="settings" db=1.4ms 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 [] 17:11:26.387 [debug] QUERY OK source="settings" db=0.3ms idle=34.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:11:26.390 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLxtPwTvOWboAKRYB1GOsERomWHEoYM7Mz --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/%(channel)S/%(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[format_note*=original]/bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/29/f1/29f182cbfa4fd05637edd64e97fb25bc43a799095e78e11be95b55ce53c443bf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 17:11:26.493 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Layne Norton, PhD, an expert in nutrition, fat loss, and metabolism. We discuss the science of energy balance and utilization, including practical strategies for building lean muscle and losing fat. We also cover optimal protein and fiber intake, artificial sweeteners, seed oils, and animal vs. plant-based protein sources.\n\nShow notes: https://go.hubermanlab.com/tb6gsLL\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Layne Norton\nWebsite: https://biolayne.com\nInstagram: https://www.instagram.com/biolayne\nFacebook: https://www.facebook.com/LayneNorton\nX: https://x.com/biolayne\n\nTimestamps\n00:00:00 Layne Norton\n00:00:20 Energy Balance, Calories In Calories Out, Food Labels\n00:04:10 Daily Energy Expenditure; Non-Exercise Activity Thermogenesis (NEAT)\n00:07:43 Tool: Average Weight; Choosing a Sustainable Diet\n00:09:24 Tool: Weight Loss, Protein Intake & Building Muscle\n00:12:29 Animal vs Plant Protein, Isolated Protein, Soy, Whey, Leucine, Corn\n00:17:53 Processed Foods & Calorie Overconsumption\n00:19:43 Artificial Sweeteners, Weight Loss\n00:22:31 Seed Oils, Saturated Fat\n00:26:50 Creatine Monohydrate, Dose\n00:30:02 Building Confidence; Acknowledgements\n\n#hubermanlab #science #health #nutrition \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1921, "filename" => "/downloads/Andrew Huberman/2026-06-25 Essentials: The Science of Eating for Health, Fat Loss & Lean Muscle | Dr. Layne Norton/Essentials: The Science of Eating for Health, Fat Loss & Lean Muscle | Dr. Layne Norton [WWe4up63hb4].mp4", "id" => "WWe4up63hb4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WWe4up63hb4", "playlist_index" => 12, "timestamp" => 1782388833, "title" => "Essentials: The Science of Eating for Health, Fat Loss & Lean Muscle | Dr. Layne Norton", "upload_date" => "20260625"} 17:11:26.493 [debug] QUERY OK source="sources" db=0.2ms idle=113.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:26.494 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:26.495 [debug] QUERY OK source="media_items" db=0.7ms idle=109.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-25 12:00:33Z], 4] 17:11:26.498 [debug] QUERY OK source="media_items" db=1.8ms idle=109.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Layne Norton, PhD, an expert in nutrition, fat loss, and metabolism. We discuss the science of energy balance and utilization, including practical strategies for building lean muscle and losing fat. We also cover optimal protein and fiber intake, artificial sweeteners, seed oils, and animal vs. plant-based protein sources.\n\nShow notes: https://go.hubermanlab.com/tb6gsLL\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Layne Norton\nWebsite: https://biolayne.com\nInstagram: https://www.instagram.com/biolayne\nFacebook: https://www.facebook.com/LayneNorton\nX: https://x.com/biolayne\n\nTimestamps\n00:00:00 Layne Norton\n00:00:20 Energy Balance, Calories In Calories Out, Food Labels\n00:04:10 Daily Energy Expenditure; Non-Exercise Activity Thermogenesis (NEAT)\n00:07:43 Tool: Average Weight; Choosing a Sustainable Diet\n00:09:24 Tool: Weight Loss, Protein Intake & Building Muscle\n00:12:29 Animal vs Plant Protein, Isolated Protein, Soy, Whey, Leucine, Corn\n00:17:53 Processed Foods & Calorie Overconsumption\n00:19:43 Artificial Sweeteners, Weight Loss\n00:22:31 Seed Oils, Saturated Fat\n00:26:50 Creatine Monohydrate, Dose\n00:30:02 Building Confidence; Acknowledgements\n\n#hubermanlab #science #health #nutrition \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Science of Eating for Health, Fat Loss & Lean Muscle | Dr. Layne Norton", "f3c35322-0721-4b25-9dea-97d1af92941d", 1921, false, "WWe4up63hb4", "https://www.youtube.com/watch?v=WWe4up63hb4", 12, "/downloads/Andrew Huberman/2026-06-25 Essentials: The Science of Eating for Health, Fat Loss & Lean Muscle | Dr. Layne Norton/Essentials: The Science of Eating for Health, Fat Loss & Lean Muscle | Dr. Layne Norton [WWe4up63hb4].mp4", false, false, false, 4, [], 1, ~U[2026-06-25 12:00:33Z], ~U[2026-09-16 17:11:26Z], ~U[2026-09-16 17:11:26Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Layne Norton, PhD, an expert in nutrition, fat loss, and metabolism. We discuss the science of energy balance and utilization, including practical strategies for building lean muscle and losing fat. We also cover optimal protein and fiber intake, artificial sweeteners, seed oils, and animal vs. plant-based protein sources.\n\nShow notes: https://go.hubermanlab.com/tb6gsLL\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Layne Norton\nWebsite: https://biolayne.com\nInstagram: https://www.instagram.com/biolayne\nFacebook: https://www.facebook.com/LayneNorton\nX: https://x.com/biolayne\n\nTimestamps\n00:00:00 Layne Norton\n00:00:20 Energy Balance, Calories In Calories Out, Food Labels\n00:04:10 Daily Energy Expenditure; Non-Exercise Activity Thermogenesis (NEAT)\n00:07:43 Tool: Average Weight; Choosing a Sustainable Diet\n00:09:24 Tool: Weight Loss, Protein Intake & Building Muscle\n00:12:29 Animal vs Plant Protein, Isolated Protein, Soy, Whey, Leucine, Corn\n00:17:53 Processed Foods & Calorie Overconsumption\n00:19:43 Artificial Sweeteners, Weight Loss\n00:22:31 Seed Oils, Saturated Fat\n00:26:50 Creatine Monohydrate, Dose\n00:30:02 Building Confidence; Acknowledgements\n\n#hubermanlab #science #health #nutrition \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Science of Eating for Health, Fat Loss & Lean Muscle | Dr. Layne Norton", 1921, false, "WWe4up63hb4", "https://www.youtube.com/watch?v=WWe4up63hb4", "/downloads/Andrew Huberman/2026-06-25 Essentials: The Science of Eating for Health, Fat Loss & Lean Muscle | Dr. Layne Norton/Essentials: The Science of Eating for Health, Fat Loss & Lean Muscle | Dr. Layne Norton [WWe4up63hb4].mp4", false, 4, ~U[2026-06-25 12:00:33Z]] 17:11:26.498 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [4] 17:11:26.499 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:11:26.500 [debug] QUERY OK source="media_items" db=0.5ms idle=5.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [54618] 17:11:26.500 [debug] Current batch of media processed. Will check again in 1000ms 17:11:27.386 [debug] Current batch of media processed. Will check again in 1000ms 17:11:27.501 [debug] Current batch of media processed. Will check again in 1000ms 17:11:28.387 [debug] Current batch of media processed. Will check again in 1000ms 17:11:28.502 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the biology of flexibility and discuss the organ systems that shape range of motion and limb flexibility. I also discuss different types of stretching, which methods are most effective, and practical tools for timing stretching relative to exercise. Finally, I provide specific protocols for how intensely and how often to stretch to maximize flexibility, support exercise performance, and offset age-related losses of flexibility.\n\nShow notes: https://go.hubermanlab.com/I9I2vrK\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Flexibility\n00:00:22 Muscle, Nerves & Connective Tissue; Range of Motion\n00:03:16 Golgi Tendon Organs, Load Sensing\n00:04:41 von Economo Neurons, Body Discomfort, Stretch Relaxation\n00:11:11 Types of Stretching: Dynamic, Ballistic, Static & Proprioceptive Neuromuscular Facilitation (PNF)\n00:14:11 Tool: Static Stretching Protocol, Frequency\n00:17:01 Warming Up for Stretching, Exercise; Aging\n00:19:28 Tool: Anderson Method, Feeling the Stretch\n00:20:54 Low Intensity Stretching, Tool: “Micro-Stretching”\n00:24:32 Should You Stretch Before Exercise? \n00:26:11 Insula, Pain Tolerance & Yoga\n00:30:41 Recap of Stretching Protocols\n\n#hubermanlab #health #flexibility #stretching \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1936, "filename" => "/downloads/Andrew Huberman/2026-06-18 Improve Flexibility with Research-Supported Stretching Protocols | Huberman Lab Essentials/Improve Flexibility with Research-Supported Stretching Protocols | Huberman Lab Essentials [syJYZm5OZhE].mp4", "id" => "syJYZm5OZhE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=syJYZm5OZhE", "playlist_index" => 13, "timestamp" => 1781784018, "title" => "Improve Flexibility with Research-Supported Stretching Protocols | Huberman Lab Essentials", "upload_date" => "20260618"} 17:11:28.502 [debug] QUERY OK source="sources" db=0.2ms idle=754.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:28.503 [debug] QUERY OK source="sources" db=0.1ms idle=754.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:28.504 [debug] QUERY OK source="media_items" db=0.5ms idle=755.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-18 12:00:18Z], 4] 17:11:28.506 [debug] QUERY OK source="media_items" db=1.4ms idle=756.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the biology of flexibility and discuss the organ systems that shape range of motion and limb flexibility. I also discuss different types of stretching, which methods are most effective, and practical tools for timing stretching relative to exercise. Finally, I provide specific protocols for how intensely and how often to stretch to maximize flexibility, support exercise performance, and offset age-related losses of flexibility.\n\nShow notes: https://go.hubermanlab.com/I9I2vrK\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Flexibility\n00:00:22 Muscle, Nerves & Connective Tissue; Range of Motion\n00:03:16 Golgi Tendon Organs, Load Sensing\n00:04:41 von Economo Neurons, Body Discomfort, Stretch Relaxation\n00:11:11 Types of Stretching: Dynamic, Ballistic, Static & Proprioceptive Neuromuscular Facilitation (PNF)\n00:14:11 Tool: Static Stretching Protocol, Frequency\n00:17:01 Warming Up for Stretching, Exercise; Aging\n00:19:28 Tool: Anderson Method, Feeling the Stretch\n00:20:54 Low Intensity Stretching, Tool: “Micro-Stretching”\n00:24:32 Should You Stretch Before Exercise? \n00:26:11 Insula, Pain Tolerance & Yoga\n00:30:41 Recap of Stretching Protocols\n\n#hubermanlab #health #flexibility #stretching \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Improve Flexibility with Research-Supported Stretching Protocols | Huberman Lab Essentials", "13b517d1-d33f-4e9a-85de-e5c017959ba1", 1936, false, "syJYZm5OZhE", "https://www.youtube.com/watch?v=syJYZm5OZhE", 13, "/downloads/Andrew Huberman/2026-06-18 Improve Flexibility with Research-Supported Stretching Protocols | Huberman Lab Essentials/Improve Flexibility with Research-Supported Stretching Protocols | Huberman Lab Essentials [syJYZm5OZhE].mp4", false, false, false, 4, [], 1, ~U[2026-06-18 12:00:18Z], ~U[2026-09-16 17:11:28Z], ~U[2026-09-16 17:11:28Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the biology of flexibility and discuss the organ systems that shape range of motion and limb flexibility. I also discuss different types of stretching, which methods are most effective, and practical tools for timing stretching relative to exercise. Finally, I provide specific protocols for how intensely and how often to stretch to maximize flexibility, support exercise performance, and offset age-related losses of flexibility.\n\nShow notes: https://go.hubermanlab.com/I9I2vrK\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Flexibility\n00:00:22 Muscle, Nerves & Connective Tissue; Range of Motion\n00:03:16 Golgi Tendon Organs, Load Sensing\n00:04:41 von Economo Neurons, Body Discomfort, Stretch Relaxation\n00:11:11 Types of Stretching: Dynamic, Ballistic, Static & Proprioceptive Neuromuscular Facilitation (PNF)\n00:14:11 Tool: Static Stretching Protocol, Frequency\n00:17:01 Warming Up for Stretching, Exercise; Aging\n00:19:28 Tool: Anderson Method, Feeling the Stretch\n00:20:54 Low Intensity Stretching, Tool: “Micro-Stretching”\n00:24:32 Should You Stretch Before Exercise? \n00:26:11 Insula, Pain Tolerance & Yoga\n00:30:41 Recap of Stretching Protocols\n\n#hubermanlab #health #flexibility #stretching \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Improve Flexibility with Research-Supported Stretching Protocols | Huberman Lab Essentials", 1936, false, "syJYZm5OZhE", "https://www.youtube.com/watch?v=syJYZm5OZhE", "/downloads/Andrew Huberman/2026-06-18 Improve Flexibility with Research-Supported Stretching Protocols | Huberman Lab Essentials/Improve Flexibility with Research-Supported Stretching Protocols | Huberman Lab Essentials [syJYZm5OZhE].mp4", false, 4, ~U[2026-06-18 12:00:18Z]] 17:11:28.506 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:28.506 [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" = ?) [2] 17:11:28.507 [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 [54619] 17:11:28.507 [debug] Current batch of media processed. Will check again in 1000ms 17:11:29.388 [debug] Current batch of media processed. Will check again in 1000ms 17:11:29.507 [debug] Current batch of media processed. Will check again in 1000ms 17:11:30.389 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The first 1000 people who click this link will get 2 free months of Skillshare Premium: https://skl.sh/betterideas7\n\nI found these interesting:\n1. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3792469/\n2. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5820768\n3. https://www.sparringmind.com/supernormal-stimuli/\n4. https://amzn.to/2OvJho1\n5. https://amzn.to/2ZzLW6x\n\nSubreddit: https://reddit.com/r/betterideas\n\nInstagram: https://instagram.com/joeyschweitzer\nTwitter: https://twitter.com/joeyschweitz\nSecond channel: https://www.youtube.com/channel/UCqRnyszSh6EslfZA-BJfftw\n\nDescription babble (aka, pleading to the algorithm gods):\nThis is a video about overstimulation, dopamine, social media addiction, internet addiction, and a bunch of other things. It's also about self improvement, productivity, and things like that. My name is Joey Schweitzer and this is my channel. I have no clue if any of this helps the algorithm, but I'm doing it anyways for good luck. Better Ideas is also a thing.\n🎥 The Gear I Use: https://kit.co/betterideas", "duration" => 673, "filename" => "/downloads/Better Ideas/2020-07-16 How overstimulation is ruining your life/How overstimulation is ruining your life [yYWvUoN4yt8].mp4", "id" => "yYWvUoN4yt8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yYWvUoN4yt8", "playlist_index" => 1, "timestamp" => 1594862091, "title" => "How overstimulation is ruining your life", "upload_date" => "20200716"} 17:11:30.389 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=641.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:30.390 [debug] QUERY OK source="sources" db=0.4ms idle=642.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:30.394 [debug] QUERY OK source="media_items" db=3.1ms queue=0.1ms idle=642.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-07-16 01:14:51Z], 2] 17:11:30.396 [debug] QUERY OK source="media_items" db=1.4ms idle=646.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The first 1000 people who click this link will get 2 free months of Skillshare Premium: https://skl.sh/betterideas7\n\nI found these interesting:\n1. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3792469/\n2. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5820768\n3. https://www.sparringmind.com/supernormal-stimuli/\n4. https://amzn.to/2OvJho1\n5. https://amzn.to/2ZzLW6x\n\nSubreddit: https://reddit.com/r/betterideas\n\nInstagram: https://instagram.com/joeyschweitzer\nTwitter: https://twitter.com/joeyschweitz\nSecond channel: https://www.youtube.com/channel/UCqRnyszSh6EslfZA-BJfftw\n\nDescription babble (aka, pleading to the algorithm gods):\nThis is a video about overstimulation, dopamine, social media addiction, internet addiction, and a bunch of other things. It's also about self improvement, productivity, and things like that. My name is Joey Schweitzer and this is my channel. I have no clue if any of this helps the algorithm, but I'm doing it anyways for good luck. Better Ideas is also a thing.\n🎥 The Gear I Use: https://kit.co/betterideas", "How overstimulation is ruining your life", "888332e2-d895-46f1-a233-69d614d052ea", 673, false, "yYWvUoN4yt8", "https://www.youtube.com/watch?v=yYWvUoN4yt8", 1, "/downloads/Better Ideas/2020-07-16 How overstimulation is ruining your life/How overstimulation is ruining your life [yYWvUoN4yt8].mp4", false, false, false, 2, [], 1, ~U[2020-07-16 01:14:51Z], ~U[2026-09-16 17:11:30Z], ~U[2026-09-16 17:11:30Z], "The first 1000 people who click this link will get 2 free months of Skillshare Premium: https://skl.sh/betterideas7\n\nI found these interesting:\n1. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3792469/\n2. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5820768\n3. https://www.sparringmind.com/supernormal-stimuli/\n4. https://amzn.to/2OvJho1\n5. https://amzn.to/2ZzLW6x\n\nSubreddit: https://reddit.com/r/betterideas\n\nInstagram: https://instagram.com/joeyschweitzer\nTwitter: https://twitter.com/joeyschweitz\nSecond channel: https://www.youtube.com/channel/UCqRnyszSh6EslfZA-BJfftw\n\nDescription babble (aka, pleading to the algorithm gods):\nThis is a video about overstimulation, dopamine, social media addiction, internet addiction, and a bunch of other things. It's also about self improvement, productivity, and things like that. My name is Joey Schweitzer and this is my channel. I have no clue if any of this helps the algorithm, but I'm doing it anyways for good luck. Better Ideas is also a thing.\n🎥 The Gear I Use: https://kit.co/betterideas", "How overstimulation is ruining your life", 673, false, "yYWvUoN4yt8", "https://www.youtube.com/watch?v=yYWvUoN4yt8", "/downloads/Better Ideas/2020-07-16 How overstimulation is ruining your life/How overstimulation is ruining your life [yYWvUoN4yt8].mp4", false, 2, ~U[2020-07-16 01:14:51Z]] 17:11:30.396 [debug] QUERY OK source="sources" db=0.3ms idle=54.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:30.397 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 17:11:30.397 [debug] QUERY OK source="media_items" db=0.2ms idle=6.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20] 17:11:30.398 [debug] Current batch of media processed. Will check again in 1000ms 17:11:30.509 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I discuss science-supported tools to improve sleep by supporting a healthy circadian rhythm using key behaviors and environmental cues. I explain specific morning, afternoon and evening behaviors that will increase daytime alertness and support deeper, more consistent sleep at night. I also cover sleep supplements, the effects of caffeine, alcohol and THC on sleep, as well as practical strategies for managing jet lag and shift work.\n\nShow notes: https://go.hubermanlab.com/N7lcgfs\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Sleep Toolkit\n00:00:21 Optimal Cortisol Rhythms, Tool: View Morning Sunlight\n00:03:44 Morning Sunlight Guide, Artificial Light, Cloudy Days\n00:08:04 Morning & Body Temperature, Tools: Deliberate Cold Exposure, Exercise\n00:10:20 Morning: Caffeine Timing\n00:12:04 Morning: Meal Timing & Alertness\n00:14:19 Circadian Clock; 3 Daily Critical Periods\n00:15:52 Afternoon: Caffeine, Naps, Exercise\n00:18:16 Tool: Late Afternoon/Evening Sunlight\n00:20:24 Evening Tools: Artificial Lights; Hot Tub/Sauna, Bedroom Temperature\n00:24:03 Alcohol, THC & Effects on Sleep\n00:25:02 Sleep Supplements: Magnesium Threonate, Apigenin & Theanine\n00:28:24 Caution for Melatonin Supplementation\n00:29:04 Weekends, Tool: Consistent Sleep Schedule\n00:29:51 Jet Lag, Tool: Temperature Minimum\n00:33:32 Shift Work, Tool: Red Light\n00:34:21 Recap\n\n#hubermanlab #science #health #sleep\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2099, "filename" => "/downloads/Andrew Huberman/2026-06-11 Essentials: Sleep Toolkit for Optimizing Sleep & Sleep-Wake Timing/Essentials: Sleep Toolkit for Optimizing Sleep & Sleep-Wake Timing [RTgJSQtvo88].mp4", "id" => "RTgJSQtvo88", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RTgJSQtvo88", "playlist_index" => 14, "timestamp" => 1781179233, "title" => "Essentials: Sleep Toolkit for Optimizing Sleep & Sleep-Wake Timing", "upload_date" => "20260611"} 17:11:30.510 [debug] QUERY OK source="sources" db=0.4ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:30.510 [debug] QUERY OK source="sources" db=0.2ms idle=114.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:30.511 [debug] QUERY OK source="media_items" db=0.5ms idle=113.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-11 12:00:33Z], 4] 17:11:30.514 [debug] QUERY OK source="media_items" db=2.6ms idle=114.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I discuss science-supported tools to improve sleep by supporting a healthy circadian rhythm using key behaviors and environmental cues. I explain specific morning, afternoon and evening behaviors that will increase daytime alertness and support deeper, more consistent sleep at night. I also cover sleep supplements, the effects of caffeine, alcohol and THC on sleep, as well as practical strategies for managing jet lag and shift work.\n\nShow notes: https://go.hubermanlab.com/N7lcgfs\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Sleep Toolkit\n00:00:21 Optimal Cortisol Rhythms, Tool: View Morning Sunlight\n00:03:44 Morning Sunlight Guide, Artificial Light, Cloudy Days\n00:08:04 Morning & Body Temperature, Tools: Deliberate Cold Exposure, Exercise\n00:10:20 Morning: Caffeine Timing\n00:12:04 Morning: Meal Timing & Alertness\n00:14:19 Circadian Clock; 3 Daily Critical Periods\n00:15:52 Afternoon: Caffeine, Naps, Exercise\n00:18:16 Tool: Late Afternoon/Evening Sunlight\n00:20:24 Evening Tools: Artificial Lights; Hot Tub/Sauna, Bedroom Temperature\n00:24:03 Alcohol, THC & Effects on Sleep\n00:25:02 Sleep Supplements: Magnesium Threonate, Apigenin & Theanine\n00:28:24 Caution for Melatonin Supplementation\n00:29:04 Weekends, Tool: Consistent Sleep Schedule\n00:29:51 Jet Lag, Tool: Temperature Minimum\n00:33:32 Shift Work, Tool: Red Light\n00:34:21 Recap\n\n#hubermanlab #science #health #sleep\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Sleep Toolkit for Optimizing Sleep & Sleep-Wake Timing", "79e92a4e-2ea4-4f6f-b320-a4189971f174", 2099, false, "RTgJSQtvo88", "https://www.youtube.com/watch?v=RTgJSQtvo88", 14, "/downloads/Andrew Huberman/2026-06-11 Essentials: Sleep Toolkit for Optimizing Sleep & Sleep-Wake Timing/Essentials: Sleep Toolkit for Optimizing Sleep & Sleep-Wake Timing [RTgJSQtvo88].mp4", false, false, false, 4, [], 1, ~U[2026-06-11 12:00:33Z], ~U[2026-09-16 17:11:30Z], ~U[2026-09-16 17:11:30Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I discuss science-supported tools to improve sleep by supporting a healthy circadian rhythm using key behaviors and environmental cues. I explain specific morning, afternoon and evening behaviors that will increase daytime alertness and support deeper, more consistent sleep at night. I also cover sleep supplements, the effects of caffeine, alcohol and THC on sleep, as well as practical strategies for managing jet lag and shift work.\n\nShow notes: https://go.hubermanlab.com/N7lcgfs\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Sleep Toolkit\n00:00:21 Optimal Cortisol Rhythms, Tool: View Morning Sunlight\n00:03:44 Morning Sunlight Guide, Artificial Light, Cloudy Days\n00:08:04 Morning & Body Temperature, Tools: Deliberate Cold Exposure, Exercise\n00:10:20 Morning: Caffeine Timing\n00:12:04 Morning: Meal Timing & Alertness\n00:14:19 Circadian Clock; 3 Daily Critical Periods\n00:15:52 Afternoon: Caffeine, Naps, Exercise\n00:18:16 Tool: Late Afternoon/Evening Sunlight\n00:20:24 Evening Tools: Artificial Lights; Hot Tub/Sauna, Bedroom Temperature\n00:24:03 Alcohol, THC & Effects on Sleep\n00:25:02 Sleep Supplements: Magnesium Threonate, Apigenin & Theanine\n00:28:24 Caution for Melatonin Supplementation\n00:29:04 Weekends, Tool: Consistent Sleep Schedule\n00:29:51 Jet Lag, Tool: Temperature Minimum\n00:33:32 Shift Work, Tool: Red Light\n00:34:21 Recap\n\n#hubermanlab #science #health #sleep\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Sleep Toolkit for Optimizing Sleep & Sleep-Wake Timing", 2099, false, "RTgJSQtvo88", "https://www.youtube.com/watch?v=RTgJSQtvo88", "/downloads/Andrew Huberman/2026-06-11 Essentials: Sleep Toolkit for Optimizing Sleep & Sleep-Wake Timing/Essentials: Sleep Toolkit for Optimizing Sleep & Sleep-Wake Timing [RTgJSQtvo88].mp4", false, 4, ~U[2026-06-11 12:00:33Z]] 17:11:30.515 [debug] QUERY OK source="sources" db=0.2ms idle=117.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:30.516 [debug] QUERY OK source="media_profiles" db=0.5ms idle=5.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:11:30.517 [debug] QUERY OK source="media_items" db=0.5ms queue=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 [42998] 17:11:30.517 [debug] Current batch of media processed. Will check again in 1000ms 17:11:31.398 [debug] Current batch of media processed. Will check again in 1000ms 17:11:31.518 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n _In loving memory of Nolan Williams (1982-2025):_ \u2060\u2060https://stan.md/3Qle2zp\u2060\u2060\n\nIn this Huberman Lab Essentials episode, my guest is Dr. Nolan Williams, MD, a triple board-certified psychiatrist and neurologist. We discuss cutting-edge treatments for depression and post-traumatic stress disorder (PTSD), including transcranial magnetic stimulation, neuromodulation, and psychedelic-assisted therapies. We also discuss the neurobiology and therapeutic potential of specific psychedelic compounds, including psilocybin, MDMA, ibogaine, and ayahuasca.\n\nShow notes: https://go.hubermanlab.com/KWwu7p6\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Nolan Williams\n00:00:26 Depression\n00:02:51 Heart & Mind Connection, Transcranial Magnetic Stimulation (TMS)\n00:05:21 TMS for Depression\n00:07:52 SSRIs & Chemical imbalance, TMS, Psychedelics\n00:13:51 Psilocybin, MDMA, Trauma\n00:16:48 MDMA Clinical Trials & PTSD; Psilocybin & Depression\n00:18:46 Psilocybin, Brain Connectivity & Depression\n00:21:07 Ibogaine, Empathy; Psychedelic Breakthrough & Risk\n00:27:44 Ayahuasca, Behavior Change, Prisoners\n00:31:54 Stanford Accelerated Intelligent Neuromodulation Therapy (SAINT)\n00:35:56 Acknowledgements\n\n#hubermanlab #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2204, "filename" => "/downloads/Andrew Huberman/2026-06-04 Essentials: Psychedelics & Neurostimulation for Brain Rewiring | Dr. Nolan Williams/Essentials: Psychedelics & Neurostimulation for Brain Rewiring | Dr. Nolan Williams [GkG1hMhIQ_Q].mp4", "id" => "GkG1hMhIQ_Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GkG1hMhIQ_Q", "playlist_index" => 15, "timestamp" => 1780574417, "title" => "Essentials: Psychedelics & Neurostimulation for Brain Rewiring | Dr. Nolan Williams", "upload_date" => "20260604"} 17:11:31.519 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1004.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:31.520 [debug] QUERY OK source="sources" db=0.8ms idle=1003.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:31.521 [debug] QUERY OK source="media_items" db=1.1ms idle=1004.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-04 12:00:17Z], 4] 17:11:31.525 [debug] QUERY OK source="media_items" db=2.8ms idle=1005.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n _In loving memory of Nolan Williams (1982-2025):_ \u2060\u2060https://stan.md/3Qle2zp\u2060\u2060\n\nIn this Huberman Lab Essentials episode, my guest is Dr. Nolan Williams, MD, a triple board-certified psychiatrist and neurologist. We discuss cutting-edge treatments for depression and post-traumatic stress disorder (PTSD), including transcranial magnetic stimulation, neuromodulation, and psychedelic-assisted therapies. We also discuss the neurobiology and therapeutic potential of specific psychedelic compounds, including psilocybin, MDMA, ibogaine, and ayahuasca.\n\nShow notes: https://go.hubermanlab.com/KWwu7p6\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Nolan Williams\n00:00:26 Depression\n00:02:51 Heart & Mind Connection, Transcranial Magnetic Stimulation (TMS)\n00:05:21 TMS for Depression\n00:07:52 SSRIs & Chemical imbalance, TMS, Psychedelics\n00:13:51 Psilocybin, MDMA, Trauma\n00:16:48 MDMA Clinical Trials & PTSD; Psilocybin & Depression\n00:18:46 Psilocybin, Brain Connectivity & Depression\n00:21:07 Ibogaine, Empathy; Psychedelic Breakthrough & Risk\n00:27:44 Ayahuasca, Behavior Change, Prisoners\n00:31:54 Stanford Accelerated Intelligent Neuromodulation Therapy (SAINT)\n00:35:56 Acknowledgements\n\n#hubermanlab #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Psychedelics & Neurostimulation for Brain Rewiring | Dr. Nolan Williams", "02e0e933-be61-4ff0-9a3a-e818ad409d1b", 2204, false, "GkG1hMhIQ_Q", "https://www.youtube.com/watch?v=GkG1hMhIQ_Q", 15, "/downloads/Andrew Huberman/2026-06-04 Essentials: Psychedelics & Neurostimulation for Brain Rewiring | Dr. Nolan Williams/Essentials: Psychedelics & Neurostimulation for Brain Rewiring | Dr. Nolan Williams [GkG1hMhIQ_Q].mp4", false, false, false, 4, [], 1, ~U[2026-06-04 12:00:17Z], ~U[2026-09-16 17:11:31Z], ~U[2026-09-16 17:11:31Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n _In loving memory of Nolan Williams (1982-2025):_ \u2060\u2060https://stan.md/3Qle2zp\u2060\u2060\n\nIn this Huberman Lab Essentials episode, my guest is Dr. Nolan Williams, MD, a triple board-certified psychiatrist and neurologist. We discuss cutting-edge treatments for depression and post-traumatic stress disorder (PTSD), including transcranial magnetic stimulation, neuromodulation, and psychedelic-assisted therapies. We also discuss the neurobiology and therapeutic potential of specific psychedelic compounds, including psilocybin, MDMA, ibogaine, and ayahuasca.\n\nShow notes: https://go.hubermanlab.com/KWwu7p6\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Nolan Williams\n00:00:26 Depression\n00:02:51 Heart & Mind Connection, Transcranial Magnetic Stimulation (TMS)\n00:05:21 TMS for Depression\n00:07:52 SSRIs & Chemical imbalance, TMS, Psychedelics\n00:13:51 Psilocybin, MDMA, Trauma\n00:16:48 MDMA Clinical Trials & PTSD; Psilocybin & Depression\n00:18:46 Psilocybin, Brain Connectivity & Depression\n00:21:07 Ibogaine, Empathy; Psychedelic Breakthrough & Risk\n00:27:44 Ayahuasca, Behavior Change, Prisoners\n00:31:54 Stanford Accelerated Intelligent Neuromodulation Therapy (SAINT)\n00:35:56 Acknowledgements\n\n#hubermanlab #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Psychedelics & Neurostimulation for Brain Rewiring | Dr. Nolan Williams", 2204, false, "GkG1hMhIQ_Q", "https://www.youtube.com/watch?v=GkG1hMhIQ_Q", "/downloads/Andrew Huberman/2026-06-04 Essentials: Psychedelics & Neurostimulation for Brain Rewiring | Dr. Nolan Williams/Essentials: Psychedelics & Neurostimulation for Brain Rewiring | Dr. Nolan Williams [GkG1hMhIQ_Q].mp4", false, 4, ~U[2026-06-04 12:00:17Z]] 17:11:31.526 [debug] QUERY OK source="sources" db=0.8ms idle=183.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:31.527 [debug] QUERY OK source="media_profiles" db=0.5ms idle=7.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:11:31.528 [debug] QUERY OK source="media_items" db=0.4ms 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 [37012] 17:11:31.528 [debug] Current batch of media processed. Will check again in 1000ms 17:11:32.400 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "What if your \"laziness\" is actually your brain on overload? If you've been feeling tired, foggy, stuck or guilty for \"doing nothing\", this is for you.\n\nBONUS CONTENT 🎁\nHere's the PDF summary of this week's video: \nhttps://email.artofimprovement.co.uk/you-are-not-lazy-it-is-overstimulation\n\n📚 Need all the accompanying PDF, illustration & MP3s to all my videos? ➜ https://artofimprovement.co.uk/pro-library/\n\nWATCH THESE NEXT 🍿\n1️⃣ https://www.youtube.com/watch?v=czFxQpXB1AI\n\n2️⃣ https://www.youtube.com/watch?v=aehoGGCHkyw\n\n3️⃣ https://www.youtube.com/watch?v=uxv-PoWoWss&list=PLee1Of0B1qdho9luUJ4cZi3QQ_FywQHf_&pp=gAQBsAgC\n\n📧 Free Newsletter: https://email.artofimprovement.co.uk/\n\nABOUT ME\nHey 👋 Welcome to AOI! I'm your guide on this journey of self-discovery and growth. My mission is to share thought-provoking ideas, practical life skills, and inspirational stories to assist you in building a life filled with fulfillment, productivity, and creativity.\n\n🕒 TIMESTAMPS\n0:00 Start here\n0:45 What is Overstimulation?\n2:12 Signs You’re Overstimulated\n3:32 How Overstimulation Mimics Laziness\n4:47 How to Reduce Overstimulation\n6:08 Going Further - Replacing Chaos with Healthy Inputs\n7:32 Reclaiming Motivation & Productivity\n\n📈 SUBSCRIBE FOR MORE\nhttps://www.youtube.com/@TheArtofImprovement", "duration" => 551, "filename" => "/downloads/The Art of Improvement/2026-03-15 You're Not Lazy - It's Overstimulation/You're Not Lazy - It's Overstimulation [whwiBRHk5GQ].mp4", "id" => "whwiBRHk5GQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=whwiBRHk5GQ", "playlist_index" => 2, "timestamp" => 1773599950, "title" => "You're Not Lazy - It's Overstimulation", "upload_date" => "20260315"} 17:11:32.401 [debug] QUERY OK source="sources" db=0.4ms idle=875.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:32.401 [debug] QUERY OK source="sources" db=0.4ms idle=874.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:32.402 [debug] QUERY OK source="media_items" db=0.4ms idle=874.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-15 18:39:10Z], 2] 17:11:32.406 [debug] QUERY OK source="media_items" db=2.8ms idle=874.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["What if your \"laziness\" is actually your brain on overload? If you've been feeling tired, foggy, stuck or guilty for \"doing nothing\", this is for you.\n\nBONUS CONTENT 🎁\nHere's the PDF summary of this week's video: \nhttps://email.artofimprovement.co.uk/you-are-not-lazy-it-is-overstimulation\n\n📚 Need all the accompanying PDF, illustration & MP3s to all my videos? ➜ https://artofimprovement.co.uk/pro-library/\n\nWATCH THESE NEXT 🍿\n1️⃣ https://www.youtube.com/watch?v=czFxQpXB1AI\n\n2️⃣ https://www.youtube.com/watch?v=aehoGGCHkyw\n\n3️⃣ https://www.youtube.com/watch?v=uxv-PoWoWss&list=PLee1Of0B1qdho9luUJ4cZi3QQ_FywQHf_&pp=gAQBsAgC\n\n📧 Free Newsletter: https://email.artofimprovement.co.uk/\n\nABOUT ME\nHey 👋 Welcome to AOI! I'm your guide on this journey of self-discovery and growth. My mission is to share thought-provoking ideas, practical life skills, and inspirational stories to assist you in building a life filled with fulfillment, productivity, and creativity.\n\n🕒 TIMESTAMPS\n0:00 Start here\n0:45 What is Overstimulation?\n2:12 Signs You’re Overstimulated\n3:32 How Overstimulation Mimics Laziness\n4:47 How to Reduce Overstimulation\n6:08 Going Further - Replacing Chaos with Healthy Inputs\n7:32 Reclaiming Motivation & Productivity\n\n📈 SUBSCRIBE FOR MORE\nhttps://www.youtube.com/@TheArtofImprovement", "You're Not Lazy - It's Overstimulation", "44d91156-4425-4c3a-b082-08299f244eb7", 551, false, "whwiBRHk5GQ", "https://www.youtube.com/watch?v=whwiBRHk5GQ", 2, "/downloads/The Art of Improvement/2026-03-15 You're Not Lazy - It's Overstimulation/You're Not Lazy - It's Overstimulation [whwiBRHk5GQ].mp4", false, false, false, 2, [], 1, ~U[2026-03-15 18:39:10Z], ~U[2026-09-16 17:11:32Z], ~U[2026-09-16 17:11:32Z], "What if your \"laziness\" is actually your brain on overload? If you've been feeling tired, foggy, stuck or guilty for \"doing nothing\", this is for you.\n\nBONUS CONTENT 🎁\nHere's the PDF summary of this week's video: \nhttps://email.artofimprovement.co.uk/you-are-not-lazy-it-is-overstimulation\n\n📚 Need all the accompanying PDF, illustration & MP3s to all my videos? ➜ https://artofimprovement.co.uk/pro-library/\n\nWATCH THESE NEXT 🍿\n1️⃣ https://www.youtube.com/watch?v=czFxQpXB1AI\n\n2️⃣ https://www.youtube.com/watch?v=aehoGGCHkyw\n\n3️⃣ https://www.youtube.com/watch?v=uxv-PoWoWss&list=PLee1Of0B1qdho9luUJ4cZi3QQ_FywQHf_&pp=gAQBsAgC\n\n📧 Free Newsletter: https://email.artofimprovement.co.uk/\n\nABOUT ME\nHey 👋 Welcome to AOI! I'm your guide on this journey of self-discovery and growth. My mission is to share thought-provoking ideas, practical life skills, and inspirational stories to assist you in building a life filled with fulfillment, productivity, and creativity.\n\n🕒 TIMESTAMPS\n0:00 Start here\n0:45 What is Overstimulation?\n2:12 Signs You’re Overstimulated\n3:32 How Overstimulation Mimics Laziness\n4:47 How to Reduce Overstimulation\n6:08 Going Further - Replacing Chaos with Healthy Inputs\n7:32 Reclaiming Motivation & Productivity\n\n📈 SUBSCRIBE FOR MORE\nhttps://www.youtube.com/@TheArtofImprovement", "You're Not Lazy - It's Overstimulation", 551, false, "whwiBRHk5GQ", "https://www.youtube.com/watch?v=whwiBRHk5GQ", "/downloads/The Art of Improvement/2026-03-15 You're Not Lazy - It's Overstimulation/You're Not Lazy - It's Overstimulation [whwiBRHk5GQ].mp4", false, 2, ~U[2026-03-15 18:39:10Z]] 17:11:32.406 [debug] QUERY OK source="sources" db=0.3ms idle=61.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:32.407 [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] 17:11:32.408 [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 [24] 17:11:32.409 [debug] Current batch of media processed. Will check again in 1000ms 17:11:32.530 [debug] Current batch of media processed. Will check again in 1000ms 17:11:33.410 [debug] Current batch of media processed. Will check again in 1000ms 17:11:33.531 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the neuroscience of grief, including how the brain maps relationships across three dimensions — space, time, and closeness — and why losing someone requires a remapping of those neural circuits. I describe how grief differs from depression, the role of oxytocin in driving yearning after a loss, and why people move through grief at different rates. I also discuss science-based tools for grieving adaptively, including how to access feelings of attachment while decoupling them from episodic memory. Finally, I explain how foundational biology — particularly sleep and cortisol rhythms — shapes our capacity to navigate the grieving process.\n\nShow notes: https://go.hubermanlab.com/RtAnILi\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Grief\n00:01:47 Myths of Grief, Kubler-Ross & fMRI\n00:03:56 Brain Mapping Experiment, Proximity\n00:07:05 Inferior Parietal Lobule; Space, Time & Closeness\n00:09:20 Episodic Memory & Remapping After Loss\n00:13:41 Tool: Dedicated Time, Counterfactual Thinking & Guilt\n00:15:30 Oxytocin & Individual Differences in Grief\n00:16:30 Prairie Voles, Monogamy & Nucleus Accumbens\n00:21:58 Vagal Tone, Emotional Disclosure & Bereavement Writing Study\n00:26:51 Cortisol Rhythms, Complicated Grief & Sunlight\n00:30:57 Rational Grieving, Neuroplasticity & NSDR\n\n#hubermanlab #science #health #grief \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2111, "filename" => "/downloads/Andrew Huberman/2026-05-28 The Science & Process of Healing from Grief | Huberman Lab Essentials/The Science & Process of Healing from Grief | Huberman Lab Essentials [PlQyGIIAGNo].mp4", "id" => "PlQyGIIAGNo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=PlQyGIIAGNo", "playlist_index" => 16, "timestamp" => 1779969626, "title" => "The Science & Process of Healing from Grief | Huberman Lab Essentials", "upload_date" => "20260528"} 17:11:33.531 [debug] QUERY OK source="sources" db=0.3ms idle=1125.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:33.532 [debug] QUERY OK source="sources" db=0.2ms idle=1125.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:33.533 [debug] QUERY OK source="media_items" db=0.6ms idle=1124.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-28 12:00:26Z], 4] 17:11:33.536 [debug] QUERY OK source="media_items" db=2.2ms idle=1124.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the neuroscience of grief, including how the brain maps relationships across three dimensions — space, time, and closeness — and why losing someone requires a remapping of those neural circuits. I describe how grief differs from depression, the role of oxytocin in driving yearning after a loss, and why people move through grief at different rates. I also discuss science-based tools for grieving adaptively, including how to access feelings of attachment while decoupling them from episodic memory. Finally, I explain how foundational biology — particularly sleep and cortisol rhythms — shapes our capacity to navigate the grieving process.\n\nShow notes: https://go.hubermanlab.com/RtAnILi\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Grief\n00:01:47 Myths of Grief, Kubler-Ross & fMRI\n00:03:56 Brain Mapping Experiment, Proximity\n00:07:05 Inferior Parietal Lobule; Space, Time & Closeness\n00:09:20 Episodic Memory & Remapping After Loss\n00:13:41 Tool: Dedicated Time, Counterfactual Thinking & Guilt\n00:15:30 Oxytocin & Individual Differences in Grief\n00:16:30 Prairie Voles, Monogamy & Nucleus Accumbens\n00:21:58 Vagal Tone, Emotional Disclosure & Bereavement Writing Study\n00:26:51 Cortisol Rhythms, Complicated Grief & Sunlight\n00:30:57 Rational Grieving, Neuroplasticity & NSDR\n\n#hubermanlab #science #health #grief \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science & Process of Healing from Grief | Huberman Lab Essentials", "e4f2e008-52a7-4442-8e5b-7a6acf465faf", 2111, false, "PlQyGIIAGNo", "https://www.youtube.com/watch?v=PlQyGIIAGNo", 16, "/downloads/Andrew Huberman/2026-05-28 The Science & Process of Healing from Grief | Huberman Lab Essentials/The Science & Process of Healing from Grief | Huberman Lab Essentials [PlQyGIIAGNo].mp4", false, false, false, 4, [], 1, ~U[2026-05-28 12:00:26Z], ~U[2026-09-16 17:11:33Z], ~U[2026-09-16 17:11:33Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the neuroscience of grief, including how the brain maps relationships across three dimensions — space, time, and closeness — and why losing someone requires a remapping of those neural circuits. I describe how grief differs from depression, the role of oxytocin in driving yearning after a loss, and why people move through grief at different rates. I also discuss science-based tools for grieving adaptively, including how to access feelings of attachment while decoupling them from episodic memory. Finally, I explain how foundational biology — particularly sleep and cortisol rhythms — shapes our capacity to navigate the grieving process.\n\nShow notes: https://go.hubermanlab.com/RtAnILi\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Grief\n00:01:47 Myths of Grief, Kubler-Ross & fMRI\n00:03:56 Brain Mapping Experiment, Proximity\n00:07:05 Inferior Parietal Lobule; Space, Time & Closeness\n00:09:20 Episodic Memory & Remapping After Loss\n00:13:41 Tool: Dedicated Time, Counterfactual Thinking & Guilt\n00:15:30 Oxytocin & Individual Differences in Grief\n00:16:30 Prairie Voles, Monogamy & Nucleus Accumbens\n00:21:58 Vagal Tone, Emotional Disclosure & Bereavement Writing Study\n00:26:51 Cortisol Rhythms, Complicated Grief & Sunlight\n00:30:57 Rational Grieving, Neuroplasticity & NSDR\n\n#hubermanlab #science #health #grief \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science & Process of Healing from Grief | Huberman Lab Essentials", 2111, false, "PlQyGIIAGNo", "https://www.youtube.com/watch?v=PlQyGIIAGNo", "/downloads/Andrew Huberman/2026-05-28 The Science & Process of Healing from Grief | Huberman Lab Essentials/The Science & Process of Healing from Grief | Huberman Lab Essentials [PlQyGIIAGNo].mp4", false, 4, ~U[2026-05-28 12:00:26Z]] 17:11:33.537 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=190.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:33.538 [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] 17:11:33.539 [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 [31534] 17:11:33.539 [debug] Current batch of media processed. Will check again in 1000ms 17:11:34.411 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Big thanks to Brilliant for sponsoring this video. To try everything Brilliant has to offer, visit https://brilliant.org/davidbombal to start your 30 day free trial or scan the QR code onscreen – You’ll also get 20% off an annual premium subscription\n\nStephen Sims joins David Bombal to discuss Operational Security (OpSec) through the lens of the \"Darknet Marketplace Bible\" (DNM Bible). While this document is originally designed to help criminals evade law enforcement while buying illegal goods, Stephen argues it is an excellent resource for cybersecurity professionals, journalists, and privacy advocates to learn high-level anonymity and encryption techniques. \n\nDisclaimer: Both David and Stephen repeatedly emphasize that this content is for educational, privacy, and cybersecurity research purposes only. They do not advocate illegal activity. \n\n// Stephen's Social // \nTwitter: https://twitter.com/Steph3nSims \nYouTube: https://www.youtube.com/@OffByOneSecurity\n\n// David's SOCIAL // \nDiscord: https://discord.com/invite/usKSyzb \nX: https://www.twitter.com/davidbombal \nInstagram: https://www.instagram.com/davidbombal \nLinkedIn: https://www.linkedin.com/in/davidbombal \nFacebook: https://www.facebook.com/davidbombal.co \nTikTok: http://tiktok.com/@davidbombal \nYouTube: https://www.youtube.com/@davidbombal\nSpotify: https://open.spotify.com/show/3f6k6gERfuriI96efWWLQQ\nSoundCloud: https://soundcloud.com/davidbombal\nApple Podcast: https://podcasts.apple.com/us/podcast/david-bombal/id1466865532\n\n// MY STUFF //\n https://www.amazon.com/shop/davidbombal \n\n// SPONSORS // \nInterested in sponsoring my videos? Reach out to my team here: sponsors@davidbombal.com\n\n// MENU //\n0:00 - Coming up\n01:08 - Brilliant sponsored segment\n03:04 - Disclaimer\n03:07 - The Dark Web\n07:44 - What is the Dark Web?\n09:14 - The Dark Net Marketplace Bible\n11:42 - DOs and DON'Ts\n22:49 - Dark Net Directory\n26:09 - Dread walkthrough\n31:04 - Recommended Operating systems\n42:07 - VPNs, Tor & PGP\n53:23 - PGP // Creating key pairs\n01:03:53 - How to access Dark Net Marketplaces // Black Ops marketplace\n01:12 :39 - Recommended cryptocurrency for the Dark Web\n01:18:43 - Shipping\n01:21:12 - Communication methods\n01:27:28 - JavaScript warnings\n01:28:13 - Never trust external links\n01:29:29 - DNM Bible summary\n01:31:01 - Conclusion\n\nPlease note that links listed may be affiliate links and provide me with a small percentage/kickback should you use them to purchase any of the items listed or recommended. Thank you for supporting me and this channel! \n\nDisclaimer: This video is for educational purposes only.\n#darkweb #opsec #tor", "duration" => 5499, "filename" => "/downloads/David Bombal/2026-01-23 Darknet Bible: The Ultimate OpSec Guide/Darknet Bible: The Ultimate OpSec Guide [cYVOe7k1N7w].mp4", "id" => "cYVOe7k1N7w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cYVOe7k1N7w", "playlist_index" => 3, "timestamp" => 1769178627, "title" => "Darknet Bible: The Ultimate OpSec Guide", "upload_date" => "20260123"} 17:11:34.412 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=875.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:34.412 [debug] QUERY OK source="sources" db=0.4ms idle=874.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:34.414 [debug] QUERY OK source="media_items" db=1.2ms idle=874.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-23 14:30:27Z], 2] 17:11:34.419 [debug] QUERY OK source="media_items" db=4.2ms idle=875.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Big thanks to Brilliant for sponsoring this video. To try everything Brilliant has to offer, visit https://brilliant.org/davidbombal to start your 30 day free trial or scan the QR code onscreen – You’ll also get 20% off an annual premium subscription\n\nStephen Sims joins David Bombal to discuss Operational Security (OpSec) through the lens of the \"Darknet Marketplace Bible\" (DNM Bible). While this document is originally designed to help criminals evade law enforcement while buying illegal goods, Stephen argues it is an excellent resource for cybersecurity professionals, journalists, and privacy advocates to learn high-level anonymity and encryption techniques. \n\nDisclaimer: Both David and Stephen repeatedly emphasize that this content is for educational, privacy, and cybersecurity research purposes only. They do not advocate illegal activity. \n\n// Stephen's Social // \nTwitter: https://twitter.com/Steph3nSims \nYouTube: https://www.youtube.com/@OffByOneSecurity\n\n// David's SOCIAL // \nDiscord: https://discord.com/invite/usKSyzb \nX: https://www.twitter.com/davidbombal \nInstagram: https://www.instagram.com/davidbombal \nLinkedIn: https://www.linkedin.com/in/davidbombal \nFacebook: https://www.facebook.com/davidbombal.co \nTikTok: http://tiktok.com/@davidbombal \nYouTube: https://www.youtube.com/@davidbombal\nSpotify: https://open.spotify.com/show/3f6k6gERfuriI96efWWLQQ\nSoundCloud: https://soundcloud.com/davidbombal\nApple Podcast: https://podcasts.apple.com/us/podcast/david-bombal/id1466865532\n\n// MY STUFF //\n https://www.amazon.com/shop/davidbombal \n\n// SPONSORS // \nInterested in sponsoring my videos? Reach out to my team here: sponsors@davidbombal.com\n\n// MENU //\n0:00 - Coming up\n01:08 - Brilliant sponsored segment\n03:04 - Disclaimer\n03:07 - The Dark Web\n07:44 - What is the Dark Web?\n09:14 - The Dark Net Marketplace Bible\n11:42 - DOs and DON'Ts\n22:49 - Dark Net Directory\n26:09 - Dread walkthrough\n31:04 - Recommended Operating systems\n42:07 - VPNs, Tor & PGP\n53:23 - PGP // Creating key pairs\n01:03:53 - How to access Dark Net Marketplaces // Black Ops marketplace\n01:12 :39 - Recommended cryptocurrency for the Dark Web\n01:18:43 - Shipping\n01:21:12 - Communication methods\n01:27:28 - JavaScript warnings\n01:28:13 - Never trust external links\n01:29:29 - DNM Bible summary\n01:31:01 - Conclusion\n\nPlease note that links listed may be affiliate links and provide me with a small percentage/kickback should you use them to purchase any of the items listed or recommended. Thank you for supporting me and this channel! \n\nDisclaimer: This video is for educational purposes only.\n#darkweb #opsec #tor", "Darknet Bible: The Ultimate OpSec Guide", "0c0117c0-0477-4693-9b05-5c32db4376d0", 5499, false, "cYVOe7k1N7w", "https://www.youtube.com/watch?v=cYVOe7k1N7w", 3, "/downloads/David Bombal/2026-01-23 Darknet Bible: The Ultimate OpSec Guide/Darknet Bible: The Ultimate OpSec Guide [cYVOe7k1N7w].mp4", false, false, false, 2, [], 1, ~U[2026-01-23 14:30:27Z], ~U[2026-09-16 17:11:34Z], ~U[2026-09-16 17:11:34Z], "Big thanks to Brilliant for sponsoring this video. To try everything Brilliant has to offer, visit https://brilliant.org/davidbombal to start your 30 day free trial or scan the QR code onscreen – You’ll also get 20% off an annual premium subscription\n\nStephen Sims joins David Bombal to discuss Operational Security (OpSec) through the lens of the \"Darknet Marketplace Bible\" (DNM Bible). While this document is originally designed to help criminals evade law enforcement while buying illegal goods, Stephen argues it is an excellent resource for cybersecurity professionals, journalists, and privacy advocates to learn high-level anonymity and encryption techniques. \n\nDisclaimer: Both David and Stephen repeatedly emphasize that this content is for educational, privacy, and cybersecurity research purposes only. They do not advocate illegal activity. \n\n// Stephen's Social // \nTwitter: https://twitter.com/Steph3nSims \nYouTube: https://www.youtube.com/@OffByOneSecurity\n\n// David's SOCIAL // \nDiscord: https://discord.com/invite/usKSyzb \nX: https://www.twitter.com/davidbombal \nInstagram: https://www.instagram.com/davidbombal \nLinkedIn: https://www.linkedin.com/in/davidbombal \nFacebook: https://www.facebook.com/davidbombal.co \nTikTok: http://tiktok.com/@davidbombal \nYouTube: https://www.youtube.com/@davidbombal\nSpotify: https://open.spotify.com/show/3f6k6gERfuriI96efWWLQQ\nSoundCloud: https://soundcloud.com/davidbombal\nApple Podcast: https://podcasts.apple.com/us/podcast/david-bombal/id1466865532\n\n// MY STUFF //\n https://www.amazon.com/shop/davidbombal \n\n// SPONSORS // \nInterested in sponsoring my videos? Reach out to my team here: sponsors@davidbombal.com\n\n// MENU //\n0:00 - Coming up\n01:08 - Brilliant sponsored segment\n03:04 - Disclaimer\n03:07 - The Dark Web\n07:44 - What is the Dark Web?\n09:14 - The Dark Net Marketplace Bible\n11:42 - DOs and DON'Ts\n22:49 - Dark Net Directory\n26:09 - Dread walkthrough\n31:04 - Recommended Operating systems\n42:07 - VPNs, Tor & PGP\n53:23 - PGP // Creating key pairs\n01:03:53 - How to access Dark Net Marketplaces // Black Ops marketplace\n01:12 :39 - Recommended cryptocurrency for the Dark Web\n01:18:43 - Shipping\n01:21:12 - Communication methods\n01:27:28 - JavaScript warnings\n01:28:13 - Never trust external links\n01:29:29 - DNM Bible summary\n01:31:01 - Conclusion\n\nPlease note that links listed may be affiliate links and provide me with a small percentage/kickback should you use them to purchase any of the items listed or recommended. Thank you for supporting me and this channel! \n\nDisclaimer: This video is for educational purposes only.\n#darkweb #opsec #tor", "Darknet Bible: The Ultimate OpSec Guide", 5499, false, "cYVOe7k1N7w", "https://www.youtube.com/watch?v=cYVOe7k1N7w", "/downloads/David Bombal/2026-01-23 Darknet Bible: The Ultimate OpSec Guide/Darknet Bible: The Ultimate OpSec Guide [cYVOe7k1N7w].mp4", false, 2, ~U[2026-01-23 14:30:27Z]] 17:11:34.420 [debug] QUERY OK source="sources" db=0.7ms idle=72.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:34.421 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=8.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:11:34.422 [debug] QUERY OK source="media_items" db=0.3ms idle=9.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [26] 17:11:34.422 [debug] Current batch of media processed. Will check again in 1000ms 17:11:34.540 [debug] Current batch of media processed. Will check again in 1000ms 17:11:35.423 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The most direct, brutal, and life-changing 20 minutes you’ll hear from Jordan Peterson.\n\nIf you’ve been feeling stuck, tired of overthinking, tired of wasting time, and tired of staying in the same place while your life slowly slips away... this is for you.\n\nHit play, turn up the volume, and ask yourself one honest question:\n\"Am I becoming stronger... or just staying comfortable?\"\n\nThis video is a carefully curated Jordan Peterson experience designed to wake you up, rebuild your mindset, and force you to confront the truth you’ve been avoiding. No motivation tricks. No fake hype. Just responsibility, meaning, and real strength built through pain.\n\nThis video features powerful insights from Jordan Peterson’s talks and interviews, centered on:\nThe only way out is through\nWhy weakness destroys your future\nBecoming dangerous but disciplined\nHow wasted time becomes wasted life\nWhy meaning is a moral obligation\nHow bitterness turns into revenge\nTurning suffering into strength\n\nWho is Jordan Peterson?\n\nJordan Peterson is a Canadian clinical psychologist, former university professor, and bestselling author known worldwide for his teachings on personal responsibility, discipline, meaning, and psychological strength. Over the past decade, he has become one of the most influential voices in modern self-improvement, helping millions of people break out of weakness, confusion, and self-destruction through truth, structure, and personal accountability.\n\nHe is best known for his books 12 Rules for Life and Beyond Order, where he explains why life is painful, why suffering is unavoidable, and why the only real way forward is to become stronger, more capable, and more disciplined. His message is simple but difficult: stop lying to yourself, stop wasting your time, take responsibility for your life, and build a life that can withstand tragedy.\n\nJordan Peterson’s work speaks directly to people who feel lost, unmotivated, anxious, or stuck in comfort and procrastination. He teaches that meaning is not something you find by chasing pleasure - it’s something you earn through responsibility, sacrifice, and daily self-improvement. His philosophy has helped people rebuild their mindset, repair their habits, and develop the strength to face life head-on instead of running from it.\n\nFollow Jordan Peterson:\nYouTube: https://www.youtube.com/@JordanBPeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nBooks: 12 Rules for Life: An Antidote to Chaos, Beyond Order: 12 More Rules for Life, and Maps of Meaning: The Architecture of Belief.\n\nSpecial Thanks (Credits):\nChris Williamson - https://www.youtube.com/@ChrisWillx\nJoe Rogan - https://www.youtube.com/@joerogan\nJocko Willink - https://www.youtube.com/@JockoPodcastOfficial\nJohn Stossel - https://www.youtube.com/@StosselTV\nBite-sized Philosophy - https://www.youtube.com/@BitesizedPhilosophy\nMargaret Hoover - https://www.youtube.com/@FiringLine/videos\n\nWhat you’ll get in this video:\nWhy being harmless isn’t the same as being good\nHow to build real strength and self-control\nWhy wasting time is destroying your future\nHow to stop staying in a miserable situation\nWhy meaning matters more than happiness\nHow responsibility protects you from bitterness\nHow to transform pain into purpose\n\nWhy watch till the end:\nThis video is designed to push you into action, not just make you feel inspired for 10 minutes. Save it. Rewatch it when you feel lost, weak, or tempted to quit.\n\nThis is what real mental strength sounds like.\n\nDisclaimer & Transformative Use Notice:\nThis video was edited, structured, and produced by Champions Mentality 365 for motivational, educational, and inspirational purposes. All footage, interviews, and speeches have been significantly transformed through original editing, cinematic color grading, narrative restructuring, text commentary, and unique storytelling to create a new, original work. I do not claim ownership of the original clips or audio used. Full credit and respect go to the original speakers, creators, and production teams. This video is created under the principles of Fa" <> ..., "duration" => 1201, "filename" => "/downloads/Champions Mentality 365/2026-01-18 The Most Eye Opening 20 Minutes Of Your Life | Jordan Peterson Motivation/The Most Eye Opening 20 Minutes Of Your Life | Jordan Peterson Motivation [agjhcL9nFQ0].mp4", "id" => "agjhcL9nFQ0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=agjhcL9nFQ0", "playlist_index" => 4, "timestamp" => 1768759202, "title" => "The Most Eye Opening 20 Minutes Of Your Life | Jordan Peterson Motivation", "upload_date" => "20260118"} 17:11:35.424 [debug] QUERY OK source="sources" db=0.4ms idle=1004.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:35.425 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=1004.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:35.426 [debug] QUERY OK source="media_items" db=0.7ms idle=1004.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-18 18:00:02Z], 2] 17:11:35.431 [debug] QUERY OK source="media_items" db=3.0ms idle=1005.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The most direct, brutal, and life-changing 20 minutes you’ll hear from Jordan Peterson.\n\nIf you’ve been feeling stuck, tired of overthinking, tired of wasting time, and tired of staying in the same place while your life slowly slips away... this is for you.\n\nHit play, turn up the volume, and ask yourself one honest question:\n\"Am I becoming stronger... or just staying comfortable?\"\n\nThis video is a carefully curated Jordan Peterson experience designed to wake you up, rebuild your mindset, and force you to confront the truth you’ve been avoiding. No motivation tricks. No fake hype. Just responsibility, meaning, and real strength built through pain.\n\nThis video features powerful insights from Jordan Peterson’s talks and interviews, centered on:\nThe only way out is through\nWhy weakness destroys your future\nBecoming dangerous but disciplined\nHow wasted time becomes wasted life\nWhy meaning is a moral obligation\nHow bitterness turns into revenge\nTurning suffering into strength\n\nWho is Jordan Peterson?\n\nJordan Peterson is a Canadian clinical psychologist, former university professor, and bestselling author known worldwide for his teachings on personal responsibility, discipline, meaning, and psychological strength. Over the past decade, he has become one of the most influential voices in modern self-improvement, helping millions of people break out of weakness, confusion, and self-destruction through truth, structure, and personal accountability.\n\nHe is best known for his books 12 Rules for Life and Beyond Order, where he explains why life is painful, why suffering is unavoidable, and why the only real way forward is to become stronger, more capable, and more disciplined. His message is simple but difficult: stop lying to yourself, stop wasting your time, take responsibility for your life, and build a life that can withstand tragedy.\n\nJordan Peterson’s work speaks directly to people who feel lost, unmotivated, anxious, or stuck in comfort and procrastination. He teaches that meaning is not something you find by chasing pleasure - it’s something you earn through responsibility, sacrifice, and daily self-improvement. His philosophy has helped people rebuild their mindset, repair their habits, and develop the strength to face life head-on instead of running from it.\n\nFollow Jordan Peterson:\nYouTube: https://www.youtube.com/@JordanBPeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nBooks: 12 Rules for Life: An Antidote to Chaos, Beyond Order: 12 More Rules for Life, and Maps of Meaning: The Architecture of Belief.\n\nSpecial Thanks (Credits):\nChris Williamson - https://www.youtube.com/@ChrisWillx\nJoe Rogan - https://www.youtube.com/@joerogan\nJocko Willink - https://www.youtube.com/@JockoPodcastOfficial\nJohn Stossel - https://www.youtube.com/@StosselTV\nBite-sized Philosophy - https://www.youtube.com/@BitesizedPhilosophy\nMargaret Hoover - https://www.youtube.com/@FiringLine/videos\n\nWhat you’ll get in this video:\nWhy being harmless isn’t the same as being good\nHow to build real strength and self-control\nWhy wasting time is destroying your future\nHow to stop staying in a miserable situation\nWhy meaning matters more than happiness\nHow responsibility protects you from bitterness\nHow to transform pain into purpose\n\nWhy watch till the end:\nThis video is designed to push you into action, not just make you feel inspired for 10 minutes. Save it. Rewatch it when you feel lost, weak, or tempted to quit.\n\nThis is what real mental strength sounds like.\n\nDisclaimer & Transformative Use Notice:\nThis video was edited, structured, and produced by Champions Mentality 365 for motivational, educational, and inspirational purposes. All footage, interviews, and speeches have been significantly transformed through original editing, cinematic color grading, narrative restructuring, text commentary, and unique storytelling to create a new, original work. I do not claim ownership of the original clips or audio used. Full credit and respect go to the original speakers, creators, and production teams. This video is created under the principles of Fa" <> ..., "The Most Eye Opening 20 Minutes Of Your Life | Jordan Peterson Motivation", "7edd8b37-961f-4990-a206-9209c6605bb5", 1201, false, "agjhcL9nFQ0", "https://www.youtube.com/watch?v=agjhcL9nFQ0", 4, "/downloads/Champions Mentality 365/2026-01-18 The Most Eye Opening 20 Minutes Of Your Life | Jordan Peterson Motivation/The Most Eye Opening 20 Minutes Of Your Life | Jordan Peterson Motivation [agjhcL9nFQ0].mp4", false, false, false, 2, [], 1, ~U[2026-01-18 18:00:02Z], ~U[2026-09-16 17:11:35Z], ~U[2026-09-16 17:11:35Z], "The most direct, brutal, and life-changing 20 minutes you’ll hear from Jordan Peterson.\n\nIf you’ve been feeling stuck, tired of overthinking, tired of wasting time, and tired of staying in the same place while your life slowly slips away... this is for you.\n\nHit play, turn up the volume, and ask yourself one honest question:\n\"Am I becoming stronger... or just staying comfortable?\"\n\nThis video is a carefully curated Jordan Peterson experience designed to wake you up, rebuild your mindset, and force you to confront the truth you’ve been avoiding. No motivation tricks. No fake hype. Just responsibility, meaning, and real strength built through pain.\n\nThis video features powerful insights from Jordan Peterson’s talks and interviews, centered on:\nThe only way out is through\nWhy weakness destroys your future\nBecoming dangerous but disciplined\nHow wasted time becomes wasted life\nWhy meaning is a moral obligation\nHow bitterness turns into revenge\nTurning suffering into strength\n\nWho is Jordan Peterson?\n\nJordan Peterson is a Canadian clinical psychologist, former university professor, and bestselling author known worldwide for his teachings on personal responsibility, discipline, meaning, and psychological strength. Over the past decade, he has become one of the most influential voices in modern self-improvement, helping millions of people break out of weakness, confusion, and self-destruction through truth, structure, and personal accountability.\n\nHe is best known for his books 12 Rules for Life and Beyond Order, where he explains why life is painful, why suffering is unavoidable, and why the only real way forward is to become stronger, more capable, and more disciplined. His message is simple but difficult: stop lying to yourself, stop wasting your time, take responsibility for your life, and build a life that can withstand tragedy.\n\nJordan Peterson’s work speaks directly to people who feel lost, unmotivated, anxious, or stuck in comfort and procrastination. He teaches that meaning is not something you find by chasing pleasure - it’s something you earn through responsibility, sacrifice, and daily self-improvement. His philosophy has helped people rebuild their mindset, repair their habits, and develop the strength to face life head-on instead of running from it.\n\nFollow Jordan Peterson:\nYouTube: https://www.youtube.com/@JordanBPeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nBooks: 12 Rules for Life: An Antidote to Chaos, Beyond Order: 12 More Rules for Life, and Maps of Meaning: The Architecture of Belief.\n\nSpecial Thanks (Credits):\nChris Williamson - https://www.youtube.com/@C (truncated) 17:11:35.432 [debug] QUERY OK source="sources" db=0.6ms idle=82.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:35.433 [debug] QUERY OK source="media_profiles" db=0.8ms idle=8.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:11:35.434 [debug] QUERY OK source="media_items" db=0.5ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [27] 17:11:35.434 [debug] Current batch of media processed. Will check again in 1000ms 17:11:35.541 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Eddie Chang, MD, a neurosurgeon and Chair of the Department of Neurological Surgery at the University of California, San Francisco (UCSF). We discuss the neural circuits underlying speech and language, including how the brain controls the larynx, vocal folds and articulators to shape breath into words. We also explore his pioneering work on speech neural prosthetics — brain-machine interfaces that allow paralyzed patients to communicate by decoding neural activity into speech and avatar-driven facial expressions. Additionally, we examine the neurobiology of stuttering, the role of auditory feedback in fluent speech, and the broader ethical questions surrounding brain augmentation technologies.\n\nShow notes: https://go.hubermanlab.com/b0qQsyP\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Eddie Chang\nLab: https://changlab.ucsf.edu\nUCSF academic profile: https://profiles.ucsf.edu/edward.chang\nUCSF clinical profile: https://www.ucsfhealth.org/providers/dr-edward-chang\nLinkedIn: https://www.linkedin.com/in/edward-chang-384746132\n\nTimestamps\n00:00:00 Speech & Language\n00:00:23 Speech vs Language, Pragmatics, Semantics & Syntax\n00:03:11 Larynx, Vocal Folds & Shaping the Breath\n00:05:35 Crying & Laughter, Vocalizations vs Speech\n00:06:37 Paralysis, Brainstem Stroke, ALS & Locked-In Syndrome\n00:09:14 BRAVO Trial, Pancho & First Patient\n00:11:07 Brain Surgery, Electrode Array & Decoding Speech\n00:12:53 AI, 50-Word Vocabulary & Autocorrect\n00:14:27 Neuralink, Brain-Machine Interfaces & Augmentation Ethics\n00:19:23 Avatars, Facial Expressions & Non-Verbal Communication\n00:22:50 Stuttering, Anxiety & Speech vs Language\n00:26:02 Tool: Stuttering Therapy & Auditory Feedback\n00:27:34 Recap & Acknowledgments\n\n#hubermanlab #health #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1713, "filename" => "/downloads/Andrew Huberman/2026-05-21 Essentials: The Science of Learning & Speaking Languages | Dr. Eddie Chang/Essentials: The Science of Learning & Speaking Languages | Dr. Eddie Chang [MOPqSEK6GvA].mp4", "id" => "MOPqSEK6GvA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MOPqSEK6GvA", "playlist_index" => 17, "timestamp" => 1779364825, "title" => "Essentials: The Science of Learning & Speaking Languages | Dr. Eddie Chang", "upload_date" => "20260521"} 17:11:35.542 [debug] QUERY OK source="sources" db=0.4ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:35.543 [debug] QUERY OK source="sources" db=0.2ms idle=112.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:35.544 [debug] QUERY OK source="media_items" db=0.6ms idle=111.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-21 12:00:25Z], 4] 17:11:35.547 [debug] QUERY OK source="media_items" db=2.4ms idle=111.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Eddie Chang, MD, a neurosurgeon and Chair of the Department of Neurological Surgery at the University of California, San Francisco (UCSF). We discuss the neural circuits underlying speech and language, including how the brain controls the larynx, vocal folds and articulators to shape breath into words. We also explore his pioneering work on speech neural prosthetics — brain-machine interfaces that allow paralyzed patients to communicate by decoding neural activity into speech and avatar-driven facial expressions. Additionally, we examine the neurobiology of stuttering, the role of auditory feedback in fluent speech, and the broader ethical questions surrounding brain augmentation technologies.\n\nShow notes: https://go.hubermanlab.com/b0qQsyP\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Eddie Chang\nLab: https://changlab.ucsf.edu\nUCSF academic profile: https://profiles.ucsf.edu/edward.chang\nUCSF clinical profile: https://www.ucsfhealth.org/providers/dr-edward-chang\nLinkedIn: https://www.linkedin.com/in/edward-chang-384746132\n\nTimestamps\n00:00:00 Speech & Language\n00:00:23 Speech vs Language, Pragmatics, Semantics & Syntax\n00:03:11 Larynx, Vocal Folds & Shaping the Breath\n00:05:35 Crying & Laughter, Vocalizations vs Speech\n00:06:37 Paralysis, Brainstem Stroke, ALS & Locked-In Syndrome\n00:09:14 BRAVO Trial, Pancho & First Patient\n00:11:07 Brain Surgery, Electrode Array & Decoding Speech\n00:12:53 AI, 50-Word Vocabulary & Autocorrect\n00:14:27 Neuralink, Brain-Machine Interfaces & Augmentation Ethics\n00:19:23 Avatars, Facial Expressions & Non-Verbal Communication\n00:22:50 Stuttering, Anxiety & Speech vs Language\n00:26:02 Tool: Stuttering Therapy & Auditory Feedback\n00:27:34 Recap & Acknowledgments\n\n#hubermanlab #health #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Science of Learning & Speaking Languages | Dr. Eddie Chang", "46e57f0d-479d-4c6a-bc2e-a7660effa80b", 1713, false, "MOPqSEK6GvA", "https://www.youtube.com/watch?v=MOPqSEK6GvA", 17, "/downloads/Andrew Huberman/2026-05-21 Essentials: The Science of Learning & Speaking Languages | Dr. Eddie Chang/Essentials: The Science of Learning & Speaking Languages | Dr. Eddie Chang [MOPqSEK6GvA].mp4", false, false, false, 4, [], 1, ~U[2026-05-21 12:00:25Z], ~U[2026-09-16 17:11:35Z], ~U[2026-09-16 17:11:35Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Eddie Chang, MD, a neurosurgeon and Chair of the Department of Neurological Surgery at the University of California, San Francisco (UCSF). We discuss the neural circuits underlying speech and language, including how the brain controls the larynx, vocal folds and articulators to shape breath into words. We also explore his pioneering work on speech neural prosthetics — brain-machine interfaces that allow paralyzed patients to communicate by decoding neural activity into speech and avatar-driven facial expressions. Additionally, we examine the neurobiology of stuttering, the role of auditory feedback in fluent speech, and the broader ethical questions surrounding brain augmentation technologies.\n\nShow notes: https://go.hubermanlab.com/b0qQsyP\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Eddie Chang\nLab: https://changlab.ucsf.edu\nUCSF academic profile: https://profiles.ucsf.edu/edward.chang\nUCSF clinical profile: https://www.ucsfhealth.org/providers/dr-edward-chang\nLinkedIn: https://www.linkedin.com/in/edward-chang-384746132\n\nTimestamps\n00:00:00 Speech & Language\n00:00:23 Speech vs Language, Pragmatics, Semantics & Syntax\n00:03:11 Larynx, Vocal Folds & Shaping the Breath\n00:05:35 Crying & Laughter, Vocalizations vs Speech\n00:06:37 Paralysis, Brainstem Stroke, ALS & Locked-In Syndrome\n00:09:14 BRAVO Trial, Pancho & First Patient\n00:11:07 Brain Surgery, Electrode Array & Decoding Speech\n00:12:53 AI, 50-Word Vocabulary & Autocorrect\n00:14:27 Neuralink, Brain-Machine Interfaces & Augmentation Ethics\n00:19:23 Avatars, Facial Expressions & Non-Verbal Communication\n00:22:50 Stuttering, Anxiety & Speech vs Language\n00:26:02 Tool: Stuttering Therapy & Auditory Feedback\n00:27:34 Recap & Acknowledgments\n\n#hubermanlab #health #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Science of Learning & Speaking Languages | Dr. Eddie Chang", 1713, false, "MOPqSEK6GvA", "https://www.youtube.com/watch?v=MOPqSEK6GvA", "/downloads/Andrew Huberman/2026-05-21 Essentials: The Science of Learning & Speaking Languages | Dr. Eddie Chang/Essentials: The Science of Learning & Speaking Languages | Dr. Eddie Chang [MOPqSEK6GvA].mp4", false, 4, ~U[2026-05-21 12:00:25Z]] 17:11:35.548 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [4] 17:11:35.549 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 17:11:35.550 [debug] QUERY OK source="media_items" db=0.5ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [26496] 17:11:35.550 [debug] Current batch of media processed. Will check again in 1000ms 17:11:36.436 [debug] Current batch of media processed. Will check again in 1000ms 17:11:36.551 [debug] Current batch of media processed. Will check again in 1000ms 17:11:37.437 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Join The Musashi Challenge 👉 https://bit.ly/4g6rjEo\nIf you want daily discipline, clarity, and focus (FREE) → https://bit.ly/dailydoseofwisdom\n\nBecome So Disciplined People Call You Crazy (Miyamoto Musashi) \n📚Buy Recommended Books: https://amzn.to/3OPsprs\n\nWant To Find Productivity Tools? Go Here: https://statueofwisdom.net/\n\n✋Discord: - https://discord.gg/4dGbNzb3m9\n\n✋More Similar Videos: \nhttps://www.youtube.com/watch?v=avoZEonUv6k\nhttps://www.youtube.com/watch?v=_FveAj4orEA\nhttps://www.youtube.com/watch?v=2yH29u8ao1k\n\n#selfimprovement #wisdom #quote #philosophy #musashi #samurai\n\n\nAbout Section:\n\nPart 1 (Earth Ring): 00:00\nPart 2 (Water Ring): 02:50\nPart 3 (Fire Ring): 05:35 \nPart 4 (Wind Ring): 08:33\nPart 5 (Void Ring): 11:01\n\n\n⚠️FAIR USE DISCLAIMER\n\nAll multimedia content in this video is used for the purpose of review & commentary under terms of fair use. All footage, music & images used belong to their respective companies or creators.\n\nUnder Section 107 of the Copyright Act 1976, allowance is made for \"fair use\" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favour of fair use. \n\nThis video is for educational and informational purposes only and is not intended to infringe any copyright laws. If you are the copyright holder and believe your material has been used unfairly, please contact us at the email address provided in the About section ( crcmediabusiness@gmail.com )", "duration" => 846, "filename" => "/downloads/Statue of Wisdom/2025-07-08 Become So Disciplined People Call You Crazy (Miyamoto Musashi)/Become So Disciplined People Call You Crazy (Miyamoto Musashi) [gRh57oXfmV8].mp4", "id" => "gRh57oXfmV8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gRh57oXfmV8", "playlist_index" => 5, "timestamp" => 1751985480, "title" => "Become So Disciplined People Call You Crazy (Miyamoto Musashi)", "upload_date" => "20250708"} 17:11:37.439 [debug] QUERY OK source="sources" db=1.3ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:37.440 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=691.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:37.443 [debug] QUERY OK source="media_items" db=1.8ms idle=693.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-08 14:38:00Z], 2] 17:11:37.447 [debug] QUERY OK source="media_items" db=3.1ms idle=696.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join The Musashi Challenge 👉 https://bit.ly/4g6rjEo\nIf you want daily discipline, clarity, and focus (FREE) → https://bit.ly/dailydoseofwisdom\n\nBecome So Disciplined People Call You Crazy (Miyamoto Musashi) \n📚Buy Recommended Books: https://amzn.to/3OPsprs\n\nWant To Find Productivity Tools? Go Here: https://statueofwisdom.net/\n\n✋Discord: - https://discord.gg/4dGbNzb3m9\n\n✋More Similar Videos: \nhttps://www.youtube.com/watch?v=avoZEonUv6k\nhttps://www.youtube.com/watch?v=_FveAj4orEA\nhttps://www.youtube.com/watch?v=2yH29u8ao1k\n\n#selfimprovement #wisdom #quote #philosophy #musashi #samurai\n\n\nAbout Section:\n\nPart 1 (Earth Ring): 00:00\nPart 2 (Water Ring): 02:50\nPart 3 (Fire Ring): 05:35 \nPart 4 (Wind Ring): 08:33\nPart 5 (Void Ring): 11:01\n\n\n⚠️FAIR USE DISCLAIMER\n\nAll multimedia content in this video is used for the purpose of review & commentary under terms of fair use. All footage, music & images used belong to their respective companies or creators.\n\nUnder Section 107 of the Copyright Act 1976, allowance is made for \"fair use\" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favour of fair use. \n\nThis video is for educational and informational purposes only and is not intended to infringe any copyright laws. If you are the copyright holder and believe your material has been used unfairly, please contact us at the email address provided in the About section ( crcmediabusiness@gmail.com )", "Become So Disciplined People Call You Crazy (Miyamoto Musashi)", "5b40d092-e183-4a69-96d9-b816fe8c4593", 846, false, "gRh57oXfmV8", "https://www.youtube.com/watch?v=gRh57oXfmV8", 5, "/downloads/Statue of Wisdom/2025-07-08 Become So Disciplined People Call You Crazy (Miyamoto Musashi)/Become So Disciplined People Call You Crazy (Miyamoto Musashi) [gRh57oXfmV8].mp4", false, false, false, 2, [], 1, ~U[2025-07-08 14:38:00Z], ~U[2026-09-16 17:11:37Z], ~U[2026-09-16 17:11:37Z], "Join The Musashi Challenge 👉 https://bit.ly/4g6rjEo\nIf you want daily discipline, clarity, and focus (FREE) → https://bit.ly/dailydoseofwisdom\n\nBecome So Disciplined People Call You Crazy (Miyamoto Musashi) \n📚Buy Recommended Books: https://amzn.to/3OPsprs\n\nWant To Find Productivity Tools? Go Here: https://statueofwisdom.net/\n\n✋Discord: - https://discord.gg/4dGbNzb3m9\n\n✋More Similar Videos: \nhttps://www.youtube.com/watch?v=avoZEonUv6k\nhttps://www.youtube.com/watch?v=_FveAj4orEA\nhttps://www.youtube.com/watch?v=2yH29u8ao1k\n\n#selfimprovement #wisdom #quote #philosophy #musashi #samurai\n\n\nAbout Section:\n\nPart 1 (Earth Ring): 00:00\nPart 2 (Water Ring): 02:50\nPart 3 (Fire Ring): 05:35 \nPart 4 (Wind Ring): 08:33\nPart 5 (Void Ring): 11:01\n\n\n⚠️FAIR USE DISCLAIMER\n\nAll multimedia content in this video is used for the purpose of review & commentary under terms of fair use. All footage, music & images used belong to their respective companies or creators.\n\nUnder Section 107 of the Copyright Act 1976, allowance is made for \"fair use\" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favour of fair use. \n\nThis video is for educational and informational purposes only and is not intended to infringe any copyright laws. If you are the copyright holder and believe your material has been used unfairly, please contact us at the email address provided in the About section ( crcmediabusiness@gmail.com )", "Become So Disciplined People Call You Crazy (Miyamoto Musashi)", 846, false, "gRh57oXfmV8", "https://www.youtube.com/watch?v=gRh57oXfmV8", "/downloads/Statue of Wisdom/2025-07-08 Become So Disciplined People Call You Crazy (Miyamoto Musashi)/Become So Disciplined People Call You Crazy (Miyamoto Musashi) [gRh57oXfmV8].mp4", false, 2, ~U[2025-07-08 14:38:00Z]] 17:11:37.448 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=96.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:37.450 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.3ms idle=10.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:11:37.451 [debug] QUERY OK source="media_items" db=0.6ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [29] 17:11:37.451 [debug] Current batch of media processed. Will check again in 1000ms 17:11:37.552 [debug] Current batch of media processed. Will check again in 1000ms 17:11:38.452 [debug] Current batch of media processed. Will check again in 1000ms 17:11:38.553 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the neural circuits that activate and control aggressive states and behaviors. I discuss how hormones, genes and environmental factors such as day length can shift our aggressive tendencies. I also share science-based tools for modulating aggression, including sunlight exposure, heat therapy and supplementation with ashwagandha or acetyl-L-carnitine.\n\nShow notes: https://go.hubermanlab.com/0nF54O3\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Aggression, Types of Aggression\n00:01:43 Context, Aggression vs Sadness\n00:03:11 Hydraulic Pressure Model of Aggression\n00:06:40 Brain Areas for Aggression, Ventromedial Hypothalamus\n00:13:53 Biting, Neural Circuits of Physical Aggression\n00:16:19 Estrogen & Aggression, Testosterone & Competitiveness\n00:19:47 Seasonality, Sunlight, Melatonin & Aggression\n00:22:00 Cortisol, Serotonin & Aggression\n00:23:45 Tool: Reduce Cortisol with Sunlight & Sauna; Ashwagandha \n00:27:49 Irritability, Aggression & Genetics; Seasonality\n00:30:39 Tool: ADHD, Acetyl-L Carnitine & Aggressive Behavior\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1999, "filename" => "/downloads/Andrew Huberman/2026-05-14 Understanding & Controlling Aggression | Huberman Lab Essentials/Understanding & Controlling Aggression | Huberman Lab Essentials [916vhhUsmgE].mp4", "id" => "916vhhUsmgE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=916vhhUsmgE", "playlist_index" => 18, "timestamp" => 1778760014, "title" => "Understanding & Controlling Aggression | Huberman Lab Essentials", "upload_date" => "20260514"} 17:11:38.554 [debug] QUERY OK source="sources" db=0.5ms idle=1106.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:38.554 [debug] QUERY OK source="sources" db=0.3ms idle=1105.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:38.555 [debug] QUERY OK source="media_items" db=0.5ms idle=1105.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-14 12:00:14Z], 4] 17:11:38.562 [debug] QUERY OK source="media_items" db=6.0ms idle=1105.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the neural circuits that activate and control aggressive states and behaviors. I discuss how hormones, genes and environmental factors such as day length can shift our aggressive tendencies. I also share science-based tools for modulating aggression, including sunlight exposure, heat therapy and supplementation with ashwagandha or acetyl-L-carnitine.\n\nShow notes: https://go.hubermanlab.com/0nF54O3\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Aggression, Types of Aggression\n00:01:43 Context, Aggression vs Sadness\n00:03:11 Hydraulic Pressure Model of Aggression\n00:06:40 Brain Areas for Aggression, Ventromedial Hypothalamus\n00:13:53 Biting, Neural Circuits of Physical Aggression\n00:16:19 Estrogen & Aggression, Testosterone & Competitiveness\n00:19:47 Seasonality, Sunlight, Melatonin & Aggression\n00:22:00 Cortisol, Serotonin & Aggression\n00:23:45 Tool: Reduce Cortisol with Sunlight & Sauna; Ashwagandha \n00:27:49 Irritability, Aggression & Genetics; Seasonality\n00:30:39 Tool: ADHD, Acetyl-L Carnitine & Aggressive Behavior\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Understanding & Controlling Aggression | Huberman Lab Essentials", "e959e21e-678b-4d12-8b71-3a5ed0dff024", 1999, false, "916vhhUsmgE", "https://www.youtube.com/watch?v=916vhhUsmgE", 18, "/downloads/Andrew Huberman/2026-05-14 Understanding & Controlling Aggression | Huberman Lab Essentials/Understanding & Controlling Aggression | Huberman Lab Essentials [916vhhUsmgE].mp4", false, false, false, 4, [], 1, ~U[2026-05-14 12:00:14Z], ~U[2026-09-16 17:11:38Z], ~U[2026-09-16 17:11:38Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the neural circuits that activate and control aggressive states and behaviors. I discuss how hormones, genes and environmental factors such as day length can shift our aggressive tendencies. I also share science-based tools for modulating aggression, including sunlight exposure, heat therapy and supplementation with ashwagandha or acetyl-L-carnitine.\n\nShow notes: https://go.hubermanlab.com/0nF54O3\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Aggression, Types of Aggression\n00:01:43 Context, Aggression vs Sadness\n00:03:11 Hydraulic Pressure Model of Aggression\n00:06:40 Brain Areas for Aggression, Ventromedial Hypothalamus\n00:13:53 Biting, Neural Circuits of Physical Aggression\n00:16:19 Estrogen & Aggression, Testosterone & Competitiveness\n00:19:47 Seasonality, Sunlight, Melatonin & Aggression\n00:22:00 Cortisol, Serotonin & Aggression\n00:23:45 Tool: Reduce Cortisol with Sunlight & Sauna; Ashwagandha \n00:27:49 Irritability, Aggression & Genetics; Seasonality\n00:30:39 Tool: ADHD, Acetyl-L Carnitine & Aggressive Behavior\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Understanding & Controlling Aggression | Huberman Lab Essentials", 1999, false, "916vhhUsmgE", "https://www.youtube.com/watch?v=916vhhUsmgE", "/downloads/Andrew Huberman/2026-05-14 Understanding & Controlling Aggression | Huberman Lab Essentials/Understanding & Controlling Aggression | Huberman Lab Essentials [916vhhUsmgE].mp4", false, 4, ~U[2026-05-14 12:00:14Z]] 17:11:38.563 [debug] QUERY OK source="sources" db=0.4ms idle=209.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:38.563 [debug] QUERY OK source="media_profiles" db=0.3ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:11:38.564 [debug] QUERY OK source="media_items" db=0.3ms idle=9.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [22184] 17:11:38.564 [debug] Current batch of media processed. Will check again in 1000ms 17:11:39.453 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "For the longest time gaming hasn't exactly been feeling like it used to, at least not for me. And i wanted to share my thoughts on it, and practise my video making skills at the same time, i really hope that you enjoyed and got something out of it!\n\nas always thank you for watching all you beautiful people!\nHere's some social links... because shameless plug :D\n\nDiscord: discord.gg/YeeMcuazZd\nTwitch: twitch.tv/gwacaye\n(I rarely stream, but if i see people start following i might start)\n\nAlso, if you are not subbed, what are you doin bruh", "duration" => 501, "filename" => "/downloads/GWAC/2025-08-23 Give Me 8 Minutes And I'll Make Gaming Feel Fun Again/Give Me 8 Minutes And I'll Make Gaming Feel Fun Again [jQd4ju1eQ3I].mp4", "id" => "jQd4ju1eQ3I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jQd4ju1eQ3I", "playlist_index" => 6, "timestamp" => 1755981552, "title" => "Give Me 8 Minutes And I'll Make Gaming Feel Fun Again", "upload_date" => "20250823"} 17:11:39.454 [debug] QUERY OK source="sources" db=0.4ms idle=891.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:39.454 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=890.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:39.455 [debug] QUERY OK source="media_items" db=0.3ms idle=891.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-23 20:39:12Z], 2] 17:11:39.457 [debug] QUERY OK source="media_items" db=1.0ms idle=891.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["For the longest time gaming hasn't exactly been feeling like it used to, at least not for me. And i wanted to share my thoughts on it, and practise my video making skills at the same time, i really hope that you enjoyed and got something out of it!\n\nas always thank you for watching all you beautiful people!\nHere's some social links... because shameless plug :D\n\nDiscord: discord.gg/YeeMcuazZd\nTwitch: twitch.tv/gwacaye\n(I rarely stream, but if i see people start following i might start)\n\nAlso, if you are not subbed, what are you doin bruh", "Give Me 8 Minutes And I'll Make Gaming Feel Fun Again", "06e0d252-6d42-489c-9007-10fb800c9b5e", 501, false, "jQd4ju1eQ3I", "https://www.youtube.com/watch?v=jQd4ju1eQ3I", 6, "/downloads/GWAC/2025-08-23 Give Me 8 Minutes And I'll Make Gaming Feel Fun Again/Give Me 8 Minutes And I'll Make Gaming Feel Fun Again [jQd4ju1eQ3I].mp4", false, false, false, 2, [], 1, ~U[2025-08-23 20:39:12Z], ~U[2026-09-16 17:11:39Z], ~U[2026-09-16 17:11:39Z], "For the longest time gaming hasn't exactly been feeling like it used to, at least not for me. And i wanted to share my thoughts on it, and practise my video making skills at the same time, i really hope that you enjoyed and got something out of it!\n\nas always thank you for watching all you beautiful people!\nHere's some social links... because shameless plug :D\n\nDiscord: discord.gg/YeeMcuazZd\nTwitch: twitch.tv/gwacaye\n(I rarely stream, but if i see people start following i might start)\n\nAlso, if you are not subbed, what are you doin bruh", "Give Me 8 Minutes And I'll Make Gaming Feel Fun Again", 501, false, "jQd4ju1eQ3I", "https://www.youtube.com/watch?v=jQd4ju1eQ3I", "/downloads/GWAC/2025-08-23 Give Me 8 Minutes And I'll Make Gaming Feel Fun Again/Give Me 8 Minutes And I'll Make Gaming Feel Fun Again [jQd4ju1eQ3I].mp4", false, 2, ~U[2025-08-23 20:39:12Z]] 17:11:39.457 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [2] 17:11:39.458 [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] 17:11:39.458 [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 [31] 17:11:39.459 [debug] Current batch of media processed. Will check again in 1000ms 17:11:39.565 [debug] Current batch of media processed. Will check again in 1000ms 17:11:40.460 [debug] Current batch of media processed. Will check again in 1000ms 17:11:40.566 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Casey Halpern, MD, a professor of neurosurgery at the Perelman School of Medicine at the University of Pennsylvania. We discuss how deep brain stimulation and other neuromodulation approaches are being used to treat Parkinson's disease, obsessive-compulsive disorder (OCD), binge eating disorder and depression-related symptoms. We also explore the brain circuits that drive compulsions, cravings and impulsivity, as well as emerging non-invasive tools for predicting and treating harmful behaviors.\n\nShow notes: https://go.hubermanlab.com/QTgU0Jx\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Casey Halpern\nPenn Medicine Profile: https://www.pennmedicine.org/providers/profile/casey-halpern \nX: https://x.com/halpernc \nLinkedIn: https://www.linkedin.com/in/casey-halpern-a1569749 \n\nTimestamps\n00:00:00 Casey Halpern\n00:00:20 Neurosurgery, Deep Brain Stimulation\n00:04:19 Obsessive-Compulsive Disorder (OCD) & Treatments\n00:10:11 OCD Brain Areas, Addiction\n00:12:34 Nucleus Accumbens, Risk & Rewards; Binge Eating Disorder\n00:16:50 Non-Invasive Brain Stimulation, Transcranial Magnetic Stimulation \n00:24:33 Awareness of Cravings, Severe Binge Eating Disorder\n 00:28:38 Artificial Intelligence/Machine Learning & Predicting Impulsive Behavior\n00:32:44 Acknowledgements\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2019, "filename" => "/downloads/Andrew Huberman/2026-05-07 Essentials: Compulsive Behaviors & Deep Brain Stimulation | Dr. Casey Halpern/Essentials: Compulsive Behaviors & Deep Brain Stimulation | Dr. Casey Halpern [aKDzF_fMMrc].mp4", "id" => "aKDzF_fMMrc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aKDzF_fMMrc", "playlist_index" => 19, "timestamp" => 1778155201, "title" => "Essentials: Compulsive Behaviors & Deep Brain Stimulation | Dr. Casey Halpern", "upload_date" => "20260507"} 17:11:40.568 [debug] QUERY OK source="sources" db=1.7ms idle=1109.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:40.572 [debug] QUERY OK source="sources" db=3.0ms idle=1111.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:40.576 [debug] QUERY OK source="media_items" db=3.4ms idle=1114.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-07 12:00:01Z], 4] 17:11:40.580 [debug] QUERY OK source="media_items" db=3.0ms idle=1117.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Casey Halpern, MD, a professor of neurosurgery at the Perelman School of Medicine at the University of Pennsylvania. We discuss how deep brain stimulation and other neuromodulation approaches are being used to treat Parkinson's disease, obsessive-compulsive disorder (OCD), binge eating disorder and depression-related symptoms. We also explore the brain circuits that drive compulsions, cravings and impulsivity, as well as emerging non-invasive tools for predicting and treating harmful behaviors.\n\nShow notes: https://go.hubermanlab.com/QTgU0Jx\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Casey Halpern\nPenn Medicine Profile: https://www.pennmedicine.org/providers/profile/casey-halpern \nX: https://x.com/halpernc \nLinkedIn: https://www.linkedin.com/in/casey-halpern-a1569749 \n\nTimestamps\n00:00:00 Casey Halpern\n00:00:20 Neurosurgery, Deep Brain Stimulation\n00:04:19 Obsessive-Compulsive Disorder (OCD) & Treatments\n00:10:11 OCD Brain Areas, Addiction\n00:12:34 Nucleus Accumbens, Risk & Rewards; Binge Eating Disorder\n00:16:50 Non-Invasive Brain Stimulation, Transcranial Magnetic Stimulation \n00:24:33 Awareness of Cravings, Severe Binge Eating Disorder\n 00:28:38 Artificial Intelligence/Machine Learning & Predicting Impulsive Behavior\n00:32:44 Acknowledgements\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Compulsive Behaviors & Deep Brain Stimulation | Dr. Casey Halpern", "311e7c7c-d14b-4d4b-9b16-18c972934be7", 2019, false, "aKDzF_fMMrc", "https://www.youtube.com/watch?v=aKDzF_fMMrc", 19, "/downloads/Andrew Huberman/2026-05-07 Essentials: Compulsive Behaviors & Deep Brain Stimulation | Dr. Casey Halpern/Essentials: Compulsive Behaviors & Deep Brain Stimulation | Dr. Casey Halpern [aKDzF_fMMrc].mp4", false, false, false, 4, [], 1, ~U[2026-05-07 12:00:01Z], ~U[2026-09-16 17:11:40Z], ~U[2026-09-16 17:11:40Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Casey Halpern, MD, a professor of neurosurgery at the Perelman School of Medicine at the University of Pennsylvania. We discuss how deep brain stimulation and other neuromodulation approaches are being used to treat Parkinson's disease, obsessive-compulsive disorder (OCD), binge eating disorder and depression-related symptoms. We also explore the brain circuits that drive compulsions, cravings and impulsivity, as well as emerging non-invasive tools for predicting and treating harmful behaviors.\n\nShow notes: https://go.hubermanlab.com/QTgU0Jx\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Casey Halpern\nPenn Medicine Profile: https://www.pennmedicine.org/providers/profile/casey-halpern \nX: https://x.com/halpernc \nLinkedIn: https://www.linkedin.com/in/casey-halpern-a1569749 \n\nTimestamps\n00:00:00 Casey Halpern\n00:00:20 Neurosurgery, Deep Brain Stimulation\n00:04:19 Obsessive-Compulsive Disorder (OCD) & Treatments\n00:10:11 OCD Brain Areas, Addiction\n00:12:34 Nucleus Accumbens, Risk & Rewards; Binge Eating Disorder\n00:16:50 Non-Invasive Brain Stimulation, Transcranial Magnetic Stimulation \n00:24:33 Awareness of Cravings, Severe Binge Eating Disorder\n 00:28:38 Artificial Intelligence/Machine Learning & Predicting Impulsive Behavior\n00:32:44 Acknowledgements\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Compulsive Behaviors & Deep Brain Stimulation | Dr. Casey Halpern", 2019, false, "aKDzF_fMMrc", "https://www.youtube.com/watch?v=aKDzF_fMMrc", "/downloads/Andrew Huberman/2026-05-07 Essentials: Compulsive Behaviors & Deep Brain Stimulation | Dr. Casey Halpern/Essentials: Compulsive Behaviors & Deep Brain Stimulation | Dr. Casey Halpern [aKDzF_fMMrc].mp4", false, 4, ~U[2026-05-07 12:00:01Z]] 17:11:40.580 [debug] QUERY OK source="sources" db=0.2ms idle=224.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:40.582 [debug] QUERY OK source="media_profiles" db=1.7ms 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] 17:11:40.583 [debug] QUERY OK source="media_items" db=0.5ms idle=10.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 [17218] 17:11:40.583 [debug] Current batch of media processed. Will check again in 1000ms 17:11:41.461 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I provide a science-based daily protocol designed to enhance performance, mood and overall health by strategically timing simple yet powerful tools and behaviors.\n\nI explain how to increase energy and alertness in the morning, optimize your workspace and work sessions for maximum focus, and structure your day for sustained productivity. I also discuss the roles of fasting, meal and caffeine timing, and key nutrients, as well as how to leverage exercise to sharpen alertness and cognitive performance. Additionally, I describe evening practices and supplements that help you fall asleep quickly and promote quality sleep.\n\nEpisode show notes: https://go.hubermanlab.com/4RPwGcJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/aXvDEmo6uS4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Office Hours, Example Daily Protocol\n00:01:48 Morning, Tools: Temperature Minimum, Walk, Sunlight & Cortisol\n00:05:30 Hydration, Electrolytes, Tool: Delay Caffeine\n00:07:39 Morning Focus, Fasting\n00:08:27 Tools: Optimize Workspace, Screen Position, Work Bouts\n00:11:38 Tool: Timing Work Bouts, Temperature Minimum\n00:13:55 Exercise, Strength & Hypertrophy, Endurance Training, Tool: 80/20 Workouts\n00:16:55 Afternoon, Meal Timing, Carbs, Omega-3s, Tool: Afternoon Walks & Light\n00:21:40 Dinner, Sleep Transition, Carbs, Serotonin\n00:24:51 Accelerate Sleep, Tool: Reduce Temperature & Hot Baths\n00:26:41 Sleep Supplements, Magnesium, Apigenin, Theanine; Waking at Night\n00:29:41 Example Daily Routine, Work Blocks\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1913, "filename" => "/downloads/Andrew Huberman/2025-05-22 Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials/Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials [Pmd6knanPKw].mp4", "id" => "Pmd6knanPKw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Pmd6knanPKw", "playlist_index" => 7, "timestamp" => 1747915247, "title" => "Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials", "upload_date" => "20250522"} 17:11:41.461 [debug] QUERY OK source="sources" db=0.2ms idle=881.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:41.462 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms idle=881.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:41.463 [debug] QUERY OK source="media_items" db=0.2ms idle=880.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-22 12:00:47Z], 2] 17:11:41.467 [debug] QUERY OK source="media_items" db=2.9ms idle=880.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I provide a science-based daily protocol designed to enhance performance, mood and overall health by strategically timing simple yet powerful tools and behaviors.\n\nI explain how to increase energy and alertness in the morning, optimize your workspace and work sessions for maximum focus, and structure your day for sustained productivity. I also discuss the roles of fasting, meal and caffeine timing, and key nutrients, as well as how to leverage exercise to sharpen alertness and cognitive performance. Additionally, I describe evening practices and supplements that help you fall asleep quickly and promote quality sleep.\n\nEpisode show notes: https://go.hubermanlab.com/4RPwGcJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/aXvDEmo6uS4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Office Hours, Example Daily Protocol\n00:01:48 Morning, Tools: Temperature Minimum, Walk, Sunlight & Cortisol\n00:05:30 Hydration, Electrolytes, Tool: Delay Caffeine\n00:07:39 Morning Focus, Fasting\n00:08:27 Tools: Optimize Workspace, Screen Position, Work Bouts\n00:11:38 Tool: Timing Work Bouts, Temperature Minimum\n00:13:55 Exercise, Strength & Hypertrophy, Endurance Training, Tool: 80/20 Workouts\n00:16:55 Afternoon, Meal Timing, Carbs, Omega-3s, Tool: Afternoon Walks & Light\n00:21:40 Dinner, Sleep Transition, Carbs, Serotonin\n00:24:51 Accelerate Sleep, Tool: Reduce Temperature & Hot Baths\n00:26:41 Sleep Supplements, Magnesium, Apigenin, Theanine; Waking at Night\n00:29:41 Example Daily Routine, Work Blocks\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials", "6461ba53-cd0d-4a67-b939-c3a5999f715b", 1913, false, "Pmd6knanPKw", "https://www.youtube.com/watch?v=Pmd6knanPKw", 7, "/downloads/Andrew Huberman/2025-05-22 Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials/Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials [Pmd6knanPKw].mp4", false, false, false, 2, [], 1, ~U[2025-05-22 12:00:47Z], ~U[2026-09-16 17:11:41Z], ~U[2026-09-16 17:11:41Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I provide a science-based daily protocol designed to enhance performance, mood and overall health by strategically timing simple yet powerful tools and behaviors.\n\nI explain how to increase energy and alertness in the morning, optimize your workspace and work sessions for maximum focus, and structure your day for sustained productivity. I also discuss the roles of fasting, meal and caffeine timing, and key nutrients, as well as how to leverage exercise to sharpen alertness and cognitive performance. Additionally, I describe evening practices and supplements that help you fall asleep quickly and promote quality sleep.\n\nEpisode show notes: https://go.hubermanlab.com/4RPwGcJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/aXvDEmo6uS4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Office Hours, Example Daily Protocol\n00:01:48 Morning, Tools: Temperature Minimum, Walk, Sunlight & Cortisol\n00:05:30 Hydration, Electrolytes, Tool: Delay Caffeine\n00:07:39 Morning Focus, Fasting\n00:08:27 Tools: Optimize Workspace, Screen Position, Work Bouts\n00:11:38 Tool: Timing Work Bouts, Temperature Minimum\n00:13:55 Exercise, Strength & Hypertrophy, Endurance Training, Tool: 80/20 Workouts\n00:16:55 Afternoon, Meal Timing, Carbs, Omega-3s, Tool: Afternoon Walks & Light\n00:21:40 Dinner, Sleep Transition, Carbs, Serotonin\n00:24:51 Accelerate Sleep, Tool: Reduce Temperature & Hot Baths\n00:26:41 Sleep Supplements, Magnesium, Apigenin, Theanine; Waking at Night\n00:29:41 Example Daily Routine, Work Blocks\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials", 1913, false, "Pmd6knanPKw", "https://www.youtube.com/watch?v=Pmd6knanPKw", "/downloads/Andrew Huberman/2025-05-22 Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials/Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials [Pmd6knanPKw].mp4", false, 2, ~U[2025-05-22 12:00:47Z]] 17:11:41.467 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [2] 17:11:41.468 [debug] QUERY OK source="media_profiles" db=0.3ms queue=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] 17:11:41.469 [debug] QUERY OK source="media_items" db=0.4ms idle=6.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [34] 17:11:41.469 [debug] Current batch of media processed. Will check again in 1000ms 17:11:41.584 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how the body senses and uses sugar, and why understanding those mechanisms can help reduce sugar cravings. I discuss different types of sugar and how they are processed by pathways in the gut and the brain to shape appetite and the desire for specific foods. I also share many science-based tools to help curb sugar cravings and support healthy blood sugar regulation.\n\nShow notes: https://go.hubermanlab.com/VAHQhla\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Sugar\n00:00:37 Hunger, Hormones & Blood Glucose\n00:03:03 Fructose vs Glucose, Controlling Hunger\n00:06:30 Brain Circuits: Sweet Taste & Nutritive Pathways\n00:09:27 Sweet Taste & Dopamine\n00:11:58 Gut & Blood Glucose; Tool: Sugar Cravings & Hidden Sugars\n00:14:20 Glycemic Index, Tool: Food Choices, Fiber & Sugar Intake\n00:18:22 Glutamine Supplementation, Leaky Gut & Sugar Cravings\n00:20:44 Tools: Lemon Juice & Cinnamon to Blunt Blood Glucose\n00:25:05 Berberine & Potent Molecules to Regulate Blood Glucose\n00:26:47 Tool: Quality Sleep & Sugar Cravings\n\n#hubermanlab #health #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1779, "filename" => "/downloads/Andrew Huberman/2026-04-30 Control Sugar Cravings & Metabolism with Science-Based Tools | Huberman Lab Essentials/Control Sugar Cravings & Metabolism with Science-Based Tools | Huberman Lab Essentials [qUUfucHC7tU].mp4", "id" => "qUUfucHC7tU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qUUfucHC7tU", "playlist_index" => 20, "timestamp" => 1777550488, "title" => "Control Sugar Cravings & Metabolism with Science-Based Tools | Huberman Lab Essentials", "upload_date" => "20260430"} 17:11:41.585 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=121.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:41.586 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=118.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:41.587 [debug] QUERY OK source="media_items" db=0.8ms idle=118.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-30 12:01:28Z], 4] 17:11:41.591 [debug] QUERY OK source="media_items" db=3.8ms idle=119.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how the body senses and uses sugar, and why understanding those mechanisms can help reduce sugar cravings. I discuss different types of sugar and how they are processed by pathways in the gut and the brain to shape appetite and the desire for specific foods. I also share many science-based tools to help curb sugar cravings and support healthy blood sugar regulation.\n\nShow notes: https://go.hubermanlab.com/VAHQhla\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Sugar\n00:00:37 Hunger, Hormones & Blood Glucose\n00:03:03 Fructose vs Glucose, Controlling Hunger\n00:06:30 Brain Circuits: Sweet Taste & Nutritive Pathways\n00:09:27 Sweet Taste & Dopamine\n00:11:58 Gut & Blood Glucose; Tool: Sugar Cravings & Hidden Sugars\n00:14:20 Glycemic Index, Tool: Food Choices, Fiber & Sugar Intake\n00:18:22 Glutamine Supplementation, Leaky Gut & Sugar Cravings\n00:20:44 Tools: Lemon Juice & Cinnamon to Blunt Blood Glucose\n00:25:05 Berberine & Potent Molecules to Regulate Blood Glucose\n00:26:47 Tool: Quality Sleep & Sugar Cravings\n\n#hubermanlab #health #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Control Sugar Cravings & Metabolism with Science-Based Tools | Huberman Lab Essentials", "bf451b73-de5f-491c-be57-c1a2885407a4", 1779, false, "qUUfucHC7tU", "https://www.youtube.com/watch?v=qUUfucHC7tU", 20, "/downloads/Andrew Huberman/2026-04-30 Control Sugar Cravings & Metabolism with Science-Based Tools | Huberman Lab Essentials/Control Sugar Cravings & Metabolism with Science-Based Tools | Huberman Lab Essentials [qUUfucHC7tU].mp4", false, false, false, 4, [], 1, ~U[2026-04-30 12:01:28Z], ~U[2026-09-16 17:11:41Z], ~U[2026-09-16 17:11:41Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how the body senses and uses sugar, and why understanding those mechanisms can help reduce sugar cravings. I discuss different types of sugar and how they are processed by pathways in the gut and the brain to shape appetite and the desire for specific foods. I also share many science-based tools to help curb sugar cravings and support healthy blood sugar regulation.\n\nShow notes: https://go.hubermanlab.com/VAHQhla\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Sugar\n00:00:37 Hunger, Hormones & Blood Glucose\n00:03:03 Fructose vs Glucose, Controlling Hunger\n00:06:30 Brain Circuits: Sweet Taste & Nutritive Pathways\n00:09:27 Sweet Taste & Dopamine\n00:11:58 Gut & Blood Glucose; Tool: Sugar Cravings & Hidden Sugars\n00:14:20 Glycemic Index, Tool: Food Choices, Fiber & Sugar Intake\n00:18:22 Glutamine Supplementation, Leaky Gut & Sugar Cravings\n00:20:44 Tools: Lemon Juice & Cinnamon to Blunt Blood Glucose\n00:25:05 Berberine & Potent Molecules to Regulate Blood Glucose\n00:26:47 Tool: Quality Sleep & Sugar Cravings\n\n#hubermanlab #health #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Control Sugar Cravings & Metabolism with Science-Based Tools | Huberman Lab Essentials", 1779, false, "qUUfucHC7tU", "https://www.youtube.com/watch?v=qUUfucHC7tU", "/downloads/Andrew Huberman/2026-04-30 Control Sugar Cravings & Metabolism with Science-Based Tools | Huberman Lab Essentials/Control Sugar Cravings & Metabolism with Science-Based Tools | Huberman Lab Essentials [qUUfucHC7tU].mp4", false, 4, ~U[2026-04-30 12:01:28Z]] 17:11:41.593 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms 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" = ?) [4] 17:11:41.594 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=9.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:11:41.596 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=9.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13281] 17:11:41.596 [debug] Current batch of media processed. Will check again in 1000ms 17:11:42.470 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for Motivational Videos Every Weekday, Helping You Get Through The Week! http://bit.ly/MotivationVideos\n\nhttps://bit.ly/MotivationMadness_Mindset 👈 Follow us on Mindset app for free and get the best motivational speeches to start your day right.\n\nFollow us on:\nInstagram: http://bit.ly/2rhGNMY\nFacebook: http://bit.ly/2r85DC3\n\nSpeaker: Jordan Peterson\nYouTube: https://www.youtube.com/user/JordanPetersonVideos\nTwitter: https://twitter.com/jordanbpeterson\nDonation Link: https://www.jordanbpeterson.com/donate\n\nBuy His Books\n12 Rules of Life: An Antidote to Chaos - https://geni.us/zyW4\nMaps of Meaning: The Architecture of Belief - https://geni.us/mpgzkxA\n\n----------------------------------------­­-------------------------\n\nFootage licensed through Filmpac, RawFilm, Artgrid, and Videoblocks.\nAudio Licensed through AudioJungle & Various Partnerships\n\n----------------------------------------­­-------------------------\n\nYouTube Disclaimer:\nWe own commercial licenses for all the content used in this video and it was fully edited by us.\n\nHelp us caption & translate this video!\nhttp://bit.ly/Translate4Motivation", "duration" => 4076, "filename" => "/downloads/Motivation Madness/2023-12-11 Jordan Peterson: 60 Minutes for the NEXT 60 Years of Your LIFE (MUST WATCH)/Jordan Peterson: 60 Minutes for the NEXT 60 Years of Your LIFE (MUST WATCH) [fDazo-ZNvGA].mp4", "id" => "fDazo-ZNvGA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fDazo-ZNvGA", "playlist_index" => 8, "timestamp" => 1702297819, "title" => "Jordan Peterson: 60 Minutes for the NEXT 60 Years of Your LIFE (MUST WATCH)", "upload_date" => "20231211"} 17:11:42.471 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=879.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:42.472 [debug] QUERY OK source="sources" db=0.7ms idle=877.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:42.473 [debug] QUERY OK source="media_items" db=0.6ms queue=0.3ms idle=877.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-12-11 12:30:19Z], 2] 17:11:42.476 [debug] QUERY OK source="media_items" db=1.9ms idle=878.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for Motivational Videos Every Weekday, Helping You Get Through The Week! http://bit.ly/MotivationVideos\n\nhttps://bit.ly/MotivationMadness_Mindset 👈 Follow us on Mindset app for free and get the best motivational speeches to start your day right.\n\nFollow us on:\nInstagram: http://bit.ly/2rhGNMY\nFacebook: http://bit.ly/2r85DC3\n\nSpeaker: Jordan Peterson\nYouTube: https://www.youtube.com/user/JordanPetersonVideos\nTwitter: https://twitter.com/jordanbpeterson\nDonation Link: https://www.jordanbpeterson.com/donate\n\nBuy His Books\n12 Rules of Life: An Antidote to Chaos - https://geni.us/zyW4\nMaps of Meaning: The Architecture of Belief - https://geni.us/mpgzkxA\n\n----------------------------------------­­-------------------------\n\nFootage licensed through Filmpac, RawFilm, Artgrid, and Videoblocks.\nAudio Licensed through AudioJungle & Various Partnerships\n\n----------------------------------------­­-------------------------\n\nYouTube Disclaimer:\nWe own commercial licenses for all the content used in this video and it was fully edited by us.\n\nHelp us caption & translate this video!\nhttp://bit.ly/Translate4Motivation", "Jordan Peterson: 60 Minutes for the NEXT 60 Years of Your LIFE (MUST WATCH)", "c26bafd7-c897-4d79-ad58-c33665a5a705", 4076, false, "fDazo-ZNvGA", "https://www.youtube.com/watch?v=fDazo-ZNvGA", 8, "/downloads/Motivation Madness/2023-12-11 Jordan Peterson: 60 Minutes for the NEXT 60 Years of Your LIFE (MUST WATCH)/Jordan Peterson: 60 Minutes for the NEXT 60 Years of Your LIFE (MUST WATCH) [fDazo-ZNvGA].mp4", false, false, false, 2, [], 1, ~U[2023-12-11 12:30:19Z], ~U[2026-09-16 17:11:42Z], ~U[2026-09-16 17:11:42Z], "Subscribe for Motivational Videos Every Weekday, Helping You Get Through The Week! http://bit.ly/MotivationVideos\n\nhttps://bit.ly/MotivationMadness_Mindset 👈 Follow us on Mindset app for free and get the best motivational speeches to start your day right.\n\nFollow us on:\nInstagram: http://bit.ly/2rhGNMY\nFacebook: http://bit.ly/2r85DC3\n\nSpeaker: Jordan Peterson\nYouTube: https://www.youtube.com/user/JordanPetersonVideos\nTwitter: https://twitter.com/jordanbpeterson\nDonation Link: https://www.jordanbpeterson.com/donate\n\nBuy His Books\n12 Rules of Life: An Antidote to Chaos - https://geni.us/zyW4\nMaps of Meaning: The Architecture of Belief - https://geni.us/mpgzkxA\n\n----------------------------------------­­-------------------------\n\nFootage licensed through Filmpac, RawFilm, Artgrid, and Videoblocks.\nAudio Licensed through AudioJungle & Various Partnerships\n\n----------------------------------------­­-------------------------\n\nYouTube Disclaimer:\nWe own commercial licenses for all the content used in this video and it was fully edited by us.\n\nHelp us caption & translate this video!\nhttp://bit.ly/Translate4Motivation", "Jordan Peterson: 60 Minutes for the NEXT 60 Years of Your LIFE (MUST WATCH)", 4076, false, "fDazo-ZNvGA", "https://www.youtube.com/watch?v=fDazo-ZNvGA", "/downloads/Motivation Madness/2023-12-11 Jordan Peterson: 60 Minutes for the NEXT 60 Years of Your LIFE (MUST WATCH)/Jordan Peterson: 60 Minutes for the NEXT 60 Years of Your LIFE (MUST WATCH) [fDazo-ZNvGA].mp4", false, 2, ~U[2023-12-11 12:30:19Z]] 17:11:42.477 [debug] QUERY OK source="sources" db=0.2ms idle=119.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:42.477 [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] 17:11:42.478 [debug] QUERY OK source="media_items" db=0.2ms idle=5.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [36] 17:11:42.478 [debug] Current batch of media processed. Will check again in 1000ms 17:11:42.597 [debug] Current batch of media processed. Will check again in 1000ms 17:11:43.479 [debug] Current batch of media processed. Will check again in 1000ms 17:11:43.598 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Erich Jarvis, PhD, a professor and Head of the Laboratory of Neurogenetics of Language at Rockefeller University and an investigator at the Howard Hughes Medical Institute (HHMI). We discuss the brain circuits and genes underlying spoken language and why the ability to learn and produce vocalizations is extraordinarily rare in the animal kingdom. We also explore why song likely evolved before language, how gesture and movement share deep neural roots with speech, the neurobiology of stuttering, why childhood is the optimal window for language acquisition, and how physical movement — including dance — may help preserve speech and cognitive function across a lifetime.\n\nShow notes: https://go.hubermanlab.com/C1XC6tO\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Erich Jarvis\nDr. Erick Jarvis' Lab: https://www.jarvislab.net \nRockefeller University: https://www.rockefeller.edu/our-scientists/heads-of-laboratories/1159-erich-d-jarvis\nGoogle Scholar: https://scholar.google.com/citations?user=cI-fi9MAAAAJ\nX: https://x.com/erichjarvis\nInstagram: https://www.instagram.com/erich_d_jarvis\nLinkedIn: https://www.linkedin.com/in/erich-jarvis-ba73624\n\nTimestamps\n00:00:00 Speech & Language\n00:00:23 Speech vs. Language; Brain Pathways\n00:02:07 Gesture, Movement & Language Evolution\n00:04:31 Emotion, Innate Sounds & Vocal Learning\n00:06:50 Evolution of Spoken Language\n00:07:04 Neanderthals & the Origins of Human Language\n00:08:17 Songbird & Human Speech Circuits Compared\n00:09:08 Critical Periods & Vocal Learning in Birds\n00:10:55 Convergent Evolution; Genes & Speech Circuits\n00:13:20 Innate Predisposition to Learn; Birdsong Dialects\n00:15:39 Pidgin Language & Cultural-Genetic Evolution\n00:17:46 Genes Controlling Speech Pathways\n00:20:30 Critical Periods & Multilingualism\n00:22:41 Music, Emotion & Semantic vs. Affective Communication\n00:25:38 Facial Expression & Speech Circuits\n00:27:28 Written Language & Neural Circuitry\n00:28:53 Stuttering; Basal Ganglia & Neurogenesis\n00:31:09 Texting, Technology & Language Change\n00:32:42 Tool: Movement, Dance & Cognitive Health\n00:34:49 Recap\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2128, "filename" => "/downloads/Andrew Huberman/2026-04-23 Essentials: The Neuroscience of Speech, Language & Music | Dr. Erich Jarvis/Essentials: The Neuroscience of Speech, Language & Music | Dr. Erich Jarvis [3bnLgOxHMB8].mp4", "id" => "3bnLgOxHMB8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3bnLgOxHMB8", "playlist_index" => 21, "timestamp" => 1776945606, "title" => "Essentials: The Neuroscience of Speech, Language & Music | Dr. Erich Jarvis", "upload_date" => "20260423"} 17:11:43.599 [debug] QUERY OK source="sources" db=0.2ms idle=1122.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:43.601 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=1122.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:43.602 [debug] QUERY OK source="media_items" db=0.6ms queue=0.6ms idle=1123.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-23 12:00:06Z], 4] 17:11:43.606 [debug] QUERY OK source="media_items" db=3.1ms idle=1124.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Erich Jarvis, PhD, a professor and Head of the Laboratory of Neurogenetics of Language at Rockefeller University and an investigator at the Howard Hughes Medical Institute (HHMI). We discuss the brain circuits and genes underlying spoken language and why the ability to learn and produce vocalizations is extraordinarily rare in the animal kingdom. We also explore why song likely evolved before language, how gesture and movement share deep neural roots with speech, the neurobiology of stuttering, why childhood is the optimal window for language acquisition, and how physical movement — including dance — may help preserve speech and cognitive function across a lifetime.\n\nShow notes: https://go.hubermanlab.com/C1XC6tO\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Erich Jarvis\nDr. Erick Jarvis' Lab: https://www.jarvislab.net \nRockefeller University: https://www.rockefeller.edu/our-scientists/heads-of-laboratories/1159-erich-d-jarvis\nGoogle Scholar: https://scholar.google.com/citations?user=cI-fi9MAAAAJ\nX: https://x.com/erichjarvis\nInstagram: https://www.instagram.com/erich_d_jarvis\nLinkedIn: https://www.linkedin.com/in/erich-jarvis-ba73624\n\nTimestamps\n00:00:00 Speech & Language\n00:00:23 Speech vs. Language; Brain Pathways\n00:02:07 Gesture, Movement & Language Evolution\n00:04:31 Emotion, Innate Sounds & Vocal Learning\n00:06:50 Evolution of Spoken Language\n00:07:04 Neanderthals & the Origins of Human Language\n00:08:17 Songbird & Human Speech Circuits Compared\n00:09:08 Critical Periods & Vocal Learning in Birds\n00:10:55 Convergent Evolution; Genes & Speech Circuits\n00:13:20 Innate Predisposition to Learn; Birdsong Dialects\n00:15:39 Pidgin Language & Cultural-Genetic Evolution\n00:17:46 Genes Controlling Speech Pathways\n00:20:30 Critical Periods & Multilingualism\n00:22:41 Music, Emotion & Semantic vs. Affective Communication\n00:25:38 Facial Expression & Speech Circuits\n00:27:28 Written Language & Neural Circuitry\n00:28:53 Stuttering; Basal Ganglia & Neurogenesis\n00:31:09 Texting, Technology & Language Change\n00:32:42 Tool: Movement, Dance & Cognitive Health\n00:34:49 Recap\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Neuroscience of Speech, Language & Music | Dr. Erich Jarvis", "10938275-e1e9-42f1-804c-b25d32415f67", 2128, false, "3bnLgOxHMB8", "https://www.youtube.com/watch?v=3bnLgOxHMB8", 21, "/downloads/Andrew Huberman/2026-04-23 Essentials: The Neuroscience of Speech, Language & Music | Dr. Erich Jarvis/Essentials: The Neuroscience of Speech, Language & Music | Dr. Erich Jarvis [3bnLgOxHMB8].mp4", false, false, false, 4, [], 1, ~U[2026-04-23 12:00:06Z], ~U[2026-09-16 17:11:43Z], ~U[2026-09-16 17:11:43Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Erich Jarvis, PhD, a professor and Head of the Laboratory of Neurogenetics of Language at Rockefeller University and an investigator at the Howard Hughes Medical Institute (HHMI). We discuss the brain circuits and genes underlying spoken language and why the ability to learn and produce vocalizations is extraordinarily rare in the animal kingdom. We also explore why song likely evolved before language, how gesture and movement share deep neural roots with speech, the neurobiology of stuttering, why childhood is the optimal window for language acquisition, and how physical movement — including dance — may help preserve speech and cognitive function across a lifetime.\n\nShow notes: https://go.hubermanlab.com/C1XC6tO\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Erich Jarvis\nDr. Erick Jarvis' Lab: https://www.jarvislab.net \nRockefeller University: https://www.rockefeller.edu/our-scientists/heads-of-laboratories/1159-erich-d-jarvis\nGoogle Scholar: https://scholar.google.com/citations?user=cI-fi9MAAAAJ\nX: https://x.com/erichjarvis\nInstagram: https://www.instagram.com/erich_d_jarvis\nLinkedIn: https://www.linkedin.com/in/erich-jarvis-ba73624\n\nTimestamps\n00:00:00 Speech & Language\n00:00:23 Speech vs. Language; Brain Pathways\n00:02:07 Gesture, Movement & Language Evolution\n00:04:31 Emotion, Innate Sounds & Vocal Learning\n00:06:50 Evolution of Spoken Language\n00:07:04 Neanderthals & the Origins of Human Language\n00:08:17 Songbird & Human Speech Circuits Compared\n00:09:08 Critical Periods & Vocal Learning in Birds\n00:10:55 Convergent Evolution; Genes & Speech Circuits\n00:13:20 Innate Predisposition to Learn; Birdsong Dialects\n00:15:39 Pidgin Language & Cultural-Genetic Evolution\n00:17:46 Genes Controlling Speech Pathways\n00:20:30 Critical Periods & Multilingualism\n00:22:41 Music, Emotion & Semantic vs. Affective Communication\n00:25:38 Facial Expression & Speech Circuits\n00:27:28 Written Language & Neural Circuitry\n00:28:53 Stuttering; Basal Ganglia & Neurogenesis\n00:31:09 Texting, Technology & Language Change\n00:32:42 Tool: Movement, Dance & Cognitive Health\n00:34:49 Recap\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Neuroscience of Speech, Language & Music | Dr. Erich Jarvis", 2128, false, "3bnLgOxHMB8", "https://www.youtube.com/watch?v=3bnLgOxHMB8", "/downloads/Andrew Huberman/2026-04-23 Essentials: The Neuroscience of Speech, Language & Music | Dr. Erich Jarvis/Essentials: The Neuroscience of Speech, Language & Music | Dr. Erich Jarvis [3bnLgOxHMB8].mp4", false, 4, ~U[2026-04-23 12:00:06Z]] 17:11:43.607 [debug] QUERY OK source="sources" db=0.2ms idle=248.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:43.608 [debug] QUERY OK source="media_profiles" db=0.2ms queue=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] 17:11:43.609 [debug] QUERY OK source="media_items" db=0.4ms 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 [11092] 17:11:43.609 [debug] Current batch of media processed. Will check again in 1000ms 17:11:44.480 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "STOP\n\nHAMMER\n\nTIME\n\nPatreon Link: https://www.patreon.com/WolfeScratch\nTwitter: https://twitter.com/WolfeScratch\nTwitch: https://www.twitch.tv/wolfescratch\nDiscord: https://discord.gg/AsuNPEc\n\nMusic:\nhttps://www.youtube.com/watch?v=ZQedfsvdMAI\nhttps://www.youtube.com/watch?v=ByI5MbT8XAU", "duration" => 259, "filename" => "/downloads/WolfeScratch/2020-07-18 King Dedede Mains be Like... (Smash Ultimate Dedede Montage)/King Dedede Mains be Like... (Smash Ultimate Dedede Montage) [A3E2HEwairo].mp4", "id" => "A3E2HEwairo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=A3E2HEwairo", "playlist_index" => 9, "timestamp" => 1595105263, "title" => "King Dedede Mains be Like... (Smash Ultimate Dedede Montage)", "upload_date" => "20200718"} 17:11:44.481 [debug] QUERY OK source="sources" db=0.6ms idle=874.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:44.482 [debug] QUERY OK source="sources" db=1.0ms idle=873.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:44.483 [debug] QUERY OK source="media_items" db=1.0ms idle=874.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-07-18 20:47:43Z], 2] 17:11:44.486 [debug] QUERY OK source="media_items" db=1.5ms idle=875.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["STOP\n\nHAMMER\n\nTIME\n\nPatreon Link: https://www.patreon.com/WolfeScratch\nTwitter: https://twitter.com/WolfeScratch\nTwitch: https://www.twitch.tv/wolfescratch\nDiscord: https://discord.gg/AsuNPEc\n\nMusic:\nhttps://www.youtube.com/watch?v=ZQedfsvdMAI\nhttps://www.youtube.com/watch?v=ByI5MbT8XAU", "King Dedede Mains be Like... (Smash Ultimate Dedede Montage)", "4b54f659-947d-440f-b56e-f145c6116c94", 259, false, "A3E2HEwairo", "https://www.youtube.com/watch?v=A3E2HEwairo", 9, "/downloads/WolfeScratch/2020-07-18 King Dedede Mains be Like... (Smash Ultimate Dedede Montage)/King Dedede Mains be Like... (Smash Ultimate Dedede Montage) [A3E2HEwairo].mp4", false, false, false, 2, [], 1, ~U[2020-07-18 20:47:43Z], ~U[2026-09-16 17:11:44Z], ~U[2026-09-16 17:11:44Z], "STOP\n\nHAMMER\n\nTIME\n\nPatreon Link: https://www.patreon.com/WolfeScratch\nTwitter: https://twitter.com/WolfeScratch\nTwitch: https://www.twitch.tv/wolfescratch\nDiscord: https://discord.gg/AsuNPEc\n\nMusic:\nhttps://www.youtube.com/watch?v=ZQedfsvdMAI\nhttps://www.youtube.com/watch?v=ByI5MbT8XAU", "King Dedede Mains be Like... (Smash Ultimate Dedede Montage)", 259, false, "A3E2HEwairo", "https://www.youtube.com/watch?v=A3E2HEwairo", "/downloads/WolfeScratch/2020-07-18 King Dedede Mains be Like... (Smash Ultimate Dedede Montage)/King Dedede Mains be Like... (Smash Ultimate Dedede Montage) [A3E2HEwairo].mp4", false, 2, ~U[2020-07-18 20:47:43Z]] 17:11:44.487 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=126.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:44.490 [debug] QUERY OK source="media_profiles" db=1.0ms queue=1.9ms idle=6.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:11:44.491 [debug] QUERY OK source="media_items" db=0.9ms 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 [38] 17:11:44.491 [debug] Current batch of media processed. Will check again in 1000ms 17:11:44.610 [debug] Current batch of media processed. Will check again in 1000ms 17:11:45.493 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Taoism for Inner Peace (book): https://einzelganger.co/tao/\n\nMiyamoto Musashi is one of the most legendary samurai and famed as Japan’s greatest swordsman - undefeated in more than sixty duels. After he escaped death during the Battle of Sekigahara, Musashi became a ronin. Aside from being a swordsman, he was also a philosopher, artist, and well-learned Buddhist. Before he died, Musashi left us with twenty-one principles named Dokkōdō. These are timeless rules that can inspire us today to live well. The majority, if not all, of these rules, help us to establish one thing: ‘focus’.\n\nFocus is the quality of having a concentrated interest or activity on something. Needless to say, ‘focus’ was a crucial component in Musashi’s life, or, what he called ‘the way’, which is a life of ongoing practice. His writings reveal that his lifestyle revolved around restraint, sacrifice, discipline, and not being swayed by pleasure. These virtues were all established by or in support of being able to ‘focus’. Especially when he spent time apart from society, Musashi was only concerned with perfecting his skill, while aiming for enlightenment by the Way of the sword.\n\nThis three-part series elaborates on the twenty-one principles from Musashi’s Dokkōdō. The first part explored the first seven principles. This second part will explore how to live a life of ultimate focus, based on the next seven principles. Please note, the elaborations in this video are based on existing philosophies, the author’s interpretations, and reasoning, and are intended to be an inspiration for present-day life.\n\nSupport the channel:\n✔️ PayPal: https://www.paypal.me/einzelgangerco\n✔️ Patreon: https://www.patreon.com/einzelgangster\n✔️ Bitcoin: 3HQnEz1LQ4G6dqN2LdZgzc7qoJjJCyWjTC\n(Donated BTC and want in the credits? Send me an email with the amount/address)\n\nPurchase my book (affiliate links):\n📘 Paperback: https://amzn.to/2RJYfti\n💻 Ebook: https://amzn.to/35e23a5\n\nMerchandise:\n🛍️ Shop: https://teespring.com/stores/einzelgangerstore\n🛍️ Merchandise design by Punksthetic Art:\nhttps://www.youtube.com/user/JRStoneart\n\n🎵 Music used:\nAll music used is licensed and paid for. \n\nCreative Commons (attributions):\n\nMusashi statue: https://commons.wikimedia.org/wiki/File:Statue_of_Musashi_%26_Kojir%C5%8D_battle.jpg\nJapanese horsemen: https://commons.wikimedia.org/wiki/File:Kobe-keiba6380.JPG\nDokkodo: https://terebess.hu/zen/mesterek/musashi.html\nGo Rin no Sho: https://en.wikipedia.org/wiki/The_Book_of_Five_Rings#/media/File:Go_Rin_No_Sho.gif\nSkull: https://commons.wikimedia.org/wiki/File:A_skull._Oil_painting._Wellcome_V0042218.jpg\nBuddha painting: https://commons.wikimedia.org/wiki/File:Buddha_Fresco_Painting.jpg\nMarcus Aurelius bust: https://commons.wikimedia.org/wiki/File:MarkAurelFront.jpg\nAbstract painting dinner: https://commons.wikimedia.org/wiki/File:Dinner_Party_(SM_lg32).png\nBattle of Sekigahara: https://commons.wikimedia.org/wiki/File:Tokugawa_Vassal_Fortification_at_Battle_of_Sekigahara_(1600).jpg\n\n00:00 - 0) Intro\n01:57 - 8) Never let yourself be saddened by a separation.\n04:03 - 9) Resentment and complaint are appropriate neither for oneself or others.\n05:48 - 10) Do not let yourself be guided by the feeling of lust or love.\n07:25 - 11) In all things have no preferences.\n08:34 - 12) Be indifferent to where you live.\n10:02 - 13) Do not pursue the taste of good food.\n11:51 - 14) Do not hold on to possessions you no longer need.\n\n#miyamotomusashi #dokkodo #ronin", "duration" => 832, "filename" => "/downloads/Einzelgänger/2021-01-28 Miyamoto Musashi | A Life of Ultimate Focus/Miyamoto Musashi | A Life of Ultimate Focus [HUXEqS6GqUU].mp4", "id" => "HUXEqS6GqUU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=HUXEqS6GqUU", "playlist_index" => 10, "timestamp" => 1611846007, "title" => "Miyamoto Musashi | A Life of Ultimate Focus", "upload_date" => "20210128"} 17:11:45.494 [debug] QUERY OK source="sources" db=0.2ms idle=1007.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:45.494 [debug] QUERY OK source="sources" db=0.1ms idle=1007.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:45.495 [debug] QUERY OK source="media_items" db=0.2ms idle=1004.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-01-28 15:00:07Z], 2] 17:11:45.499 [debug] QUERY OK source="media_items" db=3.0ms idle=1003.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Taoism for Inner Peace (book): https://einzelganger.co/tao/\n\nMiyamoto Musashi is one of the most legendary samurai and famed as Japan’s greatest swordsman - undefeated in more than sixty duels. After he escaped death during the Battle of Sekigahara, Musashi became a ronin. Aside from being a swordsman, he was also a philosopher, artist, and well-learned Buddhist. Before he died, Musashi left us with twenty-one principles named Dokkōdō. These are timeless rules that can inspire us today to live well. The majority, if not all, of these rules, help us to establish one thing: ‘focus’.\n\nFocus is the quality of having a concentrated interest or activity on something. Needless to say, ‘focus’ was a crucial component in Musashi’s life, or, what he called ‘the way’, which is a life of ongoing practice. His writings reveal that his lifestyle revolved around restraint, sacrifice, discipline, and not being swayed by pleasure. These virtues were all established by or in support of being able to ‘focus’. Especially when he spent time apart from society, Musashi was only concerned with perfecting his skill, while aiming for enlightenment by the Way of the sword.\n\nThis three-part series elaborates on the twenty-one principles from Musashi’s Dokkōdō. The first part explored the first seven principles. This second part will explore how to live a life of ultimate focus, based on the next seven principles. Please note, the elaborations in this video are based on existing philosophies, the author’s interpretations, and reasoning, and are intended to be an inspiration for present-day life.\n\nSupport the channel:\n✔️ PayPal: https://www.paypal.me/einzelgangerco\n✔️ Patreon: https://www.patreon.com/einzelgangster\n✔️ Bitcoin: 3HQnEz1LQ4G6dqN2LdZgzc7qoJjJCyWjTC\n(Donated BTC and want in the credits? Send me an email with the amount/address)\n\nPurchase my book (affiliate links):\n📘 Paperback: https://amzn.to/2RJYfti\n💻 Ebook: https://amzn.to/35e23a5\n\nMerchandise:\n🛍️ Shop: https://teespring.com/stores/einzelgangerstore\n🛍️ Merchandise design by Punksthetic Art:\nhttps://www.youtube.com/user/JRStoneart\n\n🎵 Music used:\nAll music used is licensed and paid for. \n\nCreative Commons (attributions):\n\nMusashi statue: https://commons.wikimedia.org/wiki/File:Statue_of_Musashi_%26_Kojir%C5%8D_battle.jpg\nJapanese horsemen: https://commons.wikimedia.org/wiki/File:Kobe-keiba6380.JPG\nDokkodo: https://terebess.hu/zen/mesterek/musashi.html\nGo Rin no Sho: https://en.wikipedia.org/wiki/The_Book_of_Five_Rings#/media/File:Go_Rin_No_Sho.gif\nSkull: https://commons.wikimedia.org/wiki/File:A_skull._Oil_painting._Wellcome_V0042218.jpg\nBuddha painting: https://commons.wikimedia.org/wiki/File:Buddha_Fresco_Painting.jpg\nMarcus Aurelius bust: https://commons.wikimedia.org/wiki/File:MarkAurelFront.jpg\nAbstract painting dinner: https://commons.wikimedia.org/wiki/File:Dinner_Party_(SM_lg32).png\nBattle of Sekigahara: https://commons.wikimedia.org/wiki/File:Tokugawa_Vassal_Fortification_at_Battle_of_Sekigahara_(1600).jpg\n\n00:00 - 0) Intro\n01:57 - 8) Never let yourself be saddened by a separation.\n04:03 - 9) Resentment and complaint are appropriate neither for oneself or others.\n05:48 - 10) Do not let yourself be guided by the feeling of lust or love.\n07:25 - 11) In all things have no preferences.\n08:34 - 12) Be indifferent to where you live.\n10:02 - 13) Do not pursue the taste of good food.\n11:51 - 14) Do not hold on to possessions you no longer need.\n\n#miyamotomusashi #dokkodo #ronin", "Miyamoto Musashi | A Life of Ultimate Focus", "493e3c03-3fa5-4125-b2f3-32edb7e7b6f7", 832, false, "HUXEqS6GqUU", "https://www.youtube.com/watch?v=HUXEqS6GqUU", 10, "/downloads/Einzelgänger/2021-01-28 Miyamoto Musashi | A Life of Ultimate Focus/Miyamoto Musashi | A Life of Ultimate Focus [HUXEqS6GqUU].mp4", false, false, false, 2, [], 1, ~U[2021-01-28 15:00:07Z], ~U[2026-09-16 17:11:45Z], ~U[2026-09-16 17:11:45Z], "Taoism for Inner Peace (book): https://einzelganger.co/tao/\n\nMiyamoto Musashi is one of the most legendary samurai and famed as Japan’s greatest swordsman - undefeated in more than sixty duels. After he escaped death during the Battle of Sekigahara, Musashi became a ronin. Aside from being a swordsman, he was also a philosopher, artist, and well-learned Buddhist. Before he died, Musashi left us with twenty-one principles named Dokkōdō. These are timeless rules that can inspire us today to live well. The majority, if not all, of these rules, help us to establish one thing: ‘focus’.\n\nFocus is the quality of having a concentrated interest or activity on something. Needless to say, ‘focus’ was a crucial component in Musashi’s life, or, what he called ‘the way’, which is a life of ongoing practice. His writings reveal that his lifestyle revolved around restraint, sacrifice, discipline, and not being swayed by pleasure. These virtues were all established by or in support of being able to ‘focus’. Especially when he spent time apart from society, Musashi was only concerned with perfecting his skill, while aiming for enlightenment by the Way of the sword.\n\nThis three-part series elaborates on the twenty-one principles from Musashi’s Dokkōdō. The first part explored the first seven principles. This second part will explore how to live a life of ultimate focus, based on the next seven principles. Please note, the elaborations in this video are based on existing philosophies, the author’s interpretations, and reasoning, and are intended to be an inspiration for present-day life.\n\nSupport the channel:\n✔️ PayPal: https://www.paypal.me/einzelgangerco\n✔️ Patreon: https://www.patreon.com/einzelgangster\n✔️ Bitcoin: 3HQnEz1LQ4G6dqN2LdZgzc7qoJjJCyWjTC\n(Donated BTC and want in the credits? Send me an email with the amount/address)\n\nPurchase my book (affiliate links):\n📘 Paperback: https://amzn.to/2RJYfti\n💻 Ebook: https://amzn.to/35e23a5\n\nMerchandise:\n🛍️ Shop: https://teespring.com/stores/einzelgangerstore\n🛍️ Merchandise design by Punksthetic Art:\nhttps://www.youtube.com/user/JRStoneart\n\n🎵 Music used:\nAll music used is licensed and paid for. \n\nCreative Commons (attributions):\n\nMusashi statue: https://commons.wikimedia.org/wiki/File:Statue_of_Musashi_%26_Kojir%C5%8D_battle.jpg\nJapanese horsemen: https://commons.wikimedia.org/wiki/File:Kobe-keiba6380.JPG\nDokkodo: https://terebess.hu/zen/mesterek/musashi.html\nGo Rin no Sho: https://en.wikipedia.org/wiki/The_Book_of_Five_Rings#/media/File:Go_Rin_No_Sho.gif\nSkull: https://commons.wikimedia.org/wiki/File:A_skull._Oil_painting._Wellcome_V0042218.jpg\nBuddha painting: https://commons.wikimedia.org/wiki/File:Buddha_Fresco_Painting.jpg\nMarcus Aurelius bust: https://commons.wikimedia.org/wiki/File:MarkAurelFront.jpg\nAbstract painting dinner: https://commons.wikimedia.org/wiki/File:Dinner_Party_(SM_lg32).png\nBattle of Sekigahara: https://commons.wikimedia.org/wiki/File:Tokugawa_Vassal_Fortification_at_Battle_of_Sekigahara_(1600).jpg\n\n00:00 - 0) Intro\n01:57 - 8) Never let yourself be saddened by a separation.\n04:03 - 9) Resentment and complaint are appropriate neither for oneself or others.\n05:48 - 10) Do not let yourself be guided by the feeling of lust or love.\n07:25 - 11) In all things have no pre (truncated) 17:11:45.499 [debug] QUERY OK source="sources" db=0.2ms idle=138.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:45.500 [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] 17:11:45.500 [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 [40] 17:11:45.500 [debug] Current batch of media processed. Will check again in 1000ms 17:11:45.611 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how memories are formed and how key neurochemicals, such as adrenaline, can be leveraged to enhance memory formation. I also share science-based protocols to enhance learning, strengthen memory recall and reduce the number of repetitions needed to retain new information. In addition, I discuss how exercise supports cognitive function and memory and explore unique memory phenomena such as déjà vu.\n\nShow notes: https://go.hubermanlab.com/kCtk1Nj\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Memory\n00:00:21 Sensory Stimuli & Memory Bias\n00:01:54 Associations & Memory; Tool: Repetition\n00:04:26 Stress, Adrenaline & Strengthening Memories\n00:09:51 Caffeine & Stimulants, Tool: Timing to Enhance Learning & Memory\n00:13:20 Tool: Naps & Sleep for Learning & Memory; Increase Adrenaline, Chronic Stress\n00:19:13 Adrenaline Boosts Memory: Centuries-Old Practice\n00:21:20 Tool: Cardiovascular Exercise & Brain Health, Neurogenesis\n00:23:29 Exercise, Osteocalcin, Hippocampus & Memory\n00:26:55 Tool: Photographs, Mental Snapshots & Improved Memory\n00:29:54 Déjà Vu\n00:32:08 Tool: Brief Mediation Practice to Enhance Memory\n00:34:24 Recap\n\n#hubermanlab #memory #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2150, "filename" => "/downloads/Andrew Huberman/2026-04-16 Understand & Improve Memory Using Science-Based Tools | Huberman Lab Essentials/Understand & Improve Memory Using Science-Based Tools | Huberman Lab Essentials [U6dnOVth7-I].mp4", "id" => "U6dnOVth7-I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=U6dnOVth7-I", "playlist_index" => 22, "timestamp" => 1776340852, "title" => "Understand & Improve Memory Using Science-Based Tools | Huberman Lab Essentials", "upload_date" => "20260416"} 17:11:45.611 [debug] QUERY OK source="sources" db=0.2ms idle=116.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:45.612 [debug] QUERY OK source="sources" db=0.1ms idle=113.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:45.612 [debug] QUERY OK source="media_items" db=0.4ms idle=112.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-16 12:00:52Z], 4] 17:11:45.615 [debug] QUERY OK source="media_items" db=1.3ms idle=113.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how memories are formed and how key neurochemicals, such as adrenaline, can be leveraged to enhance memory formation. I also share science-based protocols to enhance learning, strengthen memory recall and reduce the number of repetitions needed to retain new information. In addition, I discuss how exercise supports cognitive function and memory and explore unique memory phenomena such as déjà vu.\n\nShow notes: https://go.hubermanlab.com/kCtk1Nj\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Memory\n00:00:21 Sensory Stimuli & Memory Bias\n00:01:54 Associations & Memory; Tool: Repetition\n00:04:26 Stress, Adrenaline & Strengthening Memories\n00:09:51 Caffeine & Stimulants, Tool: Timing to Enhance Learning & Memory\n00:13:20 Tool: Naps & Sleep for Learning & Memory; Increase Adrenaline, Chronic Stress\n00:19:13 Adrenaline Boosts Memory: Centuries-Old Practice\n00:21:20 Tool: Cardiovascular Exercise & Brain Health, Neurogenesis\n00:23:29 Exercise, Osteocalcin, Hippocampus & Memory\n00:26:55 Tool: Photographs, Mental Snapshots & Improved Memory\n00:29:54 Déjà Vu\n00:32:08 Tool: Brief Mediation Practice to Enhance Memory\n00:34:24 Recap\n\n#hubermanlab #memory #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Understand & Improve Memory Using Science-Based Tools | Huberman Lab Essentials", "958d7c11-2295-4f58-8fcb-57f26038812f", 2150, false, "U6dnOVth7-I", "https://www.youtube.com/watch?v=U6dnOVth7-I", 22, "/downloads/Andrew Huberman/2026-04-16 Understand & Improve Memory Using Science-Based Tools | Huberman Lab Essentials/Understand & Improve Memory Using Science-Based Tools | Huberman Lab Essentials [U6dnOVth7-I].mp4", false, false, false, 4, [], 1, ~U[2026-04-16 12:00:52Z], ~U[2026-09-16 17:11:45Z], ~U[2026-09-16 17:11:45Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how memories are formed and how key neurochemicals, such as adrenaline, can be leveraged to enhance memory formation. I also share science-based protocols to enhance learning, strengthen memory recall and reduce the number of repetitions needed to retain new information. In addition, I discuss how exercise supports cognitive function and memory and explore unique memory phenomena such as déjà vu.\n\nShow notes: https://go.hubermanlab.com/kCtk1Nj\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Memory\n00:00:21 Sensory Stimuli & Memory Bias\n00:01:54 Associations & Memory; Tool: Repetition\n00:04:26 Stress, Adrenaline & Strengthening Memories\n00:09:51 Caffeine & Stimulants, Tool: Timing to Enhance Learning & Memory\n00:13:20 Tool: Naps & Sleep for Learning & Memory; Increase Adrenaline, Chronic Stress\n00:19:13 Adrenaline Boosts Memory: Centuries-Old Practice\n00:21:20 Tool: Cardiovascular Exercise & Brain Health, Neurogenesis\n00:23:29 Exercise, Osteocalcin, Hippocampus & Memory\n00:26:55 Tool: Photographs, Mental Snapshots & Improved Memory\n00:29:54 Déjà Vu\n00:32:08 Tool: Brief Mediation Practice to Enhance Memory\n00:34:24 Recap\n\n#hubermanlab #memory #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Understand & Improve Memory Using Science-Based Tools | Huberman Lab Essentials", 2150, false, "U6dnOVth7-I", "https://www.youtube.com/watch?v=U6dnOVth7-I", "/downloads/Andrew Huberman/2026-04-16 Understand & Improve Memory Using Science-Based Tools | Huberman Lab Essentials/Understand & Improve Memory Using Science-Based Tools | Huberman Lab Essentials [U6dnOVth7-I].mp4", false, 4, ~U[2026-04-16 12:00:52Z]] 17:11:45.615 [debug] QUERY OK source="sources" db=0.1ms idle=114.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:45.615 [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] 17:11:45.616 [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 [8935] 17:11:45.616 [debug] Current batch of media processed. Will check again in 1000ms 17:11:46.501 [debug] Current batch of media processed. Will check again in 1000ms 17:11:46.617 [debug] Current batch of media processed. Will check again in 1000ms 17:11:47.502 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for Motivational Videos Every Weekday, Helping You Get Through The Week! http://bit.ly/MotivationVideos\n\nhttps://bit.ly/MotivationMadness_Mindset 👈 Follow us on Mindset app for free and get the best motivational speeches to start your day right.\n\nFollow us on:\nInstagram: http://bit.ly/2rhGNMY\nFacebook: http://bit.ly/2r85DC3\n\nSpeaker: Jordan Peterson\nYouTube: https://www.youtube.com/user/JordanPetersonVideos\nTwitter: https://twitter.com/jordanbpeterson\nDonation Link: https://www.jordanbpeterson.com/donate\n\nBuy His Books\n12 Rules of Life: An Antidote to Chaos - https://geni.us/zyW4\nMaps of Meaning: The Architecture of Belief - https://geni.us/mpgzkxA\n\nSong @ 39:57\nWhitesand - Circle of Life\nYouTube: https://www.youtube.com/watch?v=xLD7nFdwYlk\nSpotify: https://open.spotify.com/track/25Q1uP8uOuW602p1JD2Q5M?si=b51bd07f7aad455a\nInstagram: https://www.instagram.com/martynas_lau\nWebtsite: https://whitesandcomposer.com/\n\n----------------------------------------­­-------------------------\n\nFootage licensed through Filmpac, RawFilm, Artgrid, and Videoblocks.\nAudio Licensed through AudioJungle & Various Partnerships\n\n----------------------------------------­­-------------------------\n\nYouTube Disclaimer:\nWe own commercial licenses for all the content used in this video and it was fully edited by us.\n\nHelp us caption & translate this video!\nhttp://bit.ly/Translate4Motivation", "duration" => 2460, "filename" => "/downloads/Motivation Madness/2024-03-18 Jordan Peterson । 40 Minutes for the NEXT 40 Years of Your LIFE/Jordan Peterson । 40 Minutes for the NEXT 40 Years of Your LIFE [IQbcbBM2MOQ].mp4", "id" => "IQbcbBM2MOQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IQbcbBM2MOQ", "playlist_index" => 11, "timestamp" => 1710761409, "title" => "Jordan Peterson । 40 Minutes for the NEXT 40 Years of Your LIFE", "upload_date" => "20240318"} 17:11:47.502 [debug] QUERY OK source="sources" db=0.2ms idle=754.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:47.503 [debug] QUERY OK source="sources" db=0.3ms idle=754.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:47.504 [debug] QUERY OK source="media_items" db=0.4ms idle=755.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-03-18 11:30:09Z], 2] 17:11:47.506 [debug] QUERY OK source="media_items" db=1.4ms idle=756.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for Motivational Videos Every Weekday, Helping You Get Through The Week! http://bit.ly/MotivationVideos\n\nhttps://bit.ly/MotivationMadness_Mindset 👈 Follow us on Mindset app for free and get the best motivational speeches to start your day right.\n\nFollow us on:\nInstagram: http://bit.ly/2rhGNMY\nFacebook: http://bit.ly/2r85DC3\n\nSpeaker: Jordan Peterson\nYouTube: https://www.youtube.com/user/JordanPetersonVideos\nTwitter: https://twitter.com/jordanbpeterson\nDonation Link: https://www.jordanbpeterson.com/donate\n\nBuy His Books\n12 Rules of Life: An Antidote to Chaos - https://geni.us/zyW4\nMaps of Meaning: The Architecture of Belief - https://geni.us/mpgzkxA\n\nSong @ 39:57\nWhitesand - Circle of Life\nYouTube: https://www.youtube.com/watch?v=xLD7nFdwYlk\nSpotify: https://open.spotify.com/track/25Q1uP8uOuW602p1JD2Q5M?si=b51bd07f7aad455a\nInstagram: https://www.instagram.com/martynas_lau\nWebtsite: https://whitesandcomposer.com/\n\n----------------------------------------­­-------------------------\n\nFootage licensed through Filmpac, RawFilm, Artgrid, and Videoblocks.\nAudio Licensed through AudioJungle & Various Partnerships\n\n----------------------------------------­­-------------------------\n\nYouTube Disclaimer:\nWe own commercial licenses for all the content used in this video and it was fully edited by us.\n\nHelp us caption & translate this video!\nhttp://bit.ly/Translate4Motivation", "Jordan Peterson । 40 Minutes for the NEXT 40 Years of Your LIFE", "f4aa1236-3900-4ec0-972b-9323b49f882d", 2460, false, "IQbcbBM2MOQ", "https://www.youtube.com/watch?v=IQbcbBM2MOQ", 11, "/downloads/Motivation Madness/2024-03-18 Jordan Peterson । 40 Minutes for the NEXT 40 Years of Your LIFE/Jordan Peterson । 40 Minutes for the NEXT 40 Years of Your LIFE [IQbcbBM2MOQ].mp4", false, false, false, 2, [], 1, ~U[2024-03-18 11:30:09Z], ~U[2026-09-16 17:11:47Z], ~U[2026-09-16 17:11:47Z], "Subscribe for Motivational Videos Every Weekday, Helping You Get Through The Week! http://bit.ly/MotivationVideos\n\nhttps://bit.ly/MotivationMadness_Mindset 👈 Follow us on Mindset app for free and get the best motivational speeches to start your day right.\n\nFollow us on:\nInstagram: http://bit.ly/2rhGNMY\nFacebook: http://bit.ly/2r85DC3\n\nSpeaker: Jordan Peterson\nYouTube: https://www.youtube.com/user/JordanPetersonVideos\nTwitter: https://twitter.com/jordanbpeterson\nDonation Link: https://www.jordanbpeterson.com/donate\n\nBuy His Books\n12 Rules of Life: An Antidote to Chaos - https://geni.us/zyW4\nMaps of Meaning: The Architecture of Belief - https://geni.us/mpgzkxA\n\nSong @ 39:57\nWhitesand - Circle of Life\nYouTube: https://www.youtube.com/watch?v=xLD7nFdwYlk\nSpotify: https://open.spotify.com/track/25Q1uP8uOuW602p1JD2Q5M?si=b51bd07f7aad455a\nInstagram: https://www.instagram.com/martynas_lau\nWebtsite: https://whitesandcomposer.com/\n\n----------------------------------------­­-------------------------\n\nFootage licensed through Filmpac, RawFilm, Artgrid, and Videoblocks.\nAudio Licensed through AudioJungle & Various Partnerships\n\n----------------------------------------­­-------------------------\n\nYouTube Disclaimer:\nWe own commercial licenses for all the content used in this video and it was fully edited by us.\n\nHelp us caption & translate this video!\nhttp://bit.ly/Translate4Motivation", "Jordan Peterson । 40 Minutes for the NEXT 40 Years of Your LIFE", 2460, false, "IQbcbBM2MOQ", "https://www.youtube.com/watch?v=IQbcbBM2MOQ", "/downloads/Motivation Madness/2024-03-18 Jordan Peterson । 40 Minutes for the NEXT 40 Years of Your LIFE/Jordan Peterson । 40 Minutes for the NEXT 40 Years of Your LIFE [IQbcbBM2MOQ].mp4", false, 2, ~U[2024-03-18 11:30:09Z]] 17:11:47.507 [debug] QUERY OK source="sources" db=0.2ms idle=144.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:47.507 [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] 17:11:47.508 [debug] QUERY OK source="media_items" db=0.3ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [42] 17:11:47.508 [debug] Current batch of media processed. Will check again in 1000ms 17:11:47.618 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Anderson, PhD, a professor of biology at the California Institute of Technology (Caltech) and an investigator at the Howard Hughes Medical Institute (HHMI). We discuss the brain circuits that underlie how emotions emerge and shape behaviors, including the neural control of fear, aggression and pain. We also explore how hormones and neuromodulators influence these emotional states, and why understanding these hidden internal processes is essential for improving future mental health treatments.\n\nShow notes: https://go.hubermanlab.com/blBjp0e\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. David Anderson\nCaltech academic profile: https://davidandersonlab.caltech.edu/people/professor-david-j-anderson\nThe Nature of the Beast (book): https://amzn.to/3qsrdOH\nLab website: https://davidandersonlab.caltech.edu \nPublications: https://scholar.google.com/citations?user=C88XVPQAAAAJ\n\nTimestamps\n00:00:00 David Anderson\n00:00:20 Emotions vs States\n00:01:53 Emotion Qualities: Persistence & Generalization\n00:04:04 Aggression \n00:06:39 Evolution of Fear & Aggression, Offensive vs Defensive Aggression\n00:08:55 Homeostatic Behaviors & Hydraulic Pressure\n00:11:56 Testosterone, Estrogen & Aggression\n00:13:49 Female vs Male Aggression\n00:15:46 Mating Behavior & Aggression; Sexual Violence\n00:19:21 Periaqueductal Gray, Pain Control & Fighting\n00:23:36 Tachykinin, Pain, Social Isolation & Aggression\n00:28:08 Emotions & Somatic Feeling; Vagus Nerve\n00:32:48 Acknowledgements & Future Direction\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2048, "filename" => "/downloads/Andrew Huberman/2026-04-09 Essentials: The Biology of Aggression, Mating & Arousal | Dr. David Anderson/Essentials: The Biology of Aggression, Mating & Arousal | Dr. David Anderson [xZ4I2aE8zQA].mp4", "id" => "xZ4I2aE8zQA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xZ4I2aE8zQA", "playlist_index" => 23, "timestamp" => 1775736111, "title" => "Essentials: The Biology of Aggression, Mating & Arousal | Dr. David Anderson", "upload_date" => "20260409"} 17:11:47.619 [debug] QUERY OK source="sources" db=0.5ms idle=114.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:47.619 [debug] QUERY OK source="sources" db=0.3ms idle=113.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:47.620 [debug] QUERY OK source="media_items" db=0.6ms idle=112.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-09 12:01:51Z], 4] 17:11:47.623 [debug] QUERY OK source="media_items" db=2.2ms idle=113.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Anderson, PhD, a professor of biology at the California Institute of Technology (Caltech) and an investigator at the Howard Hughes Medical Institute (HHMI). We discuss the brain circuits that underlie how emotions emerge and shape behaviors, including the neural control of fear, aggression and pain. We also explore how hormones and neuromodulators influence these emotional states, and why understanding these hidden internal processes is essential for improving future mental health treatments.\n\nShow notes: https://go.hubermanlab.com/blBjp0e\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. David Anderson\nCaltech academic profile: https://davidandersonlab.caltech.edu/people/professor-david-j-anderson\nThe Nature of the Beast (book): https://amzn.to/3qsrdOH\nLab website: https://davidandersonlab.caltech.edu \nPublications: https://scholar.google.com/citations?user=C88XVPQAAAAJ\n\nTimestamps\n00:00:00 David Anderson\n00:00:20 Emotions vs States\n00:01:53 Emotion Qualities: Persistence & Generalization\n00:04:04 Aggression \n00:06:39 Evolution of Fear & Aggression, Offensive vs Defensive Aggression\n00:08:55 Homeostatic Behaviors & Hydraulic Pressure\n00:11:56 Testosterone, Estrogen & Aggression\n00:13:49 Female vs Male Aggression\n00:15:46 Mating Behavior & Aggression; Sexual Violence\n00:19:21 Periaqueductal Gray, Pain Control & Fighting\n00:23:36 Tachykinin, Pain, Social Isolation & Aggression\n00:28:08 Emotions & Somatic Feeling; Vagus Nerve\n00:32:48 Acknowledgements & Future Direction\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Biology of Aggression, Mating & Arousal | Dr. David Anderson", "71041edd-bbf3-435d-9e19-1160a702c911", 2048, false, "xZ4I2aE8zQA", "https://www.youtube.com/watch?v=xZ4I2aE8zQA", 23, "/downloads/Andrew Huberman/2026-04-09 Essentials: The Biology of Aggression, Mating & Arousal | Dr. David Anderson/Essentials: The Biology of Aggression, Mating & Arousal | Dr. David Anderson [xZ4I2aE8zQA].mp4", false, false, false, 4, [], 1, ~U[2026-04-09 12:01:51Z], ~U[2026-09-16 17:11:47Z], ~U[2026-09-16 17:11:47Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Anderson, PhD, a professor of biology at the California Institute of Technology (Caltech) and an investigator at the Howard Hughes Medical Institute (HHMI). We discuss the brain circuits that underlie how emotions emerge and shape behaviors, including the neural control of fear, aggression and pain. We also explore how hormones and neuromodulators influence these emotional states, and why understanding these hidden internal processes is essential for improving future mental health treatments.\n\nShow notes: https://go.hubermanlab.com/blBjp0e\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. David Anderson\nCaltech academic profile: https://davidandersonlab.caltech.edu/people/professor-david-j-anderson\nThe Nature of the Beast (book): https://amzn.to/3qsrdOH\nLab website: https://davidandersonlab.caltech.edu \nPublications: https://scholar.google.com/citations?user=C88XVPQAAAAJ\n\nTimestamps\n00:00:00 David Anderson\n00:00:20 Emotions vs States\n00:01:53 Emotion Qualities: Persistence & Generalization\n00:04:04 Aggression \n00:06:39 Evolution of Fear & Aggression, Offensive vs Defensive Aggression\n00:08:55 Homeostatic Behaviors & Hydraulic Pressure\n00:11:56 Testosterone, Estrogen & Aggression\n00:13:49 Female vs Male Aggression\n00:15:46 Mating Behavior & Aggression; Sexual Violence\n00:19:21 Periaqueductal Gray, Pain Control & Fighting\n00:23:36 Tachykinin, Pain, Social Isolation & Aggression\n00:28:08 Emotions & Somatic Feeling; Vagus Nerve\n00:32:48 Acknowledgements & Future Direction\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Biology of Aggression, Mating & Arousal | Dr. David Anderson", 2048, false, "xZ4I2aE8zQA", "https://www.youtube.com/watch?v=xZ4I2aE8zQA", "/downloads/Andrew Huberman/2026-04-09 Essentials: The Biology of Aggression, Mating & Arousal | Dr. David Anderson/Essentials: The Biology of Aggression, Mating & Arousal | Dr. David Anderson [xZ4I2aE8zQA].mp4", false, 4, ~U[2026-04-09 12:01:51Z]] 17:11:47.624 [debug] QUERY OK source="sources" db=0.5ms idle=115.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:47.625 [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] 17:11:47.625 [debug] QUERY OK source="media_items" db=0.4ms idle=5.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6796] 17:11:47.625 [debug] Current batch of media processed. Will check again in 1000ms 17:11:48.509 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A old man's advice", "duration" => 619, "filename" => "/downloads/Bernard Albertson/2015-05-17 A old man's advice/A old man's advice [JhckVlgYZJE].mp4", "id" => "JhckVlgYZJE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JhckVlgYZJE", "playlist_index" => 12, "timestamp" => 1431870469, "title" => "A old man's advice", "upload_date" => "20150517"} 17:11:48.509 [debug] QUERY OK source="sources" db=0.2ms idle=886.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:48.510 [debug] QUERY OK source="sources" db=0.1ms idle=885.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:48.510 [debug] QUERY OK source="media_items" db=0.2ms idle=885.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2015-05-17 13:47:49Z], 2] 17:11:48.512 [debug] QUERY OK source="media_items" db=1.3ms idle=885.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A old man's advice", "A old man's advice", "b74564ee-b157-4119-9016-70fe43914685", 619, false, "JhckVlgYZJE", "https://www.youtube.com/watch?v=JhckVlgYZJE", 12, "/downloads/Bernard Albertson/2015-05-17 A old man's advice/A old man's advice [JhckVlgYZJE].mp4", false, false, false, 2, [], 1, ~U[2015-05-17 13:47:49Z], ~U[2026-09-16 17:11:48Z], ~U[2026-09-16 17:11:48Z], "A old man's advice", "A old man's advice", 619, false, "JhckVlgYZJE", "https://www.youtube.com/watch?v=JhckVlgYZJE", "/downloads/Bernard Albertson/2015-05-17 A old man's advice/A old man's advice [JhckVlgYZJE].mp4", false, 2, ~U[2015-05-17 13:47:49Z]] 17:11:48.512 [debug] QUERY OK source="sources" db=0.1ms idle=148.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:48.513 [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] 17:11:48.513 [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 [45] 17:11:48.513 [debug] Current batch of media processed. Will check again in 1000ms 17:11:48.627 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Andy Galpin, PhD, Executive Director of the Human Performance Center at Parker University and an expert in building strength and muscle size (hypertrophy). We cover the core principles and protocols for building strength and muscle, including science-based guidance on reps, sets, frequency and rest intervals. We also discuss how breathing and mental focus can enhance training and how post-workout downregulation can speed recovery.\n\nShow notes: https://go.hubermanlab.com/y8QLDGd\n\nSubscribe to Perform with Dr. Andy Galpin: https://www.performpodcast.com/subscribe\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Andy Galpin\nX: https://x.com/DrAndyGalpin\nInstagram: https://www.instagram.com/drandygalpin\nYouTube: https://www.youtube.com/@drandygalpin\nWebsite: https://www.andygalpin.com\nPerform with Dr. Andy Galpin (podcast): https://www.performpodcast.com\n\n*Timestamps*\n00:00:00 Andy Galpin\n00:00:39 9 Exercise Adaptations; Progressive Overload\n00:03:53 Progressive Overload, One-Rep Max, Soreness, Tool: Modifiable Variables\n00:08:39 Full-Body Workout, Exercise Selection\n00:11:11 Training Intensity, Repetitions, Sets, Rest Intervals, Supersets\n00:14:51 Hypertrophy vs Strength Training Recovery\n00:17:06 Training Volume & Frequency for Hypertrophy\n00:18:59 Hypertrophy Rep Ranges, Frequency & Recovery; Cell Mechanisms\n00:22:31 Tool: 3 x 5 Protocol; Power vs Strength\n00:24:08 Mental Awareness in Training; Mind-Muscle Connection\n00:27:10 Activating Muscle Groups, Awareness, Tool: Eccentric Overload\n00:29:26 Tool: Resistance Training Breathing & Post-Training\n00:33:42 Acknowledgments\n\n#HubermanLab #Strength #Fitness\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2066, "filename" => "/downloads/Andrew Huberman/2026-04-02 Essentials: How to Build Strength, Muscle Size & Endurance | Dr. Andy Galpin/Essentials: How to Build Strength, Muscle Size & Endurance | Dr. Andy Galpin [0VSOoMuStvg].mp4", "id" => "0VSOoMuStvg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0VSOoMuStvg", "playlist_index" => 24, "timestamp" => 1775131202, "title" => "Essentials: How to Build Strength, Muscle Size & Endurance | Dr. Andy Galpin", "upload_date" => "20260402"} 17:11:48.627 [debug] QUERY OK source="sources" db=0.2ms idle=117.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:48.628 [debug] QUERY OK source="sources" db=0.1ms idle=115.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:48.629 [debug] QUERY OK source="media_items" db=0.4ms idle=115.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-02 12:00:02Z], 4] 17:11:49.515 [debug] Current batch of media processed. Will check again in 1000ms 17:11:50.026 [debug] QUERY OK source="media_items" db=1396.8ms idle=116.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Andy Galpin, PhD, Executive Director of the Human Performance Center at Parker University and an expert in building strength and muscle size (hypertrophy). We cover the core principles and protocols for building strength and muscle, including science-based guidance on reps, sets, frequency and rest intervals. We also discuss how breathing and mental focus can enhance training and how post-workout downregulation can speed recovery.\n\nShow notes: https://go.hubermanlab.com/y8QLDGd\n\nSubscribe to Perform with Dr. Andy Galpin: https://www.performpodcast.com/subscribe\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Andy Galpin\nX: https://x.com/DrAndyGalpin\nInstagram: https://www.instagram.com/drandygalpin\nYouTube: https://www.youtube.com/@drandygalpin\nWebsite: https://www.andygalpin.com\nPerform with Dr. Andy Galpin (podcast): https://www.performpodcast.com\n\n*Timestamps*\n00:00:00 Andy Galpin\n00:00:39 9 Exercise Adaptations; Progressive Overload\n00:03:53 Progressive Overload, One-Rep Max, Soreness, Tool: Modifiable Variables\n00:08:39 Full-Body Workout, Exercise Selection\n00:11:11 Training Intensity, Repetitions, Sets, Rest Intervals, Supersets\n00:14:51 Hypertrophy vs Strength Training Recovery\n00:17:06 Training Volume & Frequency for Hypertrophy\n00:18:59 Hypertrophy Rep Ranges, Frequency & Recovery; Cell Mechanisms\n00:22:31 Tool: 3 x 5 Protocol; Power vs Strength\n00:24:08 Mental Awareness in Training; Mind-Muscle Connection\n00:27:10 Activating Muscle Groups, Awareness, Tool: Eccentric Overload\n00:29:26 Tool: Resistance Training Breathing & Post-Training\n00:33:42 Acknowledgments\n\n#HubermanLab #Strength #Fitness\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Build Strength, Muscle Size & Endurance | Dr. Andy Galpin", "b07d56e1-262c-460a-ba96-36109fdbabd3", 2066, false, "0VSOoMuStvg", "https://www.youtube.com/watch?v=0VSOoMuStvg", 24, "/downloads/Andrew Huberman/2026-04-02 Essentials: How to Build Strength, Muscle Size & Endurance | Dr. Andy Galpin/Essentials: How to Build Strength, Muscle Size & Endurance | Dr. Andy Galpin [0VSOoMuStvg].mp4", false, false, false, 4, [], 1, ~U[2026-04-02 12:00:02Z], ~U[2026-09-16 17:11:48Z], ~U[2026-09-16 17:11:48Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Andy Galpin, PhD, Executive Director of the Human Performance Center at Parker University and an expert in building strength and muscle size (hypertrophy). We cover the core principles and protocols for building strength and muscle, including science-based guidance on reps, sets, frequency and rest intervals. We also discuss how breathing and mental focus can enhance training and how post-workout downregulation can speed recovery.\n\nShow notes: https://go.hubermanlab.com/y8QLDGd\n\nSubscribe to Perform with Dr. Andy Galpin: https://www.performpodcast.com/subscribe\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Andy Galpin\nX: https://x.com/DrAndyGalpin\nInstagram: https://www.instagram.com/drandygalpin\nYouTube: https://www.youtube.com/@drandygalpin\nWebsite: https://www.andygalpin.com\nPerform with Dr. Andy Galpin (podcast): https://www.performpodcast.com\n\n*Timestamps*\n00:00:00 Andy Galpin\n00:00:39 9 Exercise Adaptations; Progressive Overload\n00:03:53 Progressive Overload, One-Rep Max, Soreness, Tool: Modifiable Variables\n00:08:39 Full-Body Workout, Exercise Selection\n00:11:11 Training Intensity, Repetitions, Sets, Rest Intervals, Supersets\n00:14:51 Hypertrophy vs Strength Training Recovery\n00:17:06 Training Volume & Frequency for Hypertrophy\n00:18:59 Hypertrophy Rep Ranges, Frequency & Recovery; Cell Mechanisms\n00:22:31 Tool: 3 x 5 Protocol; Power vs Strength\n00:24:08 Mental Awareness in Training; Mind-Muscle Connection\n00:27:10 Activating Muscle Groups, Awareness, Tool: Eccentric Overload\n00:29:26 Tool: Resistance Training Breathing & Post-Training\n00:33:42 Acknowledgments\n\n#HubermanLab #Strength #Fitness\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Build Strength, Muscle Size & Endurance | Dr. Andy Galpin", 2066, false, "0VSOoMuStvg", "https://www.youtube.com/watch?v=0VSOoMuStvg", "/downloads/Andrew Huberman/2026-04-02 Essentials: How to Build Strength, Muscle Size & Endurance | Dr. Andy Galpin/Essentials: How to Build Strength, Muscle Size & Endurance | Dr. Andy Galpin [0VSOoMuStvg].mp4", false, 4, ~U[2026-04-02 12:00:02Z]] 17:11:50.027 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=662.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:50.028 [debug] QUERY OK source="media_profiles" db=0.2ms idle=278.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] 17:11:50.028 [debug] QUERY OK source="media_items" db=0.3ms idle=279.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 [4673] 17:11:50.029 [debug] Current batch of media processed. Will check again in 1000ms 17:11:50.516 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS!\n\nSimon Sinek on LOVE and LEADERSHIP\n\nVideo & Interview, Thanks and Credit to Tom Bilyeu:\nhttps://www.youtube.com/channel/UCnYMOamNKLGVlJgRUbamveA\n\nSpeaker: SIMON SINEK:\nhttps://www.youtube.com/user/SimonSinek\n\nEdit by: Fearless Soul\n\nDownload or stream our inspirational speeches now on:\nApple Music/iTunes: https://music.apple.com/artist/fearless-soul/1076763241\nSpotify: https://open.spotify.com/artist/0w4xMjggr1TBiQbbOHOS8x?si=sQ6WTwzoTR-2P_z0cGGbkw\nMp3 Downloads: https://teamfearless.com/mp3-downloads-cds/\nAmazonMP3: https://amzn.to/2TrdhaN\n\nTranscript: https://iamfearlesssoul.com/simon-sinek-real-reason-people-fall-and-stay-in-love/\n\nMusic by: Fearless Motivation Instrumentals\nALBUM: Abounding Ambient\n\n\"She fell in love with you because when you went to the fridge to get yourself a drink, you got her one without even asking. She fell in love with you because when you had an amazing day at work, and she came home and she had a terrible day at work, you didn't say \"Yeah, yeah, yeah, but let me tell you about my day.\" You sat and listened to her awful day, and you didn't say a thing about your amazing day. This is why she fell in love with you.\"\n\nOfficial Website:\nhttp://www.iamfearlesssoul.com\n\nLet's Be Friends On Facebook!\nhttps://www.facebook.com/iamfearlesssoul/\n\n1 MILLION FOLLOWERS ON TWITTER:\nhttps://twitter.com/911well\nhttps://twitter.com/iamfearlesssoul\n\nINSTAGRAM:\nhttp://www.instagram.com/iamfearlesssoul/\n\nLISTEN TO FEARLESS SOUL, every day on your phone:\niTunes: https://goo.gl/5qhzcv\nSpotify: https://goo.gl/pLpJSt\nGooglePlay: https://goo.gl/X6racV\nAmazonMP3: https://amzn.to/2LIEJrK\nApple Music: https://goo.gl/5qhzcv\nWorldwide MP3 Download: https://goo.gl/UVXmbM\n\nIf you loved this, please share the video and spread the message on Social Media using the share links in this video.\n\n#SimonSinek #Love #Relationships", "duration" => 692, "filename" => "/downloads/Fearless Soul/2018-11-21 If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS!/If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS! [01ZCnCXpG4A].mp4", "id" => "01ZCnCXpG4A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=01ZCnCXpG4A", "playlist_index" => 13, "timestamp" => 1542772899, "title" => "If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS!", "upload_date" => "20181121"} 17:11:50.517 [debug] QUERY OK source="sources" db=0.3ms idle=490.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:50.517 [debug] QUERY OK source="sources" db=0.1ms idle=489.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:50.517 [debug] QUERY OK source="media_items" db=0.2ms idle=489.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-11-21 04:01:39Z], 2] 17:11:50.523 [debug] QUERY OK source="media_items" db=4.4ms idle=489.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS!\n\nSimon Sinek on LOVE and LEADERSHIP\n\nVideo & Interview, Thanks and Credit to Tom Bilyeu:\nhttps://www.youtube.com/channel/UCnYMOamNKLGVlJgRUbamveA\n\nSpeaker: SIMON SINEK:\nhttps://www.youtube.com/user/SimonSinek\n\nEdit by: Fearless Soul\n\nDownload or stream our inspirational speeches now on:\nApple Music/iTunes: https://music.apple.com/artist/fearless-soul/1076763241\nSpotify: https://open.spotify.com/artist/0w4xMjggr1TBiQbbOHOS8x?si=sQ6WTwzoTR-2P_z0cGGbkw\nMp3 Downloads: https://teamfearless.com/mp3-downloads-cds/\nAmazonMP3: https://amzn.to/2TrdhaN\n\nTranscript: https://iamfearlesssoul.com/simon-sinek-real-reason-people-fall-and-stay-in-love/\n\nMusic by: Fearless Motivation Instrumentals\nALBUM: Abounding Ambient\n\n\"She fell in love with you because when you went to the fridge to get yourself a drink, you got her one without even asking. She fell in love with you because when you had an amazing day at work, and she came home and she had a terrible day at work, you didn't say \"Yeah, yeah, yeah, but let me tell you about my day.\" You sat and listened to her awful day, and you didn't say a thing about your amazing day. This is why she fell in love with you.\"\n\nOfficial Website:\nhttp://www.iamfearlesssoul.com\n\nLet's Be Friends On Facebook!\nhttps://www.facebook.com/iamfearlesssoul/\n\n1 MILLION FOLLOWERS ON TWITTER:\nhttps://twitter.com/911well\nhttps://twitter.com/iamfearlesssoul\n\nINSTAGRAM:\nhttp://www.instagram.com/iamfearlesssoul/\n\nLISTEN TO FEARLESS SOUL, every day on your phone:\niTunes: https://goo.gl/5qhzcv\nSpotify: https://goo.gl/pLpJSt\nGooglePlay: https://goo.gl/X6racV\nAmazonMP3: https://amzn.to/2LIEJrK\nApple Music: https://goo.gl/5qhzcv\nWorldwide MP3 Download: https://goo.gl/UVXmbM\n\nIf you loved this, please share the video and spread the message on Social Media using the share links in this video.\n\n#SimonSinek #Love #Relationships", "If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS!", "6030890f-d6ce-4a00-93e8-902fb7a89927", 692, false, "01ZCnCXpG4A", "https://www.youtube.com/watch?v=01ZCnCXpG4A", 13, "/downloads/Fearless Soul/2018-11-21 If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS!/If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS! [01ZCnCXpG4A].mp4", false, false, false, 2, [], 1, ~U[2018-11-21 04:01:39Z], ~U[2026-09-16 17:11:50Z], ~U[2026-09-16 17:11:50Z], "If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS!\n\nSimon Sinek on LOVE and LEADERSHIP\n\nVideo & Interview, Thanks and Credit to Tom Bilyeu:\nhttps://www.youtube.com/channel/UCnYMOamNKLGVlJgRUbamveA\n\nSpeaker: SIMON SINEK:\nhttps://www.youtube.com/user/SimonSinek\n\nEdit by: Fearless Soul\n\nDownload or stream our inspirational speeches now on:\nApple Music/iTunes: https://music.apple.com/artist/fearless-soul/1076763241\nSpotify: https://open.spotify.com/artist/0w4xMjggr1TBiQbbOHOS8x?si=sQ6WTwzoTR-2P_z0cGGbkw\nMp3 Downloads: https://teamfearless.com/mp3-downloads-cds/\nAmazonMP3: https://amzn.to/2TrdhaN\n\nTranscript: https://iamfearlesssoul.com/simon-sinek-real-reason-people-fall-and-stay-in-love/\n\nMusic by: Fearless Motivation Instrumentals\nALBUM: Abounding Ambient\n\n\"She fell in love with you because when you went to the fridge to get yourself a drink, you got her one without even asking. She fell in love with you because when you had an amazing day at work, and she came home and she had a terrible day at work, you didn't say \"Yeah, yeah, yeah, but let me tell you about my day.\" You sat and listened to her awful day, and you didn't say a thing about your amazing day. This is why she fell in love with you.\"\n\nOfficial Website:\nhttp://www.iamfearlesssoul.com\n\nLet's Be Friends On Facebook!\nhttps://www.facebook.com/iamfearlesssoul/\n\n1 MILLION FOLLOWERS ON TWITTER:\nhttps://twitter.com/911well\nhttps://twitter.com/iamfearlesssoul\n\nINSTAGRAM:\nhttp://www.instagram.com/iamfearlesssoul/\n\nLISTEN TO FEARLESS SOUL, every day on your phone:\niTunes: https://goo.gl/5qhzcv\nSpotify: https://goo.gl/pLpJSt\nGooglePlay: https://goo.gl/X6racV\nAmazonMP3: https://amzn.to/2LIEJrK\nApple Music: https://goo.gl/5qhzcv\nWorldwide MP3 Download: https://goo.gl/UVXmbM\n\nIf you loved this, please share the video and spread the message on Social Media using the share links in this video.\n\n#SimonSinek #Love #Relationships", "If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS!", 692, false, "01ZCnCXpG4A", "https://www.youtube.com/watch?v=01ZCnCXpG4A", "/downloads/Fearless Soul/2018-11-21 If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS!/If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS! [01ZCnCXpG4A].mp4", false, 2, ~U[2018-11-21 04:01:39Z]] 17:11:50.523 [debug] QUERY OK source="sources" db=0.2ms idle=154.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:50.524 [debug] QUERY OK source="media_profiles" db=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] 17:11:50.524 [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 [47] 17:11:50.524 [debug] FileFollowerServer Handler: Got media attributes: %{"filename" => "/downloads/NA/NA youtube video #reT1NWyvtFQ/youtube video #reT1NWyvtFQ [reT1NWyvtFQ].NA", "id" => "reT1NWyvtFQ", "original_url" => "https://www.youtube.com/watch?v=reT1NWyvtFQ", "playlist_index" => 14, "title" => "youtube video #reT1NWyvtFQ"} 17:11:50.525 [debug] QUERY OK source="sources" db=0.1ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:50.525 [debug] Current batch of media processed. Will check again in 1000ms 17:11:51.030 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how salt (sodium) affects mental and physical performance, as well as cellular health. I describe how the brain monitors sodium levels to regulate thirst and fluid balance, and why salt needs can vary depending on activity level, stress, blood pressure, and diet. I also explain how to determine the right sodium intake for your individual needs and discuss why some people may benefit from increasing salt and other electrolytes.\n\nShow notes: https://go.hubermanlab.com/jiFQJYv\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Salt\n00:00:37 Brain & Monitoring Salt\n00:02:33 Thirst, Osmotic Thirst & Salt\n00:05:35 Hypovolemic Thirst & Blood Pressure\n00:06:59 Fluid Balance, Kidney & Urine Regulation\n00:10:13 How Much Salt Do You Need?, Blood Pressure, Dizziness & Postural Syndromes \n00:15:49 Replenish Salt for Performance, Tool: Galpin Equation & Exercise\n00:17:35 Stress & Craving Salt\n00:19:18 Electrolytes: Magnesium & Potassium; Low Carbohydrate Diet\n00:22:07 Salt & Sweet Taste, Sugar Cravings, Processed Foods\n00:26:26 Finding Your Ideal Salt Intake, Tool: Unprocessed Food Diet\n00:28:14 Neurons, Salt & Action Potentials; Ingesting Too Much Water\n00:30:15 Recap & Key Takeaways\n\n#HubermanLab #Health #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2034, "filename" => "/downloads/Andrew Huberman/2026-03-26 Using Salt to Optimize Mental & Physical Performance | Huberman Lab Essentials/Using Salt to Optimize Mental & Physical Performance | Huberman Lab Essentials [hnzrPKvRBD8].mp4", "id" => "hnzrPKvRBD8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hnzrPKvRBD8", "playlist_index" => 25, "timestamp" => 1774526478, "title" => "Using Salt to Optimize Mental & Physical Performance | Huberman Lab Essentials", "upload_date" => "20260326"} 17:11:51.031 [debug] QUERY OK source="sources" db=0.3ms idle=507.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:51.031 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=507.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:51.032 [debug] QUERY OK source="media_items" db=0.4ms idle=507.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-26 12:01:18Z], 4] 17:11:51.035 [debug] QUERY OK source="media_items" db=2.2ms idle=508.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how salt (sodium) affects mental and physical performance, as well as cellular health. I describe how the brain monitors sodium levels to regulate thirst and fluid balance, and why salt needs can vary depending on activity level, stress, blood pressure, and diet. I also explain how to determine the right sodium intake for your individual needs and discuss why some people may benefit from increasing salt and other electrolytes.\n\nShow notes: https://go.hubermanlab.com/jiFQJYv\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Salt\n00:00:37 Brain & Monitoring Salt\n00:02:33 Thirst, Osmotic Thirst & Salt\n00:05:35 Hypovolemic Thirst & Blood Pressure\n00:06:59 Fluid Balance, Kidney & Urine Regulation\n00:10:13 How Much Salt Do You Need?, Blood Pressure, Dizziness & Postural Syndromes \n00:15:49 Replenish Salt for Performance, Tool: Galpin Equation & Exercise\n00:17:35 Stress & Craving Salt\n00:19:18 Electrolytes: Magnesium & Potassium; Low Carbohydrate Diet\n00:22:07 Salt & Sweet Taste, Sugar Cravings, Processed Foods\n00:26:26 Finding Your Ideal Salt Intake, Tool: Unprocessed Food Diet\n00:28:14 Neurons, Salt & Action Potentials; Ingesting Too Much Water\n00:30:15 Recap & Key Takeaways\n\n#HubermanLab #Health #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Salt to Optimize Mental & Physical Performance | Huberman Lab Essentials", "98b8a72f-b967-4149-9bf4-82ad8b9d18d6", 2034, false, "hnzrPKvRBD8", "https://www.youtube.com/watch?v=hnzrPKvRBD8", 25, "/downloads/Andrew Huberman/2026-03-26 Using Salt to Optimize Mental & Physical Performance | Huberman Lab Essentials/Using Salt to Optimize Mental & Physical Performance | Huberman Lab Essentials [hnzrPKvRBD8].mp4", false, false, false, 4, [], 1, ~U[2026-03-26 12:01:18Z], ~U[2026-09-16 17:11:51Z], ~U[2026-09-16 17:11:51Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how salt (sodium) affects mental and physical performance, as well as cellular health. I describe how the brain monitors sodium levels to regulate thirst and fluid balance, and why salt needs can vary depending on activity level, stress, blood pressure, and diet. I also explain how to determine the right sodium intake for your individual needs and discuss why some people may benefit from increasing salt and other electrolytes.\n\nShow notes: https://go.hubermanlab.com/jiFQJYv\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Salt\n00:00:37 Brain & Monitoring Salt\n00:02:33 Thirst, Osmotic Thirst & Salt\n00:05:35 Hypovolemic Thirst & Blood Pressure\n00:06:59 Fluid Balance, Kidney & Urine Regulation\n00:10:13 How Much Salt Do You Need?, Blood Pressure, Dizziness & Postural Syndromes \n00:15:49 Replenish Salt for Performance, Tool: Galpin Equation & Exercise\n00:17:35 Stress & Craving Salt\n00:19:18 Electrolytes: Magnesium & Potassium; Low Carbohydrate Diet\n00:22:07 Salt & Sweet Taste, Sugar Cravings, Processed Foods\n00:26:26 Finding Your Ideal Salt Intake, Tool: Unprocessed Food Diet\n00:28:14 Neurons, Salt & Action Potentials; Ingesting Too Much Water\n00:30:15 Recap & Key Takeaways\n\n#HubermanLab #Health #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Salt to Optimize Mental & Physical Performance | Huberman Lab Essentials", 2034, false, "hnzrPKvRBD8", "https://www.youtube.com/watch?v=hnzrPKvRBD8", "/downloads/Andrew Huberman/2026-03-26 Using Salt to Optimize Mental & Physical Performance | Huberman Lab Essentials/Using Salt to Optimize Mental & Physical Performance | Huberman Lab Essentials [hnzrPKvRBD8].mp4", false, 4, ~U[2026-03-26 12:01:18Z]] 17:11:51.035 [debug] QUERY OK source="sources" db=0.2ms idle=510.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:51.036 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 17:11:51.036 [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 [2558] 17:11:51.037 [debug] Current batch of media processed. Will check again in 1000ms 17:11:51.526 [debug] Current batch of media processed. Will check again in 1000ms 17:11:52.038 [debug] Current batch of media processed. Will check again in 1000ms 17:11:52.528 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "subscribe for videos every two weeks!\n\nthank you to thea study for sponsoring a portion of this video. you can check out their app here (completely free): https://www.theastudy.com/?referralCode=reysu&ct=reysu&utm_source=reysu\n\nobsidian config: https://reysu.io/obsidian\nx: https://x.com/reysuing\ninstagram: https://instagram.com/reysuing\n\noutline:\n0:00 obsidian after 2 years\n0:57 why obsidian? \n3:13 obsidian backlinks\n4:12 thea study \n5:57 2 year vault walkthrough\n6:08 obsidian theme settings \n6:31 notebook navigator\n7:00 obsidian web clipper\n7:57 book or youtube note workflow\n8:33 auto template trigger\n8:55 using obsidian like a rolodex\n9:41 obsidian map view \n10:15 storing documents in obsidian\n10:45 tip for starting out", "duration" => 708, "filename" => "/downloads/Reysu/2025-11-08 why I switched to using Obsidian (as a former Notion user)/why I switched to using Obsidian (as a former Notion user) [O7vGsBghWfc].mp4", "id" => "O7vGsBghWfc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=O7vGsBghWfc", "playlist_index" => 15, "timestamp" => 1762614044, "title" => "why I switched to using Obsidian (as a former Notion user)", "upload_date" => "20251108"} 17:11:52.529 [debug] QUERY OK source="sources" db=0.2ms idle=1493.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:52.530 [debug] QUERY OK source="sources" db=1.0ms idle=1493.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:52.532 [debug] QUERY OK source="media_items" db=0.8ms idle=1494.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-08 15:00:44Z], 2] 17:11:52.538 [debug] QUERY OK source="media_items" db=5.6ms idle=1162.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["subscribe for videos every two weeks!\n\nthank you to thea study for sponsoring a portion of this video. you can check out their app here (completely free): https://www.theastudy.com/?referralCode=reysu&ct=reysu&utm_source=reysu\n\nobsidian config: https://reysu.io/obsidian\nx: https://x.com/reysuing\ninstagram: https://instagram.com/reysuing\n\noutline:\n0:00 obsidian after 2 years\n0:57 why obsidian? \n3:13 obsidian backlinks\n4:12 thea study \n5:57 2 year vault walkthrough\n6:08 obsidian theme settings \n6:31 notebook navigator\n7:00 obsidian web clipper\n7:57 book or youtube note workflow\n8:33 auto template trigger\n8:55 using obsidian like a rolodex\n9:41 obsidian map view \n10:15 storing documents in obsidian\n10:45 tip for starting out", "why I switched to using Obsidian (as a former Notion user)", "2f7eaffc-21c9-48de-9def-6e9633127c85", 708, false, "O7vGsBghWfc", "https://www.youtube.com/watch?v=O7vGsBghWfc", 15, "/downloads/Reysu/2025-11-08 why I switched to using Obsidian (as a former Notion user)/why I switched to using Obsidian (as a former Notion user) [O7vGsBghWfc].mp4", false, false, false, 2, [], 1, ~U[2025-11-08 15:00:44Z], ~U[2026-09-16 17:11:52Z], ~U[2026-09-16 17:11:52Z], "subscribe for videos every two weeks!\n\nthank you to thea study for sponsoring a portion of this video. you can check out their app here (completely free): https://www.theastudy.com/?referralCode=reysu&ct=reysu&utm_source=reysu\n\nobsidian config: https://reysu.io/obsidian\nx: https://x.com/reysuing\ninstagram: https://instagram.com/reysuing\n\noutline:\n0:00 obsidian after 2 years\n0:57 why obsidian? \n3:13 obsidian backlinks\n4:12 thea study \n5:57 2 year vault walkthrough\n6:08 obsidian theme settings \n6:31 notebook navigator\n7:00 obsidian web clipper\n7:57 book or youtube note workflow\n8:33 auto template trigger\n8:55 using obsidian like a rolodex\n9:41 obsidian map view \n10:15 storing documents in obsidian\n10:45 tip for starting out", "why I switched to using Obsidian (as a former Notion user)", 708, false, "O7vGsBghWfc", "https://www.youtube.com/watch?v=O7vGsBghWfc", "/downloads/Reysu/2025-11-08 why I switched to using Obsidian (as a former Notion user)/why I switched to using Obsidian (as a former Notion user) [O7vGsBghWfc].mp4", false, 2, ~U[2025-11-08 15:00:44Z]] 17:11:52.539 [debug] QUERY OK source="sources" db=0.6ms idle=166.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:52.539 [debug] QUERY OK source="media_profiles" db=0.4ms idle=9.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:11:52.541 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=9.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20807] 17:11:52.541 [debug] Current batch of media processed. Will check again in 1000ms 17:11:53.039 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is \u2060Dr. Emily Balcetis, PhD\u2060, a professor of psychology at New York University who studies how visual perception influences motivation and goal pursuit. She explains how to better visualize and overcome challenges to achieve physical or cognitive goals. We also explore the science of setting goals, measuring progress effectively and research showing how fitness level and energy state can shape how difficult the world appears.\n\nShow notes: https://go.hubermanlab.com/IoZCSSi\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Emily Balcetis\n00:00:21 Adjusting Vision to Meet Goals, Exercise, Tool: Narrow Visual Target\n00:07:39 Goal Setting, Do Vision Boards Work?\n00:11:16 Tool: Effectively Plan Goals, Plan for Obstacles\n00:16:40 How Fitness Shapes the Way People See the World \n00:22:03 Visual Spotlight, Exercise & Physical Fitness Level\n00:23:02 Stimulants & Motivation\n00:24:24 Cognitive Goals, Tools: Overcoming Bad Memories; Deadlines\n00:31:34 Acknowledgements\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1922, "filename" => "/downloads/Andrew Huberman/2026-03-19 Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis/Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis [RECLTp_YxSU].mp4", "id" => "RECLTp_YxSU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RECLTp_YxSU", "playlist_index" => 26, "timestamp" => 1773921651, "title" => "Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis", "upload_date" => "20260319"} 17:11:53.039 [debug] QUERY OK source="sources" db=0.3ms idle=507.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:53.040 [debug] QUERY OK source="sources" db=0.2ms idle=502.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:53.041 [debug] QUERY OK source="media_items" db=0.4ms idle=501.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 12:00:51Z], 4] 17:11:53.043 [debug] QUERY OK source="media_items" db=1.3ms idle=501.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is \u2060Dr. Emily Balcetis, PhD\u2060, a professor of psychology at New York University who studies how visual perception influences motivation and goal pursuit. She explains how to better visualize and overcome challenges to achieve physical or cognitive goals. We also explore the science of setting goals, measuring progress effectively and research showing how fitness level and energy state can shape how difficult the world appears.\n\nShow notes: https://go.hubermanlab.com/IoZCSSi\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Emily Balcetis\n00:00:21 Adjusting Vision to Meet Goals, Exercise, Tool: Narrow Visual Target\n00:07:39 Goal Setting, Do Vision Boards Work?\n00:11:16 Tool: Effectively Plan Goals, Plan for Obstacles\n00:16:40 How Fitness Shapes the Way People See the World \n00:22:03 Visual Spotlight, Exercise & Physical Fitness Level\n00:23:02 Stimulants & Motivation\n00:24:24 Cognitive Goals, Tools: Overcoming Bad Memories; Deadlines\n00:31:34 Acknowledgements\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis", "dce9889f-7531-42b4-803a-5a5a3af3a36d", 1922, false, "RECLTp_YxSU", "https://www.youtube.com/watch?v=RECLTp_YxSU", 26, "/downloads/Andrew Huberman/2026-03-19 Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis/Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis [RECLTp_YxSU].mp4", false, false, false, 4, [], 1, ~U[2026-03-19 12:00:51Z], ~U[2026-09-16 17:11:53Z], ~U[2026-09-16 17:11:53Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is \u2060Dr. Emily Balcetis, PhD\u2060, a professor of psychology at New York University who studies how visual perception influences motivation and goal pursuit. She explains how to better visualize and overcome challenges to achieve physical or cognitive goals. We also explore the science of setting goals, measuring progress effectively and research showing how fitness level and energy state can shape how difficult the world appears.\n\nShow notes: https://go.hubermanlab.com/IoZCSSi\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Emily Balcetis\n00:00:21 Adjusting Vision to Meet Goals, Exercise, Tool: Narrow Visual Target\n00:07:39 Goal Setting, Do Vision Boards Work?\n00:11:16 Tool: Effectively Plan Goals, Plan for Obstacles\n00:16:40 How Fitness Shapes the Way People See the World \n00:22:03 Visual Spotlight, Exercise & Physical Fitness Level\n00:23:02 Stimulants & Motivation\n00:24:24 Cognitive Goals, Tools: Overcoming Bad Memories; Deadlines\n00:31:34 Acknowledgements\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis", 1922, false, "RECLTp_YxSU", "https://www.youtube.com/watch?v=RECLTp_YxSU", "/downloads/Andrew Huberman/2026-03-19 Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis/Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis [RECLTp_YxSU].mp4", false, 4, ~U[2026-03-19 12:00:51Z]] 17:11:53.043 [debug] QUERY OK source="sources" db=0.2ms idle=502.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:53.044 [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] 17:11:53.044 [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 [165] 17:11:53.044 [debug] Current batch of media processed. Will check again in 1000ms 17:11:53.543 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Do you believe in religion? You might answer YES or NO. \n\nFor Neil it is not that easy. Not only it is important for him to answer this question but to go deep in this mystery and explains how to form your own opinion. \n\nThis video is not to convince anyone to leave their faith but to think critically and come to your own conclusion. \n\nWatch the video in its entirety with a open mind. It will definitely make you question some aspect of your beliefs. Either you are an ATHIEIST or a Religious person. \n\nOr Just Sit Back and Relax listening to this amazing communicator talk about something he is passionate about.\n\nChapters:\n00:00 Chelsea asks Neil if he believes in a GOD?\n01:46 WHAT Neil will do if he was being EXECUTED?\n03:14 Does Neil give any credit for religion for CREATION MYTH?\n05:45 Neil comments on Carl Segan saying COSMOS is all there it is.\n06:48 What Neil cares and not care about Religion?\n07:40 Piers asks how can Neil know if GOD exists.\n09:40 Which GOD out of 18,000+++?\n10:55 Neil pulls out data, EDUCATED = ATHIEIST.\n15:29 Bible in Classrooms?\n18:50 Arguing about who knows Bible the least.\n22:00 What Religion did to Muslims?\n30:21 Earth is ANTI-LIFE.\n31:18 One thing Neil wants Everyone to Remember.\n32:31 How can you know HEAVEN exists?\n34:34 After Neil's De*th.\n35:18 Consciousness Does not Exist outside our Bodies.\n36:51 Don't FEAR not being here.\n37:57 Neil on RELIGIOUS LEADERS.\n38:53 US was founded on FREEDOM from RELIGION.\n39:50 Is Neil SAD about Breaking these MYTHS?\n40:35 Busting \"GOD EXIST WHERE THE UNKNOWN LIES\" \n43:30 Why Does RELIGION still control HUMANS?\n44:38 Religion is not needed for MORALITY.\n45:09 RELIGOUS TEXTBOOKS are still important.\n46:07 The CONFLICT occurs when...\n47:01 GOD OF THE GAPS.\n51:26 What makes Neil a NON BELIEVER.\n55:12 Bible as a SPRITUAL BOOK.\n56:38 FREEDOM OF RELIGION.\n\nLIKE, COMMENT, AND SUBSCRIBE\n\nPS: I do not own any clips used in the video.", "duration" => 3618, "filename" => "/downloads/Mystery of this Universe/2023-12-09 Watch Neil DeGrasse Tyson Unleash Annihilation on Religion for an Hour!/Watch Neil DeGrasse Tyson Unleash Annihilation on Religion for an Hour! [ANZTjzcaoVc].mp4", "id" => "ANZTjzcaoVc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ANZTjzcaoVc", "playlist_index" => 16, "timestamp" => 1702083231, "title" => "Watch Neil DeGrasse Tyson Unleash Annihilation on Religion for an Hour!", "upload_date" => "20231209"} 17:11:53.543 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=500.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:53.544 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms 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" = ?) [2] 17:11:53.545 [debug] QUERY OK source="media_items" db=0.2ms idle=500.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-12-09 00:53:51Z], 2] 17:11:53.548 [debug] QUERY OK source="media_items" db=2.8ms idle=500.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Do you believe in religion? You might answer YES or NO. \n\nFor Neil it is not that easy. Not only it is important for him to answer this question but to go deep in this mystery and explains how to form your own opinion. \n\nThis video is not to convince anyone to leave their faith but to think critically and come to your own conclusion. \n\nWatch the video in its entirety with a open mind. It will definitely make you question some aspect of your beliefs. Either you are an ATHIEIST or a Religious person. \n\nOr Just Sit Back and Relax listening to this amazing communicator talk about something he is passionate about.\n\nChapters:\n00:00 Chelsea asks Neil if he believes in a GOD?\n01:46 WHAT Neil will do if he was being EXECUTED?\n03:14 Does Neil give any credit for religion for CREATION MYTH?\n05:45 Neil comments on Carl Segan saying COSMOS is all there it is.\n06:48 What Neil cares and not care about Religion?\n07:40 Piers asks how can Neil know if GOD exists.\n09:40 Which GOD out of 18,000+++?\n10:55 Neil pulls out data, EDUCATED = ATHIEIST.\n15:29 Bible in Classrooms?\n18:50 Arguing about who knows Bible the least.\n22:00 What Religion did to Muslims?\n30:21 Earth is ANTI-LIFE.\n31:18 One thing Neil wants Everyone to Remember.\n32:31 How can you know HEAVEN exists?\n34:34 After Neil's De*th.\n35:18 Consciousness Does not Exist outside our Bodies.\n36:51 Don't FEAR not being here.\n37:57 Neil on RELIGIOUS LEADERS.\n38:53 US was founded on FREEDOM from RELIGION.\n39:50 Is Neil SAD about Breaking these MYTHS?\n40:35 Busting \"GOD EXIST WHERE THE UNKNOWN LIES\" \n43:30 Why Does RELIGION still control HUMANS?\n44:38 Religion is not needed for MORALITY.\n45:09 RELIGOUS TEXTBOOKS are still important.\n46:07 The CONFLICT occurs when...\n47:01 GOD OF THE GAPS.\n51:26 What makes Neil a NON BELIEVER.\n55:12 Bible as a SPRITUAL BOOK.\n56:38 FREEDOM OF RELIGION.\n\nLIKE, COMMENT, AND SUBSCRIBE\n\nPS: I do not own any clips used in the video.", "Watch Neil DeGrasse Tyson Unleash Annihilation on Religion for an Hour!", "005e9e22-506c-4fd8-8f44-4127d9f4c123", 3618, false, "ANZTjzcaoVc", "https://www.youtube.com/watch?v=ANZTjzcaoVc", 16, "/downloads/Mystery of this Universe/2023-12-09 Watch Neil DeGrasse Tyson Unleash Annihilation on Religion for an Hour!/Watch Neil DeGrasse Tyson Unleash Annihilation on Religion for an Hour! [ANZTjzcaoVc].mp4", false, false, false, 2, [], 1, ~U[2023-12-09 00:53:51Z], ~U[2026-09-16 17:11:53Z], ~U[2026-09-16 17:11:53Z], "Do you believe in religion? You might answer YES or NO. \n\nFor Neil it is not that easy. Not only it is important for him to answer this question but to go deep in this mystery and explains how to form your own opinion. \n\nThis video is not to convince anyone to leave their faith but to think critically and come to your own conclusion. \n\nWatch the video in its entirety with a open mind. It will definitely make you question some aspect of your beliefs. Either you are an ATHIEIST or a Religious person. \n\nOr Just Sit Back and Relax listening to this amazing communicator talk about something he is passionate about.\n\nChapters:\n00:00 Chelsea asks Neil if he believes in a GOD?\n01:46 WHAT Neil will do if he was being EXECUTED?\n03:14 Does Neil give any credit for religion for CREATION MYTH?\n05:45 Neil comments on Carl Segan saying COSMOS is all there it is.\n06:48 What Neil cares and not care about Religion?\n07:40 Piers asks how can Neil know if GOD exists.\n09:40 Which GOD out of 18,000+++?\n10:55 Neil pulls out data, EDUCATED = ATHIEIST.\n15:29 Bible in Classrooms?\n18:50 Arguing about who knows Bible the least.\n22:00 What Religion did to Muslims?\n30:21 Earth is ANTI-LIFE.\n31:18 One thing Neil wants Everyone to Remember.\n32:31 How can you know HEAVEN exists?\n34:34 After Neil's De*th.\n35:18 Consciousness Does not Exist outside our Bodies.\n36:51 Don't FEAR not being here.\n37:57 Neil on RELIGIOUS LEADERS.\n38:53 US was founded on FREEDOM from RELIGION.\n39:50 Is Neil SAD about Breaking these MYTHS?\n40:35 Busting \"GOD EXIST WHERE THE UNKNOWN LIES\" \n43:30 Why Does RELIGION still control HUMANS?\n44:38 Religion is not needed for MORALITY.\n45:09 RELIGOUS TEXTBOOKS are still important.\n46:07 The CONFLICT occurs when...\n47:01 GOD OF THE GAPS.\n51:26 What makes Neil a NON BELIEVER.\n55:12 Bible as a SPRITUAL BOOK.\n56:38 FREEDOM OF RELIGION.\n\nLIKE, COMMENT, AND SUBSCRIBE\n\nPS: I do not own any clips used in the video.", "Watch Neil DeGrasse Tyson Unleash Annihilation on Religion for an Hour!", 3618, false, "ANZTjzcaoVc", "https://www.youtube.com/watch?v=ANZTjzcaoVc", "/downloads/Mystery of this Universe/2023-12-09 Watch Neil DeGrasse Tyson Unleash Annihilation on Religion for an Hour!/Watch Neil DeGrasse Tyson Unleash Annihilation on Religion for an Hour! [ANZTjzcaoVc].mp4", false, 2, ~U[2023-12-09 00:53:51Z]] 17:11:53.549 [debug] QUERY OK source="sources" db=0.2ms idle=175.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:53.549 [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] 17:11:53.550 [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 [42797] 17:11:53.550 [debug] Current batch of media processed. Will check again in 1000ms 17:11:53.553 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:54.045 [debug] Current batch of media processed. Will check again in 1000ms 17:11:54.551 [debug] Current batch of media processed. Will check again in 1000ms 17:11:55.047 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I discuss the mechanisms through which deliberate heat exposure enhances both physical and mental health.\n\nI outline specific protocols for deliberate heat exposure, including recommended temperature ranges, frequency, timing, duration and sauna alternatives. In addition, I explain how to tailor your heat protocols to support your specific goals, such as increasing growth hormone, reducing cortisol or supporting cognitive health.\n\nShow notes: https://go.hubermanlab.com/VsMKdhm\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Heat Exposure\n00:00:47 Shell vs Core Temperature; Heat Caution & Hyperthermia\n00:02:24 Body & Brain Circuit to Heat Up & Cool Down\n00:05:31 Deliberate Heat Exposure & Health Benefits; Tool: Sauna Temperature Range, Duration, Frequency\n00:10:45 Sauna Types, Alternatives to Sauna\n00:12:26 Sauna Mechanism; Reduced Cortisol; Tool: Hot/Cold Contrast\n00:16:14 Heat Shock Protein Activation & Sauna\n00:17:54 DNA Repair, FOXO3 & Sauna, Cognition & Health Benefits\n00:21:25 Sauna & Increase Growth Hormone\n00:27:22 Sauna Timing, Sleep & Growth Hormone, Tools: Fasting; Hydration\n00:30:42 Improve Mood, Endorphins & Sauna; Dynorphins\n00:35:50 Recap Sauna Protocols: Benefits, Frequency, Duration & Timing\n\n#HubermanLab #Science #Health #HeatExposure \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2360, "filename" => "/downloads/Andrew Huberman/2026-03-12 Benefits of Sauna & Deliberate Heat Exposure | Huberman Lab Essentials/Benefits of Sauna & Deliberate Heat Exposure | Huberman Lab Essentials [iuPQmw4Ax00].mp4", "id" => "iuPQmw4Ax00", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iuPQmw4Ax00", "playlist_index" => 27, "timestamp" => 1773316877, "title" => "Benefits of Sauna & Deliberate Heat Exposure | Huberman Lab Essentials", "upload_date" => "20260312"} 17:11:55.047 [debug] QUERY OK source="sources" db=0.2ms idle=672.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:55.048 [debug] QUERY OK source="sources" db=0.1ms idle=300.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:55.049 [debug] QUERY OK source="media_items" db=0.4ms idle=300.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-12 12:01:17Z], 4] 17:11:55.051 [debug] QUERY OK source="media_items" db=1.4ms idle=301.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I discuss the mechanisms through which deliberate heat exposure enhances both physical and mental health.\n\nI outline specific protocols for deliberate heat exposure, including recommended temperature ranges, frequency, timing, duration and sauna alternatives. In addition, I explain how to tailor your heat protocols to support your specific goals, such as increasing growth hormone, reducing cortisol or supporting cognitive health.\n\nShow notes: https://go.hubermanlab.com/VsMKdhm\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Heat Exposure\n00:00:47 Shell vs Core Temperature; Heat Caution & Hyperthermia\n00:02:24 Body & Brain Circuit to Heat Up & Cool Down\n00:05:31 Deliberate Heat Exposure & Health Benefits; Tool: Sauna Temperature Range, Duration, Frequency\n00:10:45 Sauna Types, Alternatives to Sauna\n00:12:26 Sauna Mechanism; Reduced Cortisol; Tool: Hot/Cold Contrast\n00:16:14 Heat Shock Protein Activation & Sauna\n00:17:54 DNA Repair, FOXO3 & Sauna, Cognition & Health Benefits\n00:21:25 Sauna & Increase Growth Hormone\n00:27:22 Sauna Timing, Sleep & Growth Hormone, Tools: Fasting; Hydration\n00:30:42 Improve Mood, Endorphins & Sauna; Dynorphins\n00:35:50 Recap Sauna Protocols: Benefits, Frequency, Duration & Timing\n\n#HubermanLab #Science #Health #HeatExposure \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Benefits of Sauna & Deliberate Heat Exposure | Huberman Lab Essentials", "c3cbe353-9d1f-4d10-a01a-d775afe4268c", 2360, false, "iuPQmw4Ax00", "https://www.youtube.com/watch?v=iuPQmw4Ax00", 27, "/downloads/Andrew Huberman/2026-03-12 Benefits of Sauna & Deliberate Heat Exposure | Huberman Lab Essentials/Benefits of Sauna & Deliberate Heat Exposure | Huberman Lab Essentials [iuPQmw4Ax00].mp4", false, false, false, 4, [], 1, ~U[2026-03-12 12:01:17Z], ~U[2026-09-16 17:11:55Z], ~U[2026-09-16 17:11:55Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I discuss the mechanisms through which deliberate heat exposure enhances both physical and mental health.\n\nI outline specific protocols for deliberate heat exposure, including recommended temperature ranges, frequency, timing, duration and sauna alternatives. In addition, I explain how to tailor your heat protocols to support your specific goals, such as increasing growth hormone, reducing cortisol or supporting cognitive health.\n\nShow notes: https://go.hubermanlab.com/VsMKdhm\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Heat Exposure\n00:00:47 Shell vs Core Temperature; Heat Caution & Hyperthermia\n00:02:24 Body & Brain Circuit to Heat Up & Cool Down\n00:05:31 Deliberate Heat Exposure & Health Benefits; Tool: Sauna Temperature Range, Duration, Frequency\n00:10:45 Sauna Types, Alternatives to Sauna\n00:12:26 Sauna Mechanism; Reduced Cortisol; Tool: Hot/Cold Contrast\n00:16:14 Heat Shock Protein Activation & Sauna\n00:17:54 DNA Repair, FOXO3 & Sauna, Cognition & Health Benefits\n00:21:25 Sauna & Increase Growth Hormone\n00:27:22 Sauna Timing, Sleep & Growth Hormone, Tools: Fasting; Hydration\n00:30:42 Improve Mood, Endorphins & Sauna; Dynorphins\n00:35:50 Recap Sauna Protocols: Benefits, Frequency, Duration & Timing\n\n#HubermanLab #Science #Health #HeatExposure \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Benefits of Sauna & Deliberate Heat Exposure | Huberman Lab Essentials", 2360, false, "iuPQmw4Ax00", "https://www.youtube.com/watch?v=iuPQmw4Ax00", "/downloads/Andrew Huberman/2026-03-12 Benefits of Sauna & Deliberate Heat Exposure | Huberman Lab Essentials/Benefits of Sauna & Deliberate Heat Exposure | Huberman Lab Essentials [iuPQmw4Ax00].mp4", false, 4, ~U[2026-03-12 12:01:17Z]] 17:11:55.051 [debug] QUERY OK source="sources" db=0.1ms idle=303.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:55.052 [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] 17:11:55.052 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [166] 17:11:55.052 [debug] Current batch of media processed. Will check again in 1000ms 17:11:55.552 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Are you the person everyone leans on — the one who always listens, always fixes, always carries the emotional weight of your family, friends, or partner? Dr. Jordan Peterson’s 54‑minute deep‑dive might be the most uncomfortable relief you’ll ever feel. He pulls apart the myth that absorbing other people’s pain makes you virtuous, and shows exactly how it destroys your mental health, your relationships, and your ability to actually help anyone.\n\nThis isn’t a fluffy “just think positive” talk. Peterson walks through the psychology of emotional fusion, the neurobiology of second‑hand stress, and the brutal truth about why your constant rescuing is disempowering the people you love. If you’ve ever felt physically sick after someone’s venting, found yourself lying awake replaying their problems, or felt guilty for simply wanting peace — this lecture names what’s happening and hands you a way out.\n\n📌 What this 54‑minute video unpacks\n\n· The biological trap of “hyper‑empathy” and why your nervous system can’t tell the difference between your pain and theirs\n· How your childhood wiring turned compassion into self‑erasure\n· The 3‑step boundary framework Peterson teaches that protects your psyche without making you cold\n· Why feeling responsible for everyone’s happiness leads to burnout, resentment, and collapse\n· The exact moment being “nice” becomes manipulation — and how to stop\n· Practical scripts you can use today when someone starts dumping their pain on you\n\n⏱️ Timestamps so you can jump straight in\n00:00 – The silent epidemic nobody wants to talk about\n04:20 – Are you a sponge or a person?\n10:10 – Empathy as a trauma response\n16:45 – Why your body keeps the score of other people’s emotions\n23:30 – The boundary experiment Peterson runs with audiences\n30:15 – Guilt, self‑sacrifice, and the tyranny of the “good person” complex\n38:50 – How to care without carrying — real‑life family and relationship examples\n46:40 – Words that shield you (memorise these)\n52:10 – Peterson’s closing gut‑punch: You cannot light yourself on fire to keep others warm\n\n💬 What’s your hardest boundary moment?\nTell me in the comments — the thread is full of people who get it. I read and reply as much as I can.\n\n🔔 If this shook something loose in you, hit subscribe and the bell.\nWe drop long‑form talks, distilled wisdom, and tools you can actually use every week. Share this with the friend who needs to hear “stop absorbing their pain” before it breaks them.\n\n📚 EXPLORE MORE LIKE THIS:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n🎧 Listen to The Jordan B. Peterson Podcast:\n• Spotify: https://open.spotify.com/show/2bGpVpDx3FbjsGvHGHjHNn\n• Apple Podcasts: https://podcasts.apple.com/ca/podcast/the-jordan-b-peterson-podcast/id1184022695\n\n📢 Connect with Dr. Jordan B. Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n\n#JordanPeterson #EmotionalBoundaries #StopAbsorbingPain #ToxicEmpathy #MentalHealthMatters #Codependency #CompassionFatigue #SelfCare #PersonalDevelopment #jordanpetersonlecture", "duration" => 3289, "filename" => "/downloads/Jordan Peterson Rules for Life/2026-06-08 Jordan Peterson: "Stop Absorbing Other People's Pain, It's Killing You"/Jordan Peterson: "Stop Absorbing Other People's Pain, It's Killing You" [kBJ6fUo62tY].mp4", "id" => "kBJ6fUo62tY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kBJ6fUo62tY", "playlist_index" => 17, "timestamp" => 1780936222, "title" => "Jordan Peterson: \"Stop Absorbing Other People's Pain, It's Killing You\"", "upload_date" => "20260608"} 17:11:55.552 [debug] QUERY OK source="sources" db=0.2ms idle=501.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:55.553 [debug] QUERY OK source="sources" db=0.1ms idle=501.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:55.553 [debug] QUERY OK source="media_items" db=0.2ms idle=501.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-08 16:30:22Z], 2] 17:11:55.558 [debug] QUERY OK source="media_items" db=3.2ms idle=501.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Are you the person everyone leans on — the one who always listens, always fixes, always carries the emotional weight of your family, friends, or partner? Dr. Jordan Peterson’s 54‑minute deep‑dive might be the most uncomfortable relief you’ll ever feel. He pulls apart the myth that absorbing other people’s pain makes you virtuous, and shows exactly how it destroys your mental health, your relationships, and your ability to actually help anyone.\n\nThis isn’t a fluffy “just think positive” talk. Peterson walks through the psychology of emotional fusion, the neurobiology of second‑hand stress, and the brutal truth about why your constant rescuing is disempowering the people you love. If you’ve ever felt physically sick after someone’s venting, found yourself lying awake replaying their problems, or felt guilty for simply wanting peace — this lecture names what’s happening and hands you a way out.\n\n📌 What this 54‑minute video unpacks\n\n· The biological trap of “hyper‑empathy” and why your nervous system can’t tell the difference between your pain and theirs\n· How your childhood wiring turned compassion into self‑erasure\n· The 3‑step boundary framework Peterson teaches that protects your psyche without making you cold\n· Why feeling responsible for everyone’s happiness leads to burnout, resentment, and collapse\n· The exact moment being “nice” becomes manipulation — and how to stop\n· Practical scripts you can use today when someone starts dumping their pain on you\n\n⏱️ Timestamps so you can jump straight in\n00:00 – The silent epidemic nobody wants to talk about\n04:20 – Are you a sponge or a person?\n10:10 – Empathy as a trauma response\n16:45 – Why your body keeps the score of other people’s emotions\n23:30 – The boundary experiment Peterson runs with audiences\n30:15 – Guilt, self‑sacrifice, and the tyranny of the “good person” complex\n38:50 – How to care without carrying — real‑life family and relationship examples\n46:40 – Words that shield you (memorise these)\n52:10 – Peterson’s closing gut‑punch: You cannot light yourself on fire to keep others warm\n\n💬 What’s your hardest boundary moment?\nTell me in the comments — the thread is full of people who get it. I read and reply as much as I can.\n\n🔔 If this shook something loose in you, hit subscribe and the bell.\nWe drop long‑form talks, distilled wisdom, and tools you can actually use every week. Share this with the friend who needs to hear “stop absorbing their pain” before it breaks them.\n\n📚 EXPLORE MORE LIKE THIS:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n🎧 Listen to The Jordan B. Peterson Podcast:\n• Spotify: https://open.spotify.com/show/2bGpVpDx3FbjsGvHGHjHNn\n• Apple Podcasts: https://podcasts.apple.com/ca/podcast/the-jordan-b-peterson-podcast/id1184022695\n\n📢 Connect with Dr. Jordan B. Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n\n#JordanPeterson #EmotionalBoundaries #StopAbsorbingPain #ToxicEmpathy #MentalHealthMatters #Codependency #CompassionFatigue #SelfCare #PersonalDevelopment #jordanpetersonlecture", "Jordan Peterson: \"Stop Absorbing Other People's Pain, It's Killing You\"", "0222fd4a-c53c-436e-b85d-e7b3860373cf", 3289, false, "kBJ6fUo62tY", "https://www.youtube.com/watch?v=kBJ6fUo62tY", 17, "/downloads/Jordan Peterson Rules for Life/2026-06-08 Jordan Peterson: "Stop Absorbing Other People's Pain, It's Killing You"/Jordan Peterson: "Stop Absorbing Other People's Pain, It's Killing You" [kBJ6fUo62tY].mp4", false, false, false, 2, [], 1, ~U[2026-06-08 16:30:22Z], ~U[2026-09-16 17:11:55Z], ~U[2026-09-16 17:11:55Z], "Are you the person everyone leans on — the one who always listens, always fixes, always carries the emotional weight of your family, friends, or partner? Dr. Jordan Peterson’s 54‑minute deep‑dive might be the most uncomfortable relief you’ll ever feel. He pulls apart the myth that absorbing other people’s pain makes you virtuous, and shows exactly how it destroys your mental health, your relationships, and your ability to actually help anyone.\n\nThis isn’t a fluffy “just think positive” talk. Peterson walks through the psychology of emotional fusion, the neurobiology of second‑hand stress, and the brutal truth about why your constant rescuing is disempowering the people you love. If you’ve ever felt physically sick after someone’s venting, found yourself lying awake replaying their problems, or felt guilty for simply wanting peace — this lecture names what’s happening and hands you a way out.\n\n📌 What this 54‑minute video unpacks\n\n· The biological trap of “hyper‑empathy” and why your nervous system can’t tell the difference between your pain and theirs\n· How your childhood wiring turned compassion into self‑erasure\n· The 3‑step boundary framework Peterson teaches that protects your psyche without making you cold\n· Why feeling responsible for everyone’s happiness leads to burnout, resentment, and collapse\n· The exact moment being “nice” becomes manipulation — and how to stop\n· Practical scripts you can use today when someone starts dumping their pain on you\n\n⏱️ Timestamps so you can jump straight in\n00:00 – The silent epidemic nobody wants to talk about\n04:20 – Are you a sponge or a person?\n10:10 – Empathy as a trauma response\n16:45 – Why your body keeps the score of other people’s emotions\n23:30 – The boundary experiment Peterson runs with audiences\n30:15 – Guilt, self‑sacrifice, and the tyranny of the “good person” complex\n38:50 – How to care without carrying — real‑life family and relationship examples\n46:40 – Words that shield you (memorise these)\n52:10 – Peterson’s closing gut‑punch: You cannot light yourself on fire to keep others warm\n\n💬 What’s your hardest boundary moment?\nTell me in the comments — the thread is full of people who get it. I read and reply as much as I can.\n\n🔔 If this shook something loose in you, hit subscribe and the bell.\nWe drop long‑form talks, distilled wisdom, and tools you can actually use every week. Share this with the friend who needs to hear “stop absorbing their pain” before it breaks them.\n\n📚 EXPLORE MORE LIKE THIS:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n🎧 Listen to The Jordan B. Peterson Podcast:\n• Spotify: https://open.spotify.com/show/2bGpVpDx3FbjsGvHGHjHNn\n• Apple Podcasts: https://podcasts.apple.com/ca/podcast/the-jordan-b-peterson-podcast/id1184022695\n\n📢 Connect with Dr. Jordan B. Peterson:\n· (truncated) 17:11:55.558 [debug] QUERY OK source="sources" db=0.2ms idle=182.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:55.558 [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] 17:11:55.559 [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 [43620] 17:11:55.559 [debug] Current batch of media processed. Will check again in 1000ms 17:11:56.054 [debug] Current batch of media processed. Will check again in 1000ms 17:11:56.560 [debug] Current batch of media processed. Will check again in 1000ms 17:11:57.055 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Charles Zuker, PhD, a professor of biochemistry, molecular biophysics and neuroscience at Columbia University and an Investigator with the Howard Hughes Medical Institute (HHMI).\n\nWe explore taste perception and how the brain transforms chemical signals from food into distinct taste experiences. We discuss how these taste signals shape both conscious choices and unconscious behavior, as well as how food preferences can change over time. Additionally, we discuss gut–brain signaling and explain why sugar is especially powerful at driving cravings. \n\nShow notes: https://go.hubermanlab.com/98yVjnK\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Charles Zuker\n00:00:20 Senses & Perception \n00:02:29 Taste, 5 Taste Qualities & Dietary Needs\n00:05:49 Taste vs Flavor\n00:07:05 Taste Buds; Bitter\n00:08:54 Sweet vs Bitter, Sensory Perception from Tongue to Brain \n00:11:56 Taste Plasticity & Changing Food Preferences\n00:13:22 Taste Modulation; Salt\n00:16:17 Gut-Brain Signaling\n00:20:50 Sugar Appetite & Gut-Brain Axis; Artificial Sweeteners, Sugar Cravings \n00:26:34 Taste & Essential Nutrients; Highly Processed Foods; Brain & Food Choices\n00:30:07 Acknowledgements\n\n#HubermanLab #Science #Biology\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1853, "filename" => "/downloads/Andrew Huberman/2026-03-05 Essentials: The Biology of Taste Perception & Sugar Craving | Dr. Charles Zuker/Essentials: The Biology of Taste Perception & Sugar Craving | Dr. Charles Zuker [cru_4P6qVYQ].mp4", "id" => "cru_4P6qVYQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cru_4P6qVYQ", "playlist_index" => 28, "timestamp" => 1772715672, "title" => "Essentials: The Biology of Taste Perception & Sugar Craving | Dr. Charles Zuker", "upload_date" => "20260305"} 17:11:57.055 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=677.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:57.056 [debug] QUERY OK source="sources" db=0.1ms idle=308.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:57.057 [debug] QUERY OK source="media_items" db=0.4ms idle=308.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-05 13:01:12Z], 4] 17:11:57.059 [debug] QUERY OK source="media_items" db=2.0ms idle=309.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Charles Zuker, PhD, a professor of biochemistry, molecular biophysics and neuroscience at Columbia University and an Investigator with the Howard Hughes Medical Institute (HHMI).\n\nWe explore taste perception and how the brain transforms chemical signals from food into distinct taste experiences. We discuss how these taste signals shape both conscious choices and unconscious behavior, as well as how food preferences can change over time. Additionally, we discuss gut–brain signaling and explain why sugar is especially powerful at driving cravings. \n\nShow notes: https://go.hubermanlab.com/98yVjnK\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Charles Zuker\n00:00:20 Senses & Perception \n00:02:29 Taste, 5 Taste Qualities & Dietary Needs\n00:05:49 Taste vs Flavor\n00:07:05 Taste Buds; Bitter\n00:08:54 Sweet vs Bitter, Sensory Perception from Tongue to Brain \n00:11:56 Taste Plasticity & Changing Food Preferences\n00:13:22 Taste Modulation; Salt\n00:16:17 Gut-Brain Signaling\n00:20:50 Sugar Appetite & Gut-Brain Axis; Artificial Sweeteners, Sugar Cravings \n00:26:34 Taste & Essential Nutrients; Highly Processed Foods; Brain & Food Choices\n00:30:07 Acknowledgements\n\n#HubermanLab #Science #Biology\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Biology of Taste Perception & Sugar Craving | Dr. Charles Zuker", "b10118e1-c321-4003-b291-44b48fd29519", 1853, false, "cru_4P6qVYQ", "https://www.youtube.com/watch?v=cru_4P6qVYQ", 28, "/downloads/Andrew Huberman/2026-03-05 Essentials: The Biology of Taste Perception & Sugar Craving | Dr. Charles Zuker/Essentials: The Biology of Taste Perception & Sugar Craving | Dr. Charles Zuker [cru_4P6qVYQ].mp4", false, false, false, 4, [], 1, ~U[2026-03-05 13:01:12Z], ~U[2026-09-16 17:11:57Z], ~U[2026-09-16 17:11:57Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Charles Zuker, PhD, a professor of biochemistry, molecular biophysics and neuroscience at Columbia University and an Investigator with the Howard Hughes Medical Institute (HHMI).\n\nWe explore taste perception and how the brain transforms chemical signals from food into distinct taste experiences. We discuss how these taste signals shape both conscious choices and unconscious behavior, as well as how food preferences can change over time. Additionally, we discuss gut–brain signaling and explain why sugar is especially powerful at driving cravings. \n\nShow notes: https://go.hubermanlab.com/98yVjnK\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Charles Zuker\n00:00:20 Senses & Perception \n00:02:29 Taste, 5 Taste Qualities & Dietary Needs\n00:05:49 Taste vs Flavor\n00:07:05 Taste Buds; Bitter\n00:08:54 Sweet vs Bitter, Sensory Perception from Tongue to Brain \n00:11:56 Taste Plasticity & Changing Food Preferences\n00:13:22 Taste Modulation; Salt\n00:16:17 Gut-Brain Signaling\n00:20:50 Sugar Appetite & Gut-Brain Axis; Artificial Sweeteners, Sugar Cravings \n00:26:34 Taste & Essential Nutrients; Highly Processed Foods; Brain & Food Choices\n00:30:07 Acknowledgements\n\n#HubermanLab #Science #Biology\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Biology of Taste Perception & Sugar Craving | Dr. Charles Zuker", 1853, false, "cru_4P6qVYQ", "https://www.youtube.com/watch?v=cru_4P6qVYQ", "/downloads/Andrew Huberman/2026-03-05 Essentials: The Biology of Taste Perception & Sugar Craving | Dr. Charles Zuker/Essentials: The Biology of Taste Perception & Sugar Craving | Dr. Charles Zuker [cru_4P6qVYQ].mp4", false, 4, ~U[2026-03-05 13:01:12Z]] 17:11:57.060 [debug] QUERY OK source="sources" db=0.2ms idle=311.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:57.060 [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] 17:11:57.061 [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 [167] 17:11:57.061 [debug] Current batch of media processed. Will check again in 1000ms 17:11:57.561 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Setup n8n in 5 min with https://hostinger.com/ncn8n + use code NETWORKCHUCK for a discount. \n\n🔥🧠 Check out our N8N COURSE on NetworkChuck Academy!: https://ntck.co/n8n_academy \n\nIn this video, I take n8n to the NEXT LEVEL by building an AI agent. Meet my new IT employee “Terry” who can monitor, troubleshoot, and even fix my homelab. From Docker containers to Plex, Proxmox, and UniFi, Terry learns how to keep everything running smoothly. This is not just automation; this is AI running my ENTIRE homelab.\n\nGUIDE / RESOURCES:\n\n📃 Guide / Documentation: https://github.com/theNetworkChuck/n8n-terry-guide\n\n📺 Part 1 (Baby Terry – first n8n video): https://youtu.be/ONgECvZNI3o?si=xCwIMQLjIjug-hNP\n\n\nTIMESTAMPS:\n\n0:00 - Intro: Meet Terminator Terry (The AI IT Employee)\n0:58 - Employee Onboarding: Teaching Terry the Basics\n2:22 - Setting Up n8n in the Cloud (Hostinger Setup)\n2:58 - Connecting Terry to Your Homelab with Twingate\n3:15 - Building Terry's First Workflow in n8n\n4:01 - Creating a Test Website (Docker Container Setup)\n5:00 - Terry's First Tool: HTTP Request (Website Monitoring)\n6:11 - Teaching Terry to Monitor Like a Human\n7:43 - Terry's Second Tool: SSH Access (Docker Commands)\n10:00 - Converting SSH to a Workflow Tool\n11:06 - Terry Learns to Troubleshoot (Docker PS & Inspect)\n13:05 - Giving Terry More Freedom (Dynamic Commands)\n14:16 - Making Terry Autonomous (Schedule Trigger Setup)\n17:54 - Telegram Notifications: Terry Reports Back\n19:24 - Structured Output: Teaching Terry Clean Data\n22:33 - Smart Filtering: Only Alert on Problems\n23:09 - Level 2 Engineer: Teaching Terry to Fix Things\n24:49 - The Port Conflict Challenge (Terry's First Real Test)\n26:42 - Upgrading Terry's Brain (GPT-4 vs Mini)\n28:18 - Human-in-the-Loop: Taking Back Control\n30:27 - Setting Up Approval Workflows\n32:02 - Terry Asks Permission Before System Changes\n35:06 - Testing the Complete Workflow (Monitor → Troubleshoot → Approve → Fix)\n37:02 - Connecting Terry to Your Real Homelab\n37:40 - Unifi Network Control (API Integration)\n38:55 - Proxmox Integration (CLI & API Access)\n\n\n\n\n\n🔥🔥Join the NetworkChuck Academy!: https://ntck.co/NCAcademy \n\n\n\n**Sponsored by Hostinger \n\n\n\n\n\n\n\nSUPPORT NETWORKCHUCK\n---------------------------------------------------\n➡️NetworkChuck membership: https://ntck.co/Premium \n☕☕ COFFEE and MERCH: https://ntck.co/coffee \n\nCheck out my new channel: https://ntck.co/ncclips \n\n🆘🆘NEED HELP?? Join the Discord Server: https://discord.gg/networkchuck \n\nSTUDY WITH ME on Twitch: https://bit.ly/nc_twitch \n\nREADY TO LEARN??\n---------------------------------------------------\n-Learn Python: https://bit.ly/3rzZjzz \n-Get your CCNA: https://bit.ly/nc-ccna \n\nFOLLOW ME EVERYWHERE\n---------------------------------------------------\nInstagram: https://www.instagram.com/networkchuck/ \nTwitter: https://twitter.com/networkchuck \nFacebook: https://www.facebook.com/NetworkChuck/ \nJoin the Discord server: http://bit.ly/nc-discord \n\n\n\n\nAFFILIATES & REFERRALS\n---------------------------------------------------\n(GEAR I USE...STUFF I RECOMMEND)\nMy network gear: https://geni.us/L6wyIUj \nAmazon Affiliate Store: https://www.amazon.com/shop/networkchuck \nBuy a Raspberry Pi: https://geni.us/aBeqAL\nDo you want to know how I draw on the screen?? Go to https://ntck.co/EpicPen and use code NetworkChuck to get 20% off!! \nfast and reliable unifi in the cloud: https://hostifi.com/?via=chuck\n\nhow to use n8n to automate your homelab\nhow to build an ai agent with n8n\nhow to monitor docker containers with n8n\nhow to automate proxmox with n8n\nhow to set up plex monitoring in n8n\nhow to use n8n with unifi\nhow to make ai troubleshoot your server\nhow to automate your home network with n8n\nhow to connect telegram alerts to n8n\nhow to build a self hosted ai helpdesk with n8n\nhow to teach ai to monitor your website with n8n\nhow to restart docker containers automatically with n8n\nhow to use ssh in n8n workflows\nhow to integrate api monitoring into n8n\nhow to use n8n for server monitoring\nhow to automate plex and unifi with n8n\nhow to run ai workflows with n8n\nhow to set up automated t" <> ..., "duration" => 2837, "filename" => "/downloads/NetworkChuck/2025-10-03 n8n Now Runs My ENTIRE Homelab/n8n Now Runs My ENTIRE Homelab [budTmdQfXYU].mp4", "id" => "budTmdQfXYU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=budTmdQfXYU", "playlist_index" => 18, "timestamp" => 1759515425, "title" => "n8n Now Runs My ENTIRE Homelab", "upload_date" => "20251003"} 17:11:57.562 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=502.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:57.564 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=502.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:57.565 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=503.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-03 18:17:05Z], 2] 17:11:57.570 [debug] QUERY OK source="media_items" db=3.2ms idle=504.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Setup n8n in 5 min with https://hostinger.com/ncn8n + use code NETWORKCHUCK for a discount. \n\n🔥🧠 Check out our N8N COURSE on NetworkChuck Academy!: https://ntck.co/n8n_academy \n\nIn this video, I take n8n to the NEXT LEVEL by building an AI agent. Meet my new IT employee “Terry” who can monitor, troubleshoot, and even fix my homelab. From Docker containers to Plex, Proxmox, and UniFi, Terry learns how to keep everything running smoothly. This is not just automation; this is AI running my ENTIRE homelab.\n\nGUIDE / RESOURCES:\n\n📃 Guide / Documentation: https://github.com/theNetworkChuck/n8n-terry-guide\n\n📺 Part 1 (Baby Terry – first n8n video): https://youtu.be/ONgECvZNI3o?si=xCwIMQLjIjug-hNP\n\n\nTIMESTAMPS:\n\n0:00 - Intro: Meet Terminator Terry (The AI IT Employee)\n0:58 - Employee Onboarding: Teaching Terry the Basics\n2:22 - Setting Up n8n in the Cloud (Hostinger Setup)\n2:58 - Connecting Terry to Your Homelab with Twingate\n3:15 - Building Terry's First Workflow in n8n\n4:01 - Creating a Test Website (Docker Container Setup)\n5:00 - Terry's First Tool: HTTP Request (Website Monitoring)\n6:11 - Teaching Terry to Monitor Like a Human\n7:43 - Terry's Second Tool: SSH Access (Docker Commands)\n10:00 - Converting SSH to a Workflow Tool\n11:06 - Terry Learns to Troubleshoot (Docker PS & Inspect)\n13:05 - Giving Terry More Freedom (Dynamic Commands)\n14:16 - Making Terry Autonomous (Schedule Trigger Setup)\n17:54 - Telegram Notifications: Terry Reports Back\n19:24 - Structured Output: Teaching Terry Clean Data\n22:33 - Smart Filtering: Only Alert on Problems\n23:09 - Level 2 Engineer: Teaching Terry to Fix Things\n24:49 - The Port Conflict Challenge (Terry's First Real Test)\n26:42 - Upgrading Terry's Brain (GPT-4 vs Mini)\n28:18 - Human-in-the-Loop: Taking Back Control\n30:27 - Setting Up Approval Workflows\n32:02 - Terry Asks Permission Before System Changes\n35:06 - Testing the Complete Workflow (Monitor → Troubleshoot → Approve → Fix)\n37:02 - Connecting Terry to Your Real Homelab\n37:40 - Unifi Network Control (API Integration)\n38:55 - Proxmox Integration (CLI & API Access)\n\n\n\n\n\n🔥🔥Join the NetworkChuck Academy!: https://ntck.co/NCAcademy \n\n\n\n**Sponsored by Hostinger \n\n\n\n\n\n\n\nSUPPORT NETWORKCHUCK\n---------------------------------------------------\n➡️NetworkChuck membership: https://ntck.co/Premium \n☕☕ COFFEE and MERCH: https://ntck.co/coffee \n\nCheck out my new channel: https://ntck.co/ncclips \n\n🆘🆘NEED HELP?? Join the Discord Server: https://discord.gg/networkchuck \n\nSTUDY WITH ME on Twitch: https://bit.ly/nc_twitch \n\nREADY TO LEARN??\n---------------------------------------------------\n-Learn Python: https://bit.ly/3rzZjzz \n-Get your CCNA: https://bit.ly/nc-ccna \n\nFOLLOW ME EVERYWHERE\n---------------------------------------------------\nInstagram: https://www.instagram.com/networkchuck/ \nTwitter: https://twitter.com/networkchuck \nFacebook: https://www.facebook.com/NetworkChuck/ \nJoin the Discord server: http://bit.ly/nc-discord \n\n\n\n\nAFFILIATES & REFERRALS\n---------------------------------------------------\n(GEAR I USE...STUFF I RECOMMEND)\nMy network gear: https://geni.us/L6wyIUj \nAmazon Affiliate Store: https://www.amazon.com/shop/networkchuck \nBuy a Raspberry Pi: https://geni.us/aBeqAL\nDo you want to know how I draw on the screen?? Go to https://ntck.co/EpicPen and use code NetworkChuck to get 20% off!! \nfast and reliable unifi in the cloud: https://hostifi.com/?via=chuck\n\nhow to use n8n to automate your homelab\nhow to build an ai agent with n8n\nhow to monitor docker containers with n8n\nhow to automate proxmox with n8n\nhow to set up plex monitoring in n8n\nhow to use n8n with unifi\nhow to make ai troubleshoot your server\nhow to automate your home network with n8n\nhow to connect telegram alerts to n8n\nhow to build a self hosted ai helpdesk with n8n\nhow to teach ai to monitor your website with n8n\nhow to restart docker containers automatically with n8n\nhow to use ssh in n8n workflows\nhow to integrate api monitoring into n8n\nhow to use n8n for server monitoring\nhow to automate plex and unifi with n8n\nhow to run ai workflows with n8n\nhow to set up automated t" <> ..., "n8n Now Runs My ENTIRE Homelab", "17590c9e-1a45-413c-b61e-8c055e055d57", 2837, false, "budTmdQfXYU", "https://www.youtube.com/watch?v=budTmdQfXYU", 18, "/downloads/NetworkChuck/2025-10-03 n8n Now Runs My ENTIRE Homelab/n8n Now Runs My ENTIRE Homelab [budTmdQfXYU].mp4", false, false, false, 2, [], 1, ~U[2025-10-03 18:17:05Z], ~U[2026-09-16 17:11:57Z], ~U[2026-09-16 17:11:57Z], "Setup n8n in 5 min with https://hostinger.com/ncn8n + use code NETWORKCHUCK for a discount. \n\n🔥🧠 Check out our N8N COURSE on NetworkChuck Academy!: https://ntck.co/n8n_academy \n\nIn this video, I take n8n to the NEXT LEVEL by building an AI agent. Meet my new IT employee “Terry” who can monitor, troubleshoot, and even fix my homelab. From Docker containers to Plex, Proxmox, and UniFi, Terry learns how to keep everything running smoothly. This is not just automation; this is AI running my ENTIRE homelab.\n\nGUIDE / RESOURCES:\n\n📃 Guide / Documentation: https://github.com/theNetworkChuck/n8n-terry-guide\n\n📺 Part 1 (Baby Terry – first n8n video): https://youtu.be/ONgECvZNI3o?si=xCwIMQLjIjug-hNP\n\n\nTIMESTAMPS:\n\n0:00 - Intro: Meet Terminator Terry (The AI IT Employee)\n0:58 - Employee Onboarding: Teaching Terry the Basics\n2:22 - Setting Up n8n in the Cloud (Hostinger Setup)\n2:58 - Connecting Terry to Your Homelab with Twingate\n3:15 - Building Terry's First Workflow in n8n\n4:01 - Creating a Test Website (Docker Container Setup)\n5:00 - Terry's First Tool: HTTP Request (Website Monitoring)\n6:11 - Teaching Terry to Monitor Like a Human\n7:43 - Terry's Second Tool: SSH Access (Docker Commands)\n10:00 - Converting SSH to a Workflow Tool\n11:06 - Terry Learns to Troubleshoot (Docker PS & Inspect)\n13:05 - Giving Terry More Freedom (Dynamic Commands)\n14:16 - Making Terry Autonomous (Schedule Trigger Setup)\n17:54 - Telegram Notifications: Terry Reports Back\n19:24 - Structured Output: Teaching Terry Clean Data\n22:33 - Smart Filtering: Only Alert on Problems\n23:09 - Level 2 Engineer: Teaching Terry to Fix Things\n24:49 - The Port Conflict Challenge (Terry's First Real Test)\n26:42 - Upgrading Terry's Brain (GPT-4 vs Mini)\n28:18 - Human-in-the-Loop: Taking Back Control\n30:27 - Setting Up Approval Workflows\n32:02 - Terry Asks Permission Before System Changes\n35:06 - Testing the Complete Workflow (Monitor → Troubleshoot → Approve → Fix)\n37:02 - Connecting Terry to Your Real Homelab\n37:40 - Unifi Network Control (API Integration)\n38:55 - Proxmox Integration (CLI & API Access)\n\n\n\n\n\n🔥🔥Join the NetworkChuck Academy!: https://ntck.co/NCAcademy \n\n\n\n**Sponsored by Hostinger \n\n\n\n\n\n\n\nSUPPORT NETWORKCHUCK\n---------------------------------------------------\n➡️NetworkChuck membership: https://ntck.co/Premium \n☕☕ COFFEE and MERCH: https://ntck.co/coffee \n\nCheck out my new channel: https://ntck.co/ncclips \n\n🆘🆘NEED HELP?? Join the Discord Server: https://discord.gg/networkchuck \n\nSTUDY WITH ME on Twitch: https://bit.ly/nc_twitch \n\nREADY TO LEARN??\n---------------------------------------------------\n-Learn Python: https://bit.ly (truncated) 17:11:57.571 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [2] 17:11:57.571 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 17:11:57.572 [debug] QUERY OK source="media_items" db=0.5ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [47050] 17:11:57.572 [debug] Current batch of media processed. Will check again in 1000ms 17:11:58.062 [debug] Current batch of media processed. Will check again in 1000ms 17:11:58.574 [debug] Current batch of media processed. Will check again in 1000ms 17:11:59.063 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how different wavelengths of light affect the human body and how light exposure can improve sleep quality, mood and daytime alertness while supporting healthy hormone regulation. I also discuss the therapeutic use of ultraviolet and infrared/red light for a wide variety of benefits, including improved skin health and offsetting age-related vision loss. I explain the biological mechanisms behind these light-based therapies and offer practical tools that listeners can use to improve both their mental and physical well-being.\n\nShow notes: https://go.hubermanlab.com/HDM1kqz\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Light\n00:00:47 Physics of Light\n00:01:57 Light & Body, Rods & Cones, Skin, Seasons & Melatonin\n00:05:01 Melatonin Supplements?, Tool: Seasonal Sun Exposure; Reduce Night Light\n00:09:15 Light, UVB, Skin Exposure, Testosterone & Estrogen, Fertility\n00:12:38 UVB Light & Improved Pain Tolerance\n00:14:54 Tool: Daily Sunlight Exposure Protocol; Blue Blockers\n00:17:08 Seasonal Affective Disorder (SAD), Year-Round Sunlight Exposure\n00:19:16 Enhanced Immune Function & UVB Light, Tool: Winter Light Exposure\n00:21:37 Light, Wound Healing, Hair & Nail Growth \n00:23:03 Tool: Mood, Dopamine & Avoid Nighttime UVB Light\n00:25:38 Red Light Therapy, Infrared Light, Acne, Wound Healing & Scars; Mitochondria\n00:29:19 Offset Age-Related Eyesight Decline, Red Light\n00:33:35 Tool: Red Light Protocol, Frequency & Timing\n00:36:15 Red Light for Shift Workers\n00:37:55 Recap\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2309, "filename" => "/downloads/Andrew Huberman/2026-02-26 Using Light (Sunlight, Blue Light & Red Light) to Optimize Health | Huberman Lab Essentials/Using Light (Sunlight, Blue Light & Red Light) to Optimize Health | Huberman Lab Essentials [7UeojKTzeHE].mp4", "id" => "7UeojKTzeHE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7UeojKTzeHE", "playlist_index" => 29, "timestamp" => 1772110812, "title" => "Using Light (Sunlight, Blue Light & Red Light) to Optimize Health | Huberman Lab Essentials", "upload_date" => "20260226"} 17:11:59.063 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=683.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:11:59.064 [debug] QUERY OK source="sources" db=0.2ms idle=316.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:59.065 [debug] QUERY OK source="media_items" db=0.4ms idle=316.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 13:00:12Z], 4] 17:11:59.067 [debug] QUERY OK source="media_items" db=1.4ms idle=317.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how different wavelengths of light affect the human body and how light exposure can improve sleep quality, mood and daytime alertness while supporting healthy hormone regulation. I also discuss the therapeutic use of ultraviolet and infrared/red light for a wide variety of benefits, including improved skin health and offsetting age-related vision loss. I explain the biological mechanisms behind these light-based therapies and offer practical tools that listeners can use to improve both their mental and physical well-being.\n\nShow notes: https://go.hubermanlab.com/HDM1kqz\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Light\n00:00:47 Physics of Light\n00:01:57 Light & Body, Rods & Cones, Skin, Seasons & Melatonin\n00:05:01 Melatonin Supplements?, Tool: Seasonal Sun Exposure; Reduce Night Light\n00:09:15 Light, UVB, Skin Exposure, Testosterone & Estrogen, Fertility\n00:12:38 UVB Light & Improved Pain Tolerance\n00:14:54 Tool: Daily Sunlight Exposure Protocol; Blue Blockers\n00:17:08 Seasonal Affective Disorder (SAD), Year-Round Sunlight Exposure\n00:19:16 Enhanced Immune Function & UVB Light, Tool: Winter Light Exposure\n00:21:37 Light, Wound Healing, Hair & Nail Growth \n00:23:03 Tool: Mood, Dopamine & Avoid Nighttime UVB Light\n00:25:38 Red Light Therapy, Infrared Light, Acne, Wound Healing & Scars; Mitochondria\n00:29:19 Offset Age-Related Eyesight Decline, Red Light\n00:33:35 Tool: Red Light Protocol, Frequency & Timing\n00:36:15 Red Light for Shift Workers\n00:37:55 Recap\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Light (Sunlight, Blue Light & Red Light) to Optimize Health | Huberman Lab Essentials", "2d186850-e855-4419-bcaa-73d97cafa86a", 2309, false, "7UeojKTzeHE", "https://www.youtube.com/watch?v=7UeojKTzeHE", 29, "/downloads/Andrew Huberman/2026-02-26 Using Light (Sunlight, Blue Light & Red Light) to Optimize Health | Huberman Lab Essentials/Using Light (Sunlight, Blue Light & Red Light) to Optimize Health | Huberman Lab Essentials [7UeojKTzeHE].mp4", false, false, false, 4, [], 1, ~U[2026-02-26 13:00:12Z], ~U[2026-09-16 17:11:59Z], ~U[2026-09-16 17:11:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how different wavelengths of light affect the human body and how light exposure can improve sleep quality, mood and daytime alertness while supporting healthy hormone regulation. I also discuss the therapeutic use of ultraviolet and infrared/red light for a wide variety of benefits, including improved skin health and offsetting age-related vision loss. I explain the biological mechanisms behind these light-based therapies and offer practical tools that listeners can use to improve both their mental and physical well-being.\n\nShow notes: https://go.hubermanlab.com/HDM1kqz\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Light\n00:00:47 Physics of Light\n00:01:57 Light & Body, Rods & Cones, Skin, Seasons & Melatonin\n00:05:01 Melatonin Supplements?, Tool: Seasonal Sun Exposure; Reduce Night Light\n00:09:15 Light, UVB, Skin Exposure, Testosterone & Estrogen, Fertility\n00:12:38 UVB Light & Improved Pain Tolerance\n00:14:54 Tool: Daily Sunlight Exposure Protocol; Blue Blockers\n00:17:08 Seasonal Affective Disorder (SAD), Year-Round Sunlight Exposure\n00:19:16 Enhanced Immune Function & UVB Light, Tool: Winter Light Exposure\n00:21:37 Light, Wound Healing, Hair & Nail Growth \n00:23:03 Tool: Mood, Dopamine & Avoid Nighttime UVB Light\n00:25:38 Red Light Therapy, Infrared Light, Acne, Wound Healing & Scars; Mitochondria\n00:29:19 Offset Age-Related Eyesight Decline, Red Light\n00:33:35 Tool: Red Light Protocol, Frequency & Timing\n00:36:15 Red Light for Shift Workers\n00:37:55 Recap\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Light (Sunlight, Blue Light & Red Light) to Optimize Health | Huberman Lab Essentials", 2309, false, "7UeojKTzeHE", "https://www.youtube.com/watch?v=7UeojKTzeHE", "/downloads/Andrew Huberman/2026-02-26 Using Light (Sunlight, Blue Light & Red Light) to Optimize Health | Huberman Lab Essentials/Using Light (Sunlight, Blue Light & Red Light) to Optimize Health | Huberman Lab Essentials [7UeojKTzeHE].mp4", false, 4, ~U[2026-02-26 13:00:12Z]] 17:11:59.067 [debug] QUERY OK source="sources" db=0.2ms idle=319.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:11:59.068 [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] 17:11:59.068 [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 [168] 17:11:59.068 [debug] Current batch of media processed. Will check again in 1000ms 17:11:59.575 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Are you tired of that little voice in your head telling you you’re not ready, not good enough, or that everything will fall apart if you take one wrong step? In this full 41‑minute talk, Dr. Jordan Peterson pulls no punches and breaks down exactly how to overcome self-doubt and fear — not with empty affirmations, but with the psychological and philosophical tools that actually rewire your mind.\n\nThis isn’t fluffy motivation. It’s a deep dive into why your brain defaults to anxiety, how you unknowingly feed your own insecurity, and the brutally honest steps you need to take if you truly want to stop standing in your own way. If you’ve ever struggled with procrastination, impostor syndrome, or that paralysing “what if” loop, grab a notebook — this lecture will change the way you see yourself.\n\n📌 IN THIS VIDEO YOU’LL LEARN\n\n· The hidden biological purpose of self-doubt (and why it isn’t your enemy)\n· How the fear of chaos keeps you small — and the archetype of the dragon that demands to be faced\n· Why your “safe” life is actually making your anxiety worse\n· The shadow side of your personality, and why integrating it makes you genuinely confident\n· A step-by-step look at voluntary exposure to fear (and the science that makes it work)\n· How to stop comparing yourself to others and start competing with who you were yesterday\n· The one question you must answer honestly if you ever want to feel competent and free\n\n⏱️ CHAPTERS — jump straight to what you need\n00:00 — The monster you’re avoiding right now\n04:22 — What self-doubt is really trying to tell you\n09:50 — The danger of playing it safe at all costs\n15:30 — Integrating the shadow (this part is uncomfortable but necessary)\n21:15 — The brutal truth about exposure and courage\n28:40 — Compete with your yesterday self, not anyone else\n34:10 — What it actually means to pick up your cross\n38:25 — The final challenge: can you answer this honestly?\n\n💬 QUESTION FOR YOU\nWhich fear has had the loudest voice in your life lately? Drop it in the comments — I read every single one, and you’ll be surprised how many people share your story. When you name it, you start taking its power away.\n\n🔔 If this hit home, SMASH that like button and hit subscribe with the notification bell on. We’re building a community of people who refuse to live small and aren’t afraid to do the hard work.\n\n📚 GO DEEPER\n\n· Watch next → “Jordan Peterson – How to Become Dangerous (And Why You Must)” https://youtu.be/aX7PeMj_XFs\n· Dr. Peterson’s latest book “We Who Wrestle With God” → https://amzn.to/4358on9 \n· Future Authoring Program (the self-authoring suite that uses these principles) → https://www.selfauthoring.com/\n\n🌐 CONNECT WITH DR. JORDAN PETERSON\n· YouTube: @JordanBPeterson\n· Website: jordanbpeterson.com\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n\n#JordanPeterson #OvercomeSelfDoubt #FaceYourFears #SelfDoubt #Psychology #PersonalDevelopment #AnxietyRelief #Motivation2026 #MentalHealthMatters #WeWhoWrestleWithGod\n\nDisclaimer: This video is for educational purposes and reflects Dr. Peterson’s psychological and philosophical insights. It is not a substitute for professional therapy.", "duration" => 2511, "filename" => "/downloads/Jordan Peterson Rules for Life/2026-07-13 Jordan Peterson: "Overcome Self Doubt and Fear"/Jordan Peterson: "Overcome Self Doubt and Fear" [lIh9jSwo9g0].mp4", "id" => "lIh9jSwo9g0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lIh9jSwo9g0", "playlist_index" => 19, "timestamp" => 1783960225, "title" => "Jordan Peterson: \"Overcome Self Doubt and Fear\"", "upload_date" => "20260713"} 17:11:59.576 [debug] QUERY OK source="sources" db=0.2ms idle=508.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:11:59.576 [debug] QUERY OK source="sources" db=0.2ms idle=508.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:59.577 [debug] QUERY OK source="media_items" db=0.2ms idle=508.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-13 16:30:25Z], 2] 17:11:59.580 [debug] QUERY OK source="media_items" db=2.0ms idle=508.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Are you tired of that little voice in your head telling you you’re not ready, not good enough, or that everything will fall apart if you take one wrong step? In this full 41‑minute talk, Dr. Jordan Peterson pulls no punches and breaks down exactly how to overcome self-doubt and fear — not with empty affirmations, but with the psychological and philosophical tools that actually rewire your mind.\n\nThis isn’t fluffy motivation. It’s a deep dive into why your brain defaults to anxiety, how you unknowingly feed your own insecurity, and the brutally honest steps you need to take if you truly want to stop standing in your own way. If you’ve ever struggled with procrastination, impostor syndrome, or that paralysing “what if” loop, grab a notebook — this lecture will change the way you see yourself.\n\n📌 IN THIS VIDEO YOU’LL LEARN\n\n· The hidden biological purpose of self-doubt (and why it isn’t your enemy)\n· How the fear of chaos keeps you small — and the archetype of the dragon that demands to be faced\n· Why your “safe” life is actually making your anxiety worse\n· The shadow side of your personality, and why integrating it makes you genuinely confident\n· A step-by-step look at voluntary exposure to fear (and the science that makes it work)\n· How to stop comparing yourself to others and start competing with who you were yesterday\n· The one question you must answer honestly if you ever want to feel competent and free\n\n⏱️ CHAPTERS — jump straight to what you need\n00:00 — The monster you’re avoiding right now\n04:22 — What self-doubt is really trying to tell you\n09:50 — The danger of playing it safe at all costs\n15:30 — Integrating the shadow (this part is uncomfortable but necessary)\n21:15 — The brutal truth about exposure and courage\n28:40 — Compete with your yesterday self, not anyone else\n34:10 — What it actually means to pick up your cross\n38:25 — The final challenge: can you answer this honestly?\n\n💬 QUESTION FOR YOU\nWhich fear has had the loudest voice in your life lately? Drop it in the comments — I read every single one, and you’ll be surprised how many people share your story. When you name it, you start taking its power away.\n\n🔔 If this hit home, SMASH that like button and hit subscribe with the notification bell on. We’re building a community of people who refuse to live small and aren’t afraid to do the hard work.\n\n📚 GO DEEPER\n\n· Watch next → “Jordan Peterson – How to Become Dangerous (And Why You Must)” https://youtu.be/aX7PeMj_XFs\n· Dr. Peterson’s latest book “We Who Wrestle With God” → https://amzn.to/4358on9 \n· Future Authoring Program (the self-authoring suite that uses these principles) → https://www.selfauthoring.com/\n\n🌐 CONNECT WITH DR. JORDAN PETERSON\n· YouTube: @JordanBPeterson\n· Website: jordanbpeterson.com\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n\n#JordanPeterson #OvercomeSelfDoubt #FaceYourFears #SelfDoubt #Psychology #PersonalDevelopment #AnxietyRelief #Motivation2026 #MentalHealthMatters #WeWhoWrestleWithGod\n\nDisclaimer: This video is for educational purposes and reflects Dr. Peterson’s psychological and philosophical insights. It is not a substitute for professional therapy.", "Jordan Peterson: \"Overcome Self Doubt and Fear\"", "8877e270-883a-485a-8f4e-52e3073b702d", 2511, false, "lIh9jSwo9g0", "https://www.youtube.com/watch?v=lIh9jSwo9g0", 19, "/downloads/Jordan Peterson Rules for Life/2026-07-13 Jordan Peterson: "Overcome Self Doubt and Fear"/Jordan Peterson: "Overcome Self Doubt and Fear" [lIh9jSwo9g0].mp4", false, false, false, 2, [], 1, ~U[2026-07-13 16:30:25Z], ~U[2026-09-16 17:11:59Z], ~U[2026-09-16 17:11:59Z], "Are you tired of that little voice in your head telling you you’re not ready, not good enough, or that everything will fall apart if you take one wrong step? In this full 41‑minute talk, Dr. Jordan Peterson pulls no punches and breaks down exactly how to overcome self-doubt and fear — not with empty affirmations, but with the psychological and philosophical tools that actually rewire your mind.\n\nThis isn’t fluffy motivation. It’s a deep dive into why your brain defaults to anxiety, how you unknowingly feed your own insecurity, and the brutally honest steps you need to take if you truly want to stop standing in your own way. If you’ve ever struggled with procrastination, impostor syndrome, or that paralysing “what if” loop, grab a notebook — this lecture will change the way you see yourself.\n\n📌 IN THIS VIDEO YOU’LL LEARN\n\n· The hidden biological purpose of self-doubt (and why it isn’t your enemy)\n· How the fear of chaos keeps you small — and the archetype of the dragon that demands to be faced\n· Why your “safe” life is actually making your anxiety worse\n· The shadow side of your personality, and why integrating it makes you genuinely confident\n· A step-by-step look at voluntary exposure to fear (and the science that makes it work)\n· How to stop comparing yourself to others and start competing with who you were yesterday\n· The one question you must answer honestly if you ever want to feel competent and free\n\n⏱️ CHAPTERS — jump straight to what you need\n00:00 — The monster you’re avoiding right now\n04:22 — What self-doubt is really trying to tell you\n09:50 — The danger of playing it safe at all costs\n15:30 — Integrating the shadow (this part is uncomfortable but necessary)\n21:15 — The brutal truth about exposure and courage\n28:40 — Compete with your yesterday self, not anyone else\n34:10 — What it actually means to pick up your cross\n38:25 — The final challenge: can you answer this honestly?\n\n💬 QUESTION FOR YOU\nWhich fear has had the loudest voice in your life lately? Drop it in the comments — I read every single one, and you’ll be surprised how many people share your story. When you name it, you start taking its power away.\n\n🔔 If this hit home, SMASH that like button and hit subscribe with the notification bell on. We’re building a community of people who refuse to live small and aren’t afraid to do the hard work.\n\n📚 GO DEEPER\n\n· Watch next → “Jordan Peterson – How to Become Dangerous (And Why You Must)” https://youtu.be/aX7PeMj_XFs\n· Dr. Peterson’s latest book “We Who Wrestle With God” → https://amzn.to/4358on9 \n· Future Authoring Program (the self-authoring suite that uses these principles) → https://www.selfauthoring.com/\n\n🌐 CONNECT WITH DR. JORDAN PETERSON\n· YouTube: @JordanBPeterson\n· Website: jordanbpeterson.com\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n\n#JordanPeterson #OvercomeSelfDoubt #FaceYourFears #SelfDoubt #Psychology #PersonalDevelopment #AnxietyRelief #Motivation2026 #MentalHealthMatters #WeWhoWrestleWithGod\n\nDisclaimer: This video is for educational purposes and reflects Dr. Peterson’s psychological and philosophical insights. It is not a substitute for professional therapy.", "Jordan Peterson: \"Overcome Self Doubt and Fear\"", 2511, false, "lIh9jSwo9g0", "https://www.youtube.com/watch?v=lIh9jSwo9g0", "/downloads/Jordan Peterson Rules for Life/2026-07-13 Jordan Pet (truncated) 17:11:59.580 [debug] QUERY OK source="sources" db=0.4ms idle=197.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:11:59.581 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:11:59.582 [debug] QUERY OK source="media_items" db=0.4ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [65214] 17:11:59.582 [debug] Current batch of media processed. Will check again in 1000ms 17:12:00.039 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:12:00.071 [debug] Current batch of media processed. Will check again in 1000ms 17:12:00.359 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLxtPwTvOWboAKRYB1GOsERomWHEoYM7Mz --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/%(channel)S/%(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[format_note*=original]/bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/29/f1/29f182cbfa4fd05637edd64e97fb25bc43a799095e78e11be95b55ce53c443bf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 17:12:00.360 [debug] Gracefully stopping file follower 17:12:00.360 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=780.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [2] 17:12:00.361 [debug] QUERY OK source="sources" db=0.3ms idle=780.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:12:00.362 [debug] QUERY OK source="media_items" db=0.3ms idle=780.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-07-16 01:14:51Z], 2] 17:12:00.364 [debug] QUERY OK source="media_items" db=1.9ms idle=780.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The first 1000 people who click this link will get 2 free months of Skillshare Premium: https://skl.sh/betterideas7\n\nI found these interesting:\n1. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3792469/\n2. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5820768\n3. https://www.sparringmind.com/supernormal-stimuli/\n4. https://amzn.to/2OvJho1\n5. https://amzn.to/2ZzLW6x\n\nSubreddit: https://reddit.com/r/betterideas\n\nInstagram: https://instagram.com/joeyschweitzer\nTwitter: https://twitter.com/joeyschweitz\nSecond channel: https://www.youtube.com/channel/UCqRnyszSh6EslfZA-BJfftw\n\nDescription babble (aka, pleading to the algorithm gods):\nThis is a video about overstimulation, dopamine, social media addiction, internet addiction, and a bunch of other things. It's also about self improvement, productivity, and things like that. My name is Joey Schweitzer and this is my channel. I have no clue if any of this helps the algorithm, but I'm doing it anyways for good luck. Better Ideas is also a thing.\n🎥 The Gear I Use: https://kit.co/betterideas", "How overstimulation is ruining your life", "a6a18cfa-b4ec-4b17-801b-66aa17d4feaf", 673, false, "yYWvUoN4yt8", "https://www.youtube.com/watch?v=yYWvUoN4yt8", 1, "/downloads/Better Ideas/2020-07-16 How overstimulation is ruining your life/How overstimulation is ruining your life [yYWvUoN4yt8].mp4", false, false, false, 2, [], 1, ~U[2020-07-16 01:14:51Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "The first 1000 people who click this link will get 2 free months of Skillshare Premium: https://skl.sh/betterideas7\n\nI found these interesting:\n1. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3792469/\n2. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5820768\n3. https://www.sparringmind.com/supernormal-stimuli/\n4. https://amzn.to/2OvJho1\n5. https://amzn.to/2ZzLW6x\n\nSubreddit: https://reddit.com/r/betterideas\n\nInstagram: https://instagram.com/joeyschweitzer\nTwitter: https://twitter.com/joeyschweitz\nSecond channel: https://www.youtube.com/channel/UCqRnyszSh6EslfZA-BJfftw\n\nDescription babble (aka, pleading to the algorithm gods):\nThis is a video about overstimulation, dopamine, social media addiction, internet addiction, and a bunch of other things. It's also about self improvement, productivity, and things like that. My name is Joey Schweitzer and this is my channel. I have no clue if any of this helps the algorithm, but I'm doing it anyways for good luck. Better Ideas is also a thing.\n🎥 The Gear I Use: https://kit.co/betterideas", "How overstimulation is ruining your life", 673, false, "yYWvUoN4yt8", "https://www.youtube.com/watch?v=yYWvUoN4yt8", "/downloads/Better Ideas/2020-07-16 How overstimulation is ruining your life/How overstimulation is ruining your life [yYWvUoN4yt8].mp4", false, 2, ~U[2020-07-16 01:14:51Z]] 17:12:00.365 [debug] QUERY OK source="sources" db=0.2ms idle=325.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:12:00.365 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-15 18:39:10Z], 2] 17:12:00.367 [debug] QUERY OK source="media_items" db=1.3ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["What if your \"laziness\" is actually your brain on overload? If you've been feeling tired, foggy, stuck or guilty for \"doing nothing\", this is for you.\n\nBONUS CONTENT 🎁\nHere's the PDF summary of this week's video: \nhttps://email.artofimprovement.co.uk/you-are-not-lazy-it-is-overstimulation\n\n📚 Need all the accompanying PDF, illustration & MP3s to all my videos? ➜ https://artofimprovement.co.uk/pro-library/\n\nWATCH THESE NEXT 🍿\n1️⃣ https://www.youtube.com/watch?v=czFxQpXB1AI\n\n2️⃣ https://www.youtube.com/watch?v=aehoGGCHkyw\n\n3️⃣ https://www.youtube.com/watch?v=uxv-PoWoWss&list=PLee1Of0B1qdho9luUJ4cZi3QQ_FywQHf_&pp=gAQBsAgC\n\n📧 Free Newsletter: https://email.artofimprovement.co.uk/\n\nABOUT ME\nHey 👋 Welcome to AOI! I'm your guide on this journey of self-discovery and growth. My mission is to share thought-provoking ideas, practical life skills, and inspirational stories to assist you in building a life filled with fulfillment, productivity, and creativity.\n\n🕒 TIMESTAMPS\n0:00 Start here\n0:45 What is Overstimulation?\n2:12 Signs You’re Overstimulated\n3:32 How Overstimulation Mimics Laziness\n4:47 How to Reduce Overstimulation\n6:08 Going Further - Replacing Chaos with Healthy Inputs\n7:32 Reclaiming Motivation & Productivity\n\n📈 SUBSCRIBE FOR MORE\nhttps://www.youtube.com/@TheArtofImprovement", "You're Not Lazy - It's Overstimulation", "c056851c-0e06-42ee-82f7-c35b403e9bd0", 551, false, "whwiBRHk5GQ", "https://www.youtube.com/watch?v=whwiBRHk5GQ", 2, "/downloads/The Art of Improvement/2026-03-15 You're Not Lazy - It's Overstimulation/You're Not Lazy - It's Overstimulation [whwiBRHk5GQ].mp4", false, false, false, 2, [], 1, ~U[2026-03-15 18:39:10Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "What if your \"laziness\" is actually your brain on overload? If you've been feeling tired, foggy, stuck or guilty for \"doing nothing\", this is for you.\n\nBONUS CONTENT 🎁\nHere's the PDF summary of this week's video: \nhttps://email.artofimprovement.co.uk/you-are-not-lazy-it-is-overstimulation\n\n📚 Need all the accompanying PDF, illustration & MP3s to all my videos? ➜ https://artofimprovement.co.uk/pro-library/\n\nWATCH THESE NEXT 🍿\n1️⃣ https://www.youtube.com/watch?v=czFxQpXB1AI\n\n2️⃣ https://www.youtube.com/watch?v=aehoGGCHkyw\n\n3️⃣ https://www.youtube.com/watch?v=uxv-PoWoWss&list=PLee1Of0B1qdho9luUJ4cZi3QQ_FywQHf_&pp=gAQBsAgC\n\n📧 Free Newsletter: https://email.artofimprovement.co.uk/\n\nABOUT ME\nHey 👋 Welcome to AOI! I'm your guide on this journey of self-discovery and growth. My mission is to share thought-provoking ideas, practical life skills, and inspirational stories to assist you in building a life filled with fulfillment, productivity, and creativity.\n\n🕒 TIMESTAMPS\n0:00 Start here\n0:45 What is Overstimulation?\n2:12 Signs You’re Overstimulated\n3:32 How Overstimulation Mimics Laziness\n4:47 How to Reduce Overstimulation\n6:08 Going Further - Replacing Chaos with Healthy Inputs\n7:32 Reclaiming Motivation & Productivity\n\n📈 SUBSCRIBE FOR MORE\nhttps://www.youtube.com/@TheArtofImprovement", "You're Not Lazy - It's Overstimulation", 551, false, "whwiBRHk5GQ", "https://www.youtube.com/watch?v=whwiBRHk5GQ", "/downloads/The Art of Improvement/2026-03-15 You're Not Lazy - It's Overstimulation/You're Not Lazy - It's Overstimulation [whwiBRHk5GQ].mp4", false, 2, ~U[2026-03-15 18:39:10Z]] 17:12:00.368 [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" = ?) [2] 17:12:00.368 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-23 14:30:27Z], 2] 17:12:00.371 [debug] QUERY OK source="media_items" db=1.7ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Big thanks to Brilliant for sponsoring this video. To try everything Brilliant has to offer, visit https://brilliant.org/davidbombal to start your 30 day free trial or scan the QR code onscreen – You’ll also get 20% off an annual premium subscription\n\nStephen Sims joins David Bombal to discuss Operational Security (OpSec) through the lens of the \"Darknet Marketplace Bible\" (DNM Bible). While this document is originally designed to help criminals evade law enforcement while buying illegal goods, Stephen argues it is an excellent resource for cybersecurity professionals, journalists, and privacy advocates to learn high-level anonymity and encryption techniques. \n\nDisclaimer: Both David and Stephen repeatedly emphasize that this content is for educational, privacy, and cybersecurity research purposes only. They do not advocate illegal activity. \n\n// Stephen's Social // \nTwitter: https://twitter.com/Steph3nSims \nYouTube: https://www.youtube.com/@OffByOneSecurity\n\n// David's SOCIAL // \nDiscord: https://discord.com/invite/usKSyzb \nX: https://www.twitter.com/davidbombal \nInstagram: https://www.instagram.com/davidbombal \nLinkedIn: https://www.linkedin.com/in/davidbombal \nFacebook: https://www.facebook.com/davidbombal.co \nTikTok: http://tiktok.com/@davidbombal \nYouTube: https://www.youtube.com/@davidbombal\nSpotify: https://open.spotify.com/show/3f6k6gERfuriI96efWWLQQ\nSoundCloud: https://soundcloud.com/davidbombal\nApple Podcast: https://podcasts.apple.com/us/podcast/david-bombal/id1466865532\n\n// MY STUFF //\n https://www.amazon.com/shop/davidbombal \n\n// SPONSORS // \nInterested in sponsoring my videos? Reach out to my team here: sponsors@davidbombal.com\n\n// MENU //\n0:00 - Coming up\n01:08 - Brilliant sponsored segment\n03:04 - Disclaimer\n03:07 - The Dark Web\n07:44 - What is the Dark Web?\n09:14 - The Dark Net Marketplace Bible\n11:42 - DOs and DON'Ts\n22:49 - Dark Net Directory\n26:09 - Dread walkthrough\n31:04 - Recommended Operating systems\n42:07 - VPNs, Tor & PGP\n53:23 - PGP // Creating key pairs\n01:03:53 - How to access Dark Net Marketplaces // Black Ops marketplace\n01:12 :39 - Recommended cryptocurrency for the Dark Web\n01:18:43 - Shipping\n01:21:12 - Communication methods\n01:27:28 - JavaScript warnings\n01:28:13 - Never trust external links\n01:29:29 - DNM Bible summary\n01:31:01 - Conclusion\n\nPlease note that links listed may be affiliate links and provide me with a small percentage/kickback should you use them to purchase any of the items listed or recommended. Thank you for supporting me and this channel! \n\nDisclaimer: This video is for educational purposes only.\n#darkweb #opsec #tor", "Darknet Bible: The Ultimate OpSec Guide", "70a7c939-a69a-4942-bc98-e46e7862db38", 5499, false, "cYVOe7k1N7w", "https://www.youtube.com/watch?v=cYVOe7k1N7w", 3, "/downloads/David Bombal/2026-01-23 Darknet Bible: The Ultimate OpSec Guide/Darknet Bible: The Ultimate OpSec Guide [cYVOe7k1N7w].mp4", false, false, false, 2, [], 1, ~U[2026-01-23 14:30:27Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "Big thanks to Brilliant for sponsoring this video. To try everything Brilliant has to offer, visit https://brilliant.org/davidbombal to start your 30 day free trial or scan the QR code onscreen – You’ll also get 20% off an annual premium subscription\n\nStephen Sims joins David Bombal to discuss Operational Security (OpSec) through the lens of the \"Darknet Marketplace Bible\" (DNM Bible). While this document is originally designed to help criminals evade law enforcement while buying illegal goods, Stephen argues it is an excellent resource for cybersecurity professionals, journalists, and privacy advocates to learn high-level anonymity and encryption techniques. \n\nDisclaimer: Both David and Stephen repeatedly emphasize that this content is for educational, privacy, and cybersecurity research purposes only. They do not advocate illegal activity. \n\n// Stephen's Social // \nTwitter: https://twitter.com/Steph3nSims \nYouTube: https://www.youtube.com/@OffByOneSecurity\n\n// David's SOCIAL // \nDiscord: https://discord.com/invite/usKSyzb \nX: https://www.twitter.com/davidbombal \nInstagram: https://www.instagram.com/davidbombal \nLinkedIn: https://www.linkedin.com/in/davidbombal \nFacebook: https://www.facebook.com/davidbombal.co \nTikTok: http://tiktok.com/@davidbombal \nYouTube: https://www.youtube.com/@davidbombal\nSpotify: https://open.spotify.com/show/3f6k6gERfuriI96efWWLQQ\nSoundCloud: https://soundcloud.com/davidbombal\nApple Podcast: https://podcasts.apple.com/us/podcast/david-bombal/id1466865532\n\n// MY STUFF //\n https://www.amazon.com/shop/davidbombal \n\n// SPONSORS // \nInterested in sponsoring my videos? Reach out to my team here: sponsors@davidbombal.com\n\n// MENU //\n0:00 - Coming up\n01:08 - Brilliant sponsored segment\n03:04 - Disclaimer\n03:07 - The Dark Web\n07:44 - What is the Dark Web?\n09:14 - The Dark Net Marketplace Bible\n11:42 - DOs and DON'Ts\n22:49 - Dark Net Directory\n26:09 - Dread walkthrough\n31:04 - Recommended Operating systems\n42:07 - VPNs, Tor & PGP\n53:23 - PGP // Creating key pairs\n01:03:53 - How to access Dark Net Marketplaces // Black Ops marketplace\n01:12 :39 - Recommended cryptocurrency for the Dark Web\n01:18:43 - Shipping\n01:21:12 - Communication methods\n01:27:28 - JavaScript warnings\n01:28:13 - Never trust external links\n01:29:29 - DNM Bible summary\n01:31:01 - Conclusion\n\nPlease note that links listed may be affiliate links and provide me with a small percentage/kickback should you use them to purchase any of the items listed or recommended. Thank you for supporting me and this channel! \n\nDisclaimer: This video is for educational purposes only.\n#darkweb #opsec #tor", "Darknet Bible: The Ultimate OpSec Guide", 5499, false, "cYVOe7k1N7w", "https://www.youtube.com/watch?v=cYVOe7k1N7w", "/downloads/David Bombal/2026-01-23 Darknet Bible: The Ultimate OpSec Guide/Darknet Bible: The Ultimate OpSec Guide [cYVOe7k1N7w].mp4", false, 2, ~U[2026-01-23 14:30:27Z]] 17:12:00.371 [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" = ?) [2] 17:12:00.372 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-18 18:00:02Z], 2] 17:12:00.375 [debug] QUERY OK source="media_items" db=2.1ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The most direct, brutal, and life-changing 20 minutes you’ll hear from Jordan Peterson.\n\nIf you’ve been feeling stuck, tired of overthinking, tired of wasting time, and tired of staying in the same place while your life slowly slips away... this is for you.\n\nHit play, turn up the volume, and ask yourself one honest question:\n\"Am I becoming stronger... or just staying comfortable?\"\n\nThis video is a carefully curated Jordan Peterson experience designed to wake you up, rebuild your mindset, and force you to confront the truth you’ve been avoiding. No motivation tricks. No fake hype. Just responsibility, meaning, and real strength built through pain.\n\nThis video features powerful insights from Jordan Peterson’s talks and interviews, centered on:\nThe only way out is through\nWhy weakness destroys your future\nBecoming dangerous but disciplined\nHow wasted time becomes wasted life\nWhy meaning is a moral obligation\nHow bitterness turns into revenge\nTurning suffering into strength\n\nWho is Jordan Peterson?\n\nJordan Peterson is a Canadian clinical psychologist, former university professor, and bestselling author known worldwide for his teachings on personal responsibility, discipline, meaning, and psychological strength. Over the past decade, he has become one of the most influential voices in modern self-improvement, helping millions of people break out of weakness, confusion, and self-destruction through truth, structure, and personal accountability.\n\nHe is best known for his books 12 Rules for Life and Beyond Order, where he explains why life is painful, why suffering is unavoidable, and why the only real way forward is to become stronger, more capable, and more disciplined. His message is simple but difficult: stop lying to yourself, stop wasting your time, take responsibility for your life, and build a life that can withstand tragedy.\n\nJordan Peterson’s work speaks directly to people who feel lost, unmotivated, anxious, or stuck in comfort and procrastination. He teaches that meaning is not something you find by chasing pleasure - it’s something you earn through responsibility, sacrifice, and daily self-improvement. His philosophy has helped people rebuild their mindset, repair their habits, and develop the strength to face life head-on instead of running from it.\n\nFollow Jordan Peterson:\nYouTube: https://www.youtube.com/@JordanBPeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nBooks: 12 Rules for Life: An Antidote to Chaos, Beyond Order: 12 More Rules for Life, and Maps of Meaning: The Architecture of Belief.\n\nSpecial Thanks (Credits):\nChris Williamson - https://www.youtube.com/@ChrisWillx\nJoe Rogan - https://www.youtube.com/@joerogan\nJocko Willink - https://www.youtube.com/@JockoPodcastOfficial\nJohn Stossel - https://www.youtube.com/@StosselTV\nBite-sized Philosophy - https://www.youtube.com/@BitesizedPhilosophy\nMargaret Hoover - https://www.youtube.com/@FiringLine/videos\n\nWhat you’ll get in this video:\nWhy being harmless isn’t the same as being good\nHow to build real strength and self-control\nWhy wasting time is destroying your future\nHow to stop staying in a miserable situation\nWhy meaning matters more than happiness\nHow responsibility protects you from bitterness\nHow to transform pain into purpose\n\nWhy watch till the end:\nThis video is designed to push you into action, not just make you feel inspired for 10 minutes. Save it. Rewatch it when you feel lost, weak, or tempted to quit.\n\nThis is what real mental strength sounds like.\n\nDisclaimer & Transformative Use Notice:\nThis video was edited, structured, and produced by Champions Mentality 365 for motivational, educational, and inspirational purposes. All footage, interviews, and speeches have been significantly transformed through original editing, cinematic color grading, narrative restructuring, text commentary, and unique storytelling to create a new, original work. I do not claim ownership of the original clips or audio used. Full credit and respect go to the original speakers, creators, and production teams. This video is created under the principles of Fa" <> ..., "The Most Eye Opening 20 Minutes Of Your Life | Jordan Peterson Motivation", "92246840-1bf5-431d-8bd4-b71e7f86b309", 1201, false, "agjhcL9nFQ0", "https://www.youtube.com/watch?v=agjhcL9nFQ0", 4, "/downloads/Champions Mentality 365/2026-01-18 The Most Eye Opening 20 Minutes Of Your Life | Jordan Peterson Motivation/The Most Eye Opening 20 Minutes Of Your Life | Jordan Peterson Motivation [agjhcL9nFQ0].mp4", false, false, false, 2, [], 1, ~U[2026-01-18 18:00:02Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "The most direct, brutal, and life-changing 20 minutes you’ll hear from Jordan Peterson.\n\nIf you’ve been feeling stuck, tired of overthinking, tired of wasting time, and tired of staying in the same place while your life slowly slips away... this is for you.\n\nHit play, turn up the volume, and ask yourself one honest question:\n\"Am I becoming stronger... or just staying comfortable?\"\n\nThis video is a carefully curated Jordan Peterson experience designed to wake you up, rebuild your mindset, and force you to confront the truth you’ve been avoiding. No motivation tricks. No fake hype. Just responsibility, meaning, and real strength built through pain.\n\nThis video features powerful insights from Jordan Peterson’s talks and interviews, centered on:\nThe only way out is through\nWhy weakness destroys your future\nBecoming dangerous but disciplined\nHow wasted time becomes wasted life\nWhy meaning is a moral obligation\nHow bitterness turns into revenge\nTurning suffering into strength\n\nWho is Jordan Peterson?\n\nJordan Peterson is a Canadian clinical psychologist, former university professor, and bestselling author known worldwide for his teachings on personal responsibility, discipline, meaning, and psychological strength. Over the past decade, he has become one of the most influential voices in modern self-improvement, helping millions of people break out of weakness, confusion, and self-destruction through truth, structure, and personal accountability.\n\nHe is best known for his books 12 Rules for Life and Beyond Order, where he explains why life is painful, why suffering is unavoidable, and why the only real way forward is to become stronger, more capable, and more disciplined. His message is simple but difficult: stop lying to yourself, stop wasting your time, take responsibility for your life, and build a life that can withstand tragedy.\n\nJordan Peterson’s work speaks directly to people who feel lost, unmotivated, anxious, or stuck in comfort and procrastination. He teaches that meaning is not something you find by chasing pleasure - it’s something you earn through responsibility, sacrifice, and daily self-improvement. His philosophy has helped people rebuild their mindset, repair their habits, and develop the strength to face life head-on instead of running from it.\n\nFollow Jordan Peterson:\nYouTube: https://www.youtube.com/@JordanBPeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nBooks: 12 Rules for Life: An Antidote to Chaos, Beyond Order: 12 More Rules for Life, and Maps of Meaning: The Architecture of Belief.\n\nSpecial Thanks (Credits):\nChris Williamson - https://www.youtube.com/@Chri (truncated) 17:12:00.376 [debug] QUERY OK source="sources" db=0.3ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:12:00.376 [debug] QUERY OK source="media_items" db=0.2ms idle=5.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-08 14:38:00Z], 2] 17:12:00.380 [debug] QUERY OK source="media_items" db=3.0ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join The Musashi Challenge 👉 https://bit.ly/4g6rjEo\nIf you want daily discipline, clarity, and focus (FREE) → https://bit.ly/dailydoseofwisdom\n\nBecome So Disciplined People Call You Crazy (Miyamoto Musashi) \n📚Buy Recommended Books: https://amzn.to/3OPsprs\n\nWant To Find Productivity Tools? Go Here: https://statueofwisdom.net/\n\n✋Discord: - https://discord.gg/4dGbNzb3m9\n\n✋More Similar Videos: \nhttps://www.youtube.com/watch?v=avoZEonUv6k\nhttps://www.youtube.com/watch?v=_FveAj4orEA\nhttps://www.youtube.com/watch?v=2yH29u8ao1k\n\n#selfimprovement #wisdom #quote #philosophy #musashi #samurai\n\n\nAbout Section:\n\nPart 1 (Earth Ring): 00:00\nPart 2 (Water Ring): 02:50\nPart 3 (Fire Ring): 05:35 \nPart 4 (Wind Ring): 08:33\nPart 5 (Void Ring): 11:01\n\n\n⚠️FAIR USE DISCLAIMER\n\nAll multimedia content in this video is used for the purpose of review & commentary under terms of fair use. All footage, music & images used belong to their respective companies or creators.\n\nUnder Section 107 of the Copyright Act 1976, allowance is made for \"fair use\" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favour of fair use. \n\nThis video is for educational and informational purposes only and is not intended to infringe any copyright laws. If you are the copyright holder and believe your material has been used unfairly, please contact us at the email address provided in the About section ( crcmediabusiness@gmail.com )", "Become So Disciplined People Call You Crazy (Miyamoto Musashi)", "459ab36b-ee00-415b-9d9c-123be8d42d01", 846, false, "gRh57oXfmV8", "https://www.youtube.com/watch?v=gRh57oXfmV8", 5, "/downloads/Statue of Wisdom/2025-07-08 Become So Disciplined People Call You Crazy (Miyamoto Musashi)/Become So Disciplined People Call You Crazy (Miyamoto Musashi) [gRh57oXfmV8].mp4", false, false, false, 2, [], 1, ~U[2025-07-08 14:38:00Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "Join The Musashi Challenge 👉 https://bit.ly/4g6rjEo\nIf you want daily discipline, clarity, and focus (FREE) → https://bit.ly/dailydoseofwisdom\n\nBecome So Disciplined People Call You Crazy (Miyamoto Musashi) \n📚Buy Recommended Books: https://amzn.to/3OPsprs\n\nWant To Find Productivity Tools? Go Here: https://statueofwisdom.net/\n\n✋Discord: - https://discord.gg/4dGbNzb3m9\n\n✋More Similar Videos: \nhttps://www.youtube.com/watch?v=avoZEonUv6k\nhttps://www.youtube.com/watch?v=_FveAj4orEA\nhttps://www.youtube.com/watch?v=2yH29u8ao1k\n\n#selfimprovement #wisdom #quote #philosophy #musashi #samurai\n\n\nAbout Section:\n\nPart 1 (Earth Ring): 00:00\nPart 2 (Water Ring): 02:50\nPart 3 (Fire Ring): 05:35 \nPart 4 (Wind Ring): 08:33\nPart 5 (Void Ring): 11:01\n\n\n⚠️FAIR USE DISCLAIMER\n\nAll multimedia content in this video is used for the purpose of review & commentary under terms of fair use. All footage, music & images used belong to their respective companies or creators.\n\nUnder Section 107 of the Copyright Act 1976, allowance is made for \"fair use\" for purposes such as criticism, comment, news reporting, teaching, scholarship, and research. Fair use is a use permitted by copyright statute that might otherwise be infringing. Non-profit, educational or personal use tips the balance in favour of fair use. \n\nThis video is for educational and informational purposes only and is not intended to infringe any copyright laws. If you are the copyright holder and believe your material has been used unfairly, please contact us at the email address provided in the About section ( crcmediabusiness@gmail.com )", "Become So Disciplined People Call You Crazy (Miyamoto Musashi)", 846, false, "gRh57oXfmV8", "https://www.youtube.com/watch?v=gRh57oXfmV8", "/downloads/Statue of Wisdom/2025-07-08 Become So Disciplined People Call You Crazy (Miyamoto Musashi)/Become So Disciplined People Call You Crazy (Miyamoto Musashi) [gRh57oXfmV8].mp4", false, 2, ~U[2025-07-08 14:38:00Z]] 17:12:00.381 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms 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" = ?) [2] 17:12:00.382 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=6.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-23 20:39:12Z], 2] 17:12:00.385 [debug] QUERY OK source="media_items" db=1.9ms idle=7.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["For the longest time gaming hasn't exactly been feeling like it used to, at least not for me. And i wanted to share my thoughts on it, and practise my video making skills at the same time, i really hope that you enjoyed and got something out of it!\n\nas always thank you for watching all you beautiful people!\nHere's some social links... because shameless plug :D\n\nDiscord: discord.gg/YeeMcuazZd\nTwitch: twitch.tv/gwacaye\n(I rarely stream, but if i see people start following i might start)\n\nAlso, if you are not subbed, what are you doin bruh", "Give Me 8 Minutes And I'll Make Gaming Feel Fun Again", "93b9a9bb-866c-4448-9c56-0a6ce89fce78", 501, false, "jQd4ju1eQ3I", "https://www.youtube.com/watch?v=jQd4ju1eQ3I", 6, "/downloads/GWAC/2025-08-23 Give Me 8 Minutes And I'll Make Gaming Feel Fun Again/Give Me 8 Minutes And I'll Make Gaming Feel Fun Again [jQd4ju1eQ3I].mp4", false, false, false, 2, [], 1, ~U[2025-08-23 20:39:12Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "For the longest time gaming hasn't exactly been feeling like it used to, at least not for me. And i wanted to share my thoughts on it, and practise my video making skills at the same time, i really hope that you enjoyed and got something out of it!\n\nas always thank you for watching all you beautiful people!\nHere's some social links... because shameless plug :D\n\nDiscord: discord.gg/YeeMcuazZd\nTwitch: twitch.tv/gwacaye\n(I rarely stream, but if i see people start following i might start)\n\nAlso, if you are not subbed, what are you doin bruh", "Give Me 8 Minutes And I'll Make Gaming Feel Fun Again", 501, false, "jQd4ju1eQ3I", "https://www.youtube.com/watch?v=jQd4ju1eQ3I", "/downloads/GWAC/2025-08-23 Give Me 8 Minutes And I'll Make Gaming Feel Fun Again/Give Me 8 Minutes And I'll Make Gaming Feel Fun Again [jQd4ju1eQ3I].mp4", false, 2, ~U[2025-08-23 20:39:12Z]] 17:12:00.387 [debug] QUERY OK source="sources" db=1.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" = ?) [2] 17:12:00.389 [debug] QUERY OK source="media_items" db=1.7ms queue=0.1ms idle=6.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-22 12:00:47Z], 2] 17:12:00.392 [debug] QUERY OK source="media_items" db=1.8ms idle=7.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I provide a science-based daily protocol designed to enhance performance, mood and overall health by strategically timing simple yet powerful tools and behaviors.\n\nI explain how to increase energy and alertness in the morning, optimize your workspace and work sessions for maximum focus, and structure your day for sustained productivity. I also discuss the roles of fasting, meal and caffeine timing, and key nutrients, as well as how to leverage exercise to sharpen alertness and cognitive performance. Additionally, I describe evening practices and supplements that help you fall asleep quickly and promote quality sleep.\n\nEpisode show notes: https://go.hubermanlab.com/4RPwGcJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/aXvDEmo6uS4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Office Hours, Example Daily Protocol\n00:01:48 Morning, Tools: Temperature Minimum, Walk, Sunlight & Cortisol\n00:05:30 Hydration, Electrolytes, Tool: Delay Caffeine\n00:07:39 Morning Focus, Fasting\n00:08:27 Tools: Optimize Workspace, Screen Position, Work Bouts\n00:11:38 Tool: Timing Work Bouts, Temperature Minimum\n00:13:55 Exercise, Strength & Hypertrophy, Endurance Training, Tool: 80/20 Workouts\n00:16:55 Afternoon, Meal Timing, Carbs, Omega-3s, Tool: Afternoon Walks & Light\n00:21:40 Dinner, Sleep Transition, Carbs, Serotonin\n00:24:51 Accelerate Sleep, Tool: Reduce Temperature & Hot Baths\n00:26:41 Sleep Supplements, Magnesium, Apigenin, Theanine; Waking at Night\n00:29:41 Example Daily Routine, Work Blocks\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials", "782d8e19-2699-4fa8-8cd2-3e5028831a89", 1913, false, "Pmd6knanPKw", "https://www.youtube.com/watch?v=Pmd6knanPKw", 7, "/downloads/Andrew Huberman/2025-05-22 Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials/Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials [Pmd6knanPKw].mp4", false, false, false, 2, [], 1, ~U[2025-05-22 12:00:47Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I provide a science-based daily protocol designed to enhance performance, mood and overall health by strategically timing simple yet powerful tools and behaviors.\n\nI explain how to increase energy and alertness in the morning, optimize your workspace and work sessions for maximum focus, and structure your day for sustained productivity. I also discuss the roles of fasting, meal and caffeine timing, and key nutrients, as well as how to leverage exercise to sharpen alertness and cognitive performance. Additionally, I describe evening practices and supplements that help you fall asleep quickly and promote quality sleep.\n\nEpisode show notes: https://go.hubermanlab.com/4RPwGcJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/aXvDEmo6uS4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Office Hours, Example Daily Protocol\n00:01:48 Morning, Tools: Temperature Minimum, Walk, Sunlight & Cortisol\n00:05:30 Hydration, Electrolytes, Tool: Delay Caffeine\n00:07:39 Morning Focus, Fasting\n00:08:27 Tools: Optimize Workspace, Screen Position, Work Bouts\n00:11:38 Tool: Timing Work Bouts, Temperature Minimum\n00:13:55 Exercise, Strength & Hypertrophy, Endurance Training, Tool: 80/20 Workouts\n00:16:55 Afternoon, Meal Timing, Carbs, Omega-3s, Tool: Afternoon Walks & Light\n00:21:40 Dinner, Sleep Transition, Carbs, Serotonin\n00:24:51 Accelerate Sleep, Tool: Reduce Temperature & Hot Baths\n00:26:41 Sleep Supplements, Magnesium, Apigenin, Theanine; Waking at Night\n00:29:41 Example Daily Routine, Work Blocks\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials", 1913, false, "Pmd6knanPKw", "https://www.youtube.com/watch?v=Pmd6knanPKw", "/downloads/Andrew Huberman/2025-05-22 Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials/Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials [Pmd6knanPKw].mp4", false, 2, ~U[2025-05-22 12:00:47Z]] 17:12:00.394 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms 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" = ?) [2] 17:12:00.396 [debug] QUERY OK source="media_items" db=1.5ms queue=0.1ms idle=7.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-12-11 12:30:19Z], 2] 17:12:00.399 [debug] QUERY OK source="media_items" db=1.6ms idle=9.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for Motivational Videos Every Weekday, Helping You Get Through The Week! http://bit.ly/MotivationVideos\n\nhttps://bit.ly/MotivationMadness_Mindset 👈 Follow us on Mindset app for free and get the best motivational speeches to start your day right.\n\nFollow us on:\nInstagram: http://bit.ly/2rhGNMY\nFacebook: http://bit.ly/2r85DC3\n\nSpeaker: Jordan Peterson\nYouTube: https://www.youtube.com/user/JordanPetersonVideos\nTwitter: https://twitter.com/jordanbpeterson\nDonation Link: https://www.jordanbpeterson.com/donate\n\nBuy His Books\n12 Rules of Life: An Antidote to Chaos - https://geni.us/zyW4\nMaps of Meaning: The Architecture of Belief - https://geni.us/mpgzkxA\n\n----------------------------------------­­-------------------------\n\nFootage licensed through Filmpac, RawFilm, Artgrid, and Videoblocks.\nAudio Licensed through AudioJungle & Various Partnerships\n\n----------------------------------------­­-------------------------\n\nYouTube Disclaimer:\nWe own commercial licenses for all the content used in this video and it was fully edited by us.\n\nHelp us caption & translate this video!\nhttp://bit.ly/Translate4Motivation", "Jordan Peterson: 60 Minutes for the NEXT 60 Years of Your LIFE (MUST WATCH)", "84984557-cc33-4e7a-b40c-6d72652252b0", 4076, false, "fDazo-ZNvGA", "https://www.youtube.com/watch?v=fDazo-ZNvGA", 8, "/downloads/Motivation Madness/2023-12-11 Jordan Peterson: 60 Minutes for the NEXT 60 Years of Your LIFE (MUST WATCH)/Jordan Peterson: 60 Minutes for the NEXT 60 Years of Your LIFE (MUST WATCH) [fDazo-ZNvGA].mp4", false, false, false, 2, [], 1, ~U[2023-12-11 12:30:19Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "Subscribe for Motivational Videos Every Weekday, Helping You Get Through The Week! http://bit.ly/MotivationVideos\n\nhttps://bit.ly/MotivationMadness_Mindset 👈 Follow us on Mindset app for free and get the best motivational speeches to start your day right.\n\nFollow us on:\nInstagram: http://bit.ly/2rhGNMY\nFacebook: http://bit.ly/2r85DC3\n\nSpeaker: Jordan Peterson\nYouTube: https://www.youtube.com/user/JordanPetersonVideos\nTwitter: https://twitter.com/jordanbpeterson\nDonation Link: https://www.jordanbpeterson.com/donate\n\nBuy His Books\n12 Rules of Life: An Antidote to Chaos - https://geni.us/zyW4\nMaps of Meaning: The Architecture of Belief - https://geni.us/mpgzkxA\n\n----------------------------------------­­-------------------------\n\nFootage licensed through Filmpac, RawFilm, Artgrid, and Videoblocks.\nAudio Licensed through AudioJungle & Various Partnerships\n\n----------------------------------------­­-------------------------\n\nYouTube Disclaimer:\nWe own commercial licenses for all the content used in this video and it was fully edited by us.\n\nHelp us caption & translate this video!\nhttp://bit.ly/Translate4Motivation", "Jordan Peterson: 60 Minutes for the NEXT 60 Years of Your LIFE (MUST WATCH)", 4076, false, "fDazo-ZNvGA", "https://www.youtube.com/watch?v=fDazo-ZNvGA", "/downloads/Motivation Madness/2023-12-11 Jordan Peterson: 60 Minutes for the NEXT 60 Years of Your LIFE (MUST WATCH)/Jordan Peterson: 60 Minutes for the NEXT 60 Years of Your LIFE (MUST WATCH) [fDazo-ZNvGA].mp4", false, 2, ~U[2023-12-11 12:30:19Z]] 17:12:00.399 [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" = ?) [2] 17:12:00.400 [debug] QUERY OK source="media_items" db=0.3ms idle=8.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-07-18 20:47:43Z], 2] 17:12:00.401 [debug] QUERY OK source="media_items" db=0.9ms idle=6.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["STOP\n\nHAMMER\n\nTIME\n\nPatreon Link: https://www.patreon.com/WolfeScratch\nTwitter: https://twitter.com/WolfeScratch\nTwitch: https://www.twitch.tv/wolfescratch\nDiscord: https://discord.gg/AsuNPEc\n\nMusic:\nhttps://www.youtube.com/watch?v=ZQedfsvdMAI\nhttps://www.youtube.com/watch?v=ByI5MbT8XAU", "King Dedede Mains be Like... (Smash Ultimate Dedede Montage)", "931219c8-eef7-4d35-93be-42e4a5599886", 259, false, "A3E2HEwairo", "https://www.youtube.com/watch?v=A3E2HEwairo", 9, "/downloads/WolfeScratch/2020-07-18 King Dedede Mains be Like... (Smash Ultimate Dedede Montage)/King Dedede Mains be Like... (Smash Ultimate Dedede Montage) [A3E2HEwairo].mp4", false, false, false, 2, [], 1, ~U[2020-07-18 20:47:43Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "STOP\n\nHAMMER\n\nTIME\n\nPatreon Link: https://www.patreon.com/WolfeScratch\nTwitter: https://twitter.com/WolfeScratch\nTwitch: https://www.twitch.tv/wolfescratch\nDiscord: https://discord.gg/AsuNPEc\n\nMusic:\nhttps://www.youtube.com/watch?v=ZQedfsvdMAI\nhttps://www.youtube.com/watch?v=ByI5MbT8XAU", "King Dedede Mains be Like... (Smash Ultimate Dedede Montage)", 259, false, "A3E2HEwairo", "https://www.youtube.com/watch?v=A3E2HEwairo", "/downloads/WolfeScratch/2020-07-18 King Dedede Mains be Like... (Smash Ultimate Dedede Montage)/King Dedede Mains be Like... (Smash Ultimate Dedede Montage) [A3E2HEwairo].mp4", false, 2, ~U[2020-07-18 20:47:43Z]] 17:12:00.402 [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" = ?) [2] 17:12:00.403 [debug] QUERY OK source="media_items" db=0.8ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-01-28 15:00:07Z], 2] 17:12:00.407 [debug] QUERY OK source="media_items" db=3.0ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Taoism for Inner Peace (book): https://einzelganger.co/tao/\n\nMiyamoto Musashi is one of the most legendary samurai and famed as Japan’s greatest swordsman - undefeated in more than sixty duels. After he escaped death during the Battle of Sekigahara, Musashi became a ronin. Aside from being a swordsman, he was also a philosopher, artist, and well-learned Buddhist. Before he died, Musashi left us with twenty-one principles named Dokkōdō. These are timeless rules that can inspire us today to live well. The majority, if not all, of these rules, help us to establish one thing: ‘focus’.\n\nFocus is the quality of having a concentrated interest or activity on something. Needless to say, ‘focus’ was a crucial component in Musashi’s life, or, what he called ‘the way’, which is a life of ongoing practice. His writings reveal that his lifestyle revolved around restraint, sacrifice, discipline, and not being swayed by pleasure. These virtues were all established by or in support of being able to ‘focus’. Especially when he spent time apart from society, Musashi was only concerned with perfecting his skill, while aiming for enlightenment by the Way of the sword.\n\nThis three-part series elaborates on the twenty-one principles from Musashi’s Dokkōdō. The first part explored the first seven principles. This second part will explore how to live a life of ultimate focus, based on the next seven principles. Please note, the elaborations in this video are based on existing philosophies, the author’s interpretations, and reasoning, and are intended to be an inspiration for present-day life.\n\nSupport the channel:\n✔️ PayPal: https://www.paypal.me/einzelgangerco\n✔️ Patreon: https://www.patreon.com/einzelgangster\n✔️ Bitcoin: 3HQnEz1LQ4G6dqN2LdZgzc7qoJjJCyWjTC\n(Donated BTC and want in the credits? Send me an email with the amount/address)\n\nPurchase my book (affiliate links):\n📘 Paperback: https://amzn.to/2RJYfti\n💻 Ebook: https://amzn.to/35e23a5\n\nMerchandise:\n🛍️ Shop: https://teespring.com/stores/einzelgangerstore\n🛍️ Merchandise design by Punksthetic Art:\nhttps://www.youtube.com/user/JRStoneart\n\n🎵 Music used:\nAll music used is licensed and paid for. \n\nCreative Commons (attributions):\n\nMusashi statue: https://commons.wikimedia.org/wiki/File:Statue_of_Musashi_%26_Kojir%C5%8D_battle.jpg\nJapanese horsemen: https://commons.wikimedia.org/wiki/File:Kobe-keiba6380.JPG\nDokkodo: https://terebess.hu/zen/mesterek/musashi.html\nGo Rin no Sho: https://en.wikipedia.org/wiki/The_Book_of_Five_Rings#/media/File:Go_Rin_No_Sho.gif\nSkull: https://commons.wikimedia.org/wiki/File:A_skull._Oil_painting._Wellcome_V0042218.jpg\nBuddha painting: https://commons.wikimedia.org/wiki/File:Buddha_Fresco_Painting.jpg\nMarcus Aurelius bust: https://commons.wikimedia.org/wiki/File:MarkAurelFront.jpg\nAbstract painting dinner: https://commons.wikimedia.org/wiki/File:Dinner_Party_(SM_lg32).png\nBattle of Sekigahara: https://commons.wikimedia.org/wiki/File:Tokugawa_Vassal_Fortification_at_Battle_of_Sekigahara_(1600).jpg\n\n00:00 - 0) Intro\n01:57 - 8) Never let yourself be saddened by a separation.\n04:03 - 9) Resentment and complaint are appropriate neither for oneself or others.\n05:48 - 10) Do not let yourself be guided by the feeling of lust or love.\n07:25 - 11) In all things have no preferences.\n08:34 - 12) Be indifferent to where you live.\n10:02 - 13) Do not pursue the taste of good food.\n11:51 - 14) Do not hold on to possessions you no longer need.\n\n#miyamotomusashi #dokkodo #ronin", "Miyamoto Musashi | A Life of Ultimate Focus", "ee815529-1f92-4280-a298-7d964207f521", 832, false, "HUXEqS6GqUU", "https://www.youtube.com/watch?v=HUXEqS6GqUU", 10, "/downloads/Einzelgänger/2021-01-28 Miyamoto Musashi | A Life of Ultimate Focus/Miyamoto Musashi | A Life of Ultimate Focus [HUXEqS6GqUU].mp4", false, false, false, 2, [], 1, ~U[2021-01-28 15:00:07Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "Taoism for Inner Peace (book): https://einzelganger.co/tao/\n\nMiyamoto Musashi is one of the most legendary samurai and famed as Japan’s greatest swordsman - undefeated in more than sixty duels. After he escaped death during the Battle of Sekigahara, Musashi became a ronin. Aside from being a swordsman, he was also a philosopher, artist, and well-learned Buddhist. Before he died, Musashi left us with twenty-one principles named Dokkōdō. These are timeless rules that can inspire us today to live well. The majority, if not all, of these rules, help us to establish one thing: ‘focus’.\n\nFocus is the quality of having a concentrated interest or activity on something. Needless to say, ‘focus’ was a crucial component in Musashi’s life, or, what he called ‘the way’, which is a life of ongoing practice. His writings reveal that his lifestyle revolved around restraint, sacrifice, discipline, and not being swayed by pleasure. These virtues were all established by or in support of being able to ‘focus’. Especially when he spent time apart from society, Musashi was only concerned with perfecting his skill, while aiming for enlightenment by the Way of the sword.\n\nThis three-part series elaborates on the twenty-one principles from Musashi’s Dokkōdō. The first part explored the first seven principles. This second part will explore how to live a life of ultimate focus, based on the next seven principles. Please note, the elaborations in this video are based on existing philosophies, the author’s interpretations, and reasoning, and are intended to be an inspiration for present-day life.\n\nSupport the channel:\n✔️ PayPal: https://www.paypal.me/einzelgangerco\n✔️ Patreon: https://www.patreon.com/einzelgangster\n✔️ Bitcoin: 3HQnEz1LQ4G6dqN2LdZgzc7qoJjJCyWjTC\n(Donated BTC and want in the credits? Send me an email with the amount/address)\n\nPurchase my book (affiliate links):\n📘 Paperback: https://amzn.to/2RJYfti\n💻 Ebook: https://amzn.to/35e23a5\n\nMerchandise:\n🛍️ Shop: https://teespring.com/stores/einzelgangerstore\n🛍️ Merchandise design by Punksthetic Art:\nhttps://www.youtube.com/user/JRStoneart\n\n🎵 Music used:\nAll music used is licensed and paid for. \n\nCreative Commons (attributions):\n\nMusashi statue: https://commons.wikimedia.org/wiki/File:Statue_of_Musashi_%26_Kojir%C5%8D_battle.jpg\nJapanese horsemen: https://commons.wikimedia.org/wiki/File:Kobe-keiba6380.JPG\nDokkodo: https://terebess.hu/zen/mesterek/musashi.html\nGo Rin no Sho: https://en.wikipedia.org/wiki/The_Book_of_Five_Rings#/media/File:Go_Rin_No_Sho.gif\nSkull: https://commons.wikimedia.org/wiki/File:A_skull._Oil_painting._Wellcome_V0042218.jpg\nBuddha painting: https://commons.wikimedia.org/wiki/File:Buddha_Fresco_Painting.jpg\nMarcus Aurelius bust: https://commons.wikimedia.org/wiki/File:MarkAurelFront.jpg\nAbstract painting dinner: https://commons.wikimedia.org/wiki/File:Dinner_Party_(SM_lg32).png\nBattle of Sekigahara: https://commons.wikimedia.org/wiki/File:Tokugawa_Vassal_Fortification_at_Battle_of_Sekigahara_(1600).jpg\n\n00:00 - 0) Intro\n01:57 - 8) Never let yourself be saddened by a separation.\n04:03 - 9) Resentment and complaint are appropriate neither for oneself or others.\n05:48 - 10) Do not let yourself be guided by the feeling of lust or love.\n07:25 - 11) In all things have no prefer (truncated) 17:12:00.408 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [2] 17:12:00.409 [debug] QUERY OK source="media_items" db=0.4ms idle=7.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-03-18 11:30:09Z], 2] 17:12:00.411 [debug] QUERY OK source="media_items" db=1.6ms idle=7.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for Motivational Videos Every Weekday, Helping You Get Through The Week! http://bit.ly/MotivationVideos\n\nhttps://bit.ly/MotivationMadness_Mindset 👈 Follow us on Mindset app for free and get the best motivational speeches to start your day right.\n\nFollow us on:\nInstagram: http://bit.ly/2rhGNMY\nFacebook: http://bit.ly/2r85DC3\n\nSpeaker: Jordan Peterson\nYouTube: https://www.youtube.com/user/JordanPetersonVideos\nTwitter: https://twitter.com/jordanbpeterson\nDonation Link: https://www.jordanbpeterson.com/donate\n\nBuy His Books\n12 Rules of Life: An Antidote to Chaos - https://geni.us/zyW4\nMaps of Meaning: The Architecture of Belief - https://geni.us/mpgzkxA\n\nSong @ 39:57\nWhitesand - Circle of Life\nYouTube: https://www.youtube.com/watch?v=xLD7nFdwYlk\nSpotify: https://open.spotify.com/track/25Q1uP8uOuW602p1JD2Q5M?si=b51bd07f7aad455a\nInstagram: https://www.instagram.com/martynas_lau\nWebtsite: https://whitesandcomposer.com/\n\n----------------------------------------­­-------------------------\n\nFootage licensed through Filmpac, RawFilm, Artgrid, and Videoblocks.\nAudio Licensed through AudioJungle & Various Partnerships\n\n----------------------------------------­­-------------------------\n\nYouTube Disclaimer:\nWe own commercial licenses for all the content used in this video and it was fully edited by us.\n\nHelp us caption & translate this video!\nhttp://bit.ly/Translate4Motivation", "Jordan Peterson । 40 Minutes for the NEXT 40 Years of Your LIFE", "5c5269bd-400a-4075-8a65-1d06d02178df", 2460, false, "IQbcbBM2MOQ", "https://www.youtube.com/watch?v=IQbcbBM2MOQ", 11, "/downloads/Motivation Madness/2024-03-18 Jordan Peterson । 40 Minutes for the NEXT 40 Years of Your LIFE/Jordan Peterson । 40 Minutes for the NEXT 40 Years of Your LIFE [IQbcbBM2MOQ].mp4", false, false, false, 2, [], 1, ~U[2024-03-18 11:30:09Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "Subscribe for Motivational Videos Every Weekday, Helping You Get Through The Week! http://bit.ly/MotivationVideos\n\nhttps://bit.ly/MotivationMadness_Mindset 👈 Follow us on Mindset app for free and get the best motivational speeches to start your day right.\n\nFollow us on:\nInstagram: http://bit.ly/2rhGNMY\nFacebook: http://bit.ly/2r85DC3\n\nSpeaker: Jordan Peterson\nYouTube: https://www.youtube.com/user/JordanPetersonVideos\nTwitter: https://twitter.com/jordanbpeterson\nDonation Link: https://www.jordanbpeterson.com/donate\n\nBuy His Books\n12 Rules of Life: An Antidote to Chaos - https://geni.us/zyW4\nMaps of Meaning: The Architecture of Belief - https://geni.us/mpgzkxA\n\nSong @ 39:57\nWhitesand - Circle of Life\nYouTube: https://www.youtube.com/watch?v=xLD7nFdwYlk\nSpotify: https://open.spotify.com/track/25Q1uP8uOuW602p1JD2Q5M?si=b51bd07f7aad455a\nInstagram: https://www.instagram.com/martynas_lau\nWebtsite: https://whitesandcomposer.com/\n\n----------------------------------------­­-------------------------\n\nFootage licensed through Filmpac, RawFilm, Artgrid, and Videoblocks.\nAudio Licensed through AudioJungle & Various Partnerships\n\n----------------------------------------­­-------------------------\n\nYouTube Disclaimer:\nWe own commercial licenses for all the content used in this video and it was fully edited by us.\n\nHelp us caption & translate this video!\nhttp://bit.ly/Translate4Motivation", "Jordan Peterson । 40 Minutes for the NEXT 40 Years of Your LIFE", 2460, false, "IQbcbBM2MOQ", "https://www.youtube.com/watch?v=IQbcbBM2MOQ", "/downloads/Motivation Madness/2024-03-18 Jordan Peterson । 40 Minutes for the NEXT 40 Years of Your LIFE/Jordan Peterson । 40 Minutes for the NEXT 40 Years of Your LIFE [IQbcbBM2MOQ].mp4", false, 2, ~U[2024-03-18 11:30:09Z]] 17:12:00.412 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=8.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:12:00.413 [debug] QUERY OK source="media_items" db=0.3ms idle=5.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2015-05-17 13:47:49Z], 2] 17:12:00.418 [debug] QUERY OK source="media_items" db=4.6ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A old man's advice", "A old man's advice", "5b28a3e7-71b4-475c-a7d4-97c31df1a636", 619, false, "JhckVlgYZJE", "https://www.youtube.com/watch?v=JhckVlgYZJE", 12, "/downloads/Bernard Albertson/2015-05-17 A old man's advice/A old man's advice [JhckVlgYZJE].mp4", false, false, false, 2, [], 1, ~U[2015-05-17 13:47:49Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "A old man's advice", "A old man's advice", 619, false, "JhckVlgYZJE", "https://www.youtube.com/watch?v=JhckVlgYZJE", "/downloads/Bernard Albertson/2015-05-17 A old man's advice/A old man's advice [JhckVlgYZJE].mp4", false, 2, ~U[2015-05-17 13:47:49Z]] 17:12:00.419 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [2] 17:12:00.419 [debug] QUERY OK source="media_items" db=0.2ms idle=7.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-11-21 04:01:39Z], 2] 17:12:00.430 [debug] QUERY OK source="media_items" db=10.3ms idle=7.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS!\n\nSimon Sinek on LOVE and LEADERSHIP\n\nVideo & Interview, Thanks and Credit to Tom Bilyeu:\nhttps://www.youtube.com/channel/UCnYMOamNKLGVlJgRUbamveA\n\nSpeaker: SIMON SINEK:\nhttps://www.youtube.com/user/SimonSinek\n\nEdit by: Fearless Soul\n\nDownload or stream our inspirational speeches now on:\nApple Music/iTunes: https://music.apple.com/artist/fearless-soul/1076763241\nSpotify: https://open.spotify.com/artist/0w4xMjggr1TBiQbbOHOS8x?si=sQ6WTwzoTR-2P_z0cGGbkw\nMp3 Downloads: https://teamfearless.com/mp3-downloads-cds/\nAmazonMP3: https://amzn.to/2TrdhaN\n\nTranscript: https://iamfearlesssoul.com/simon-sinek-real-reason-people-fall-and-stay-in-love/\n\nMusic by: Fearless Motivation Instrumentals\nALBUM: Abounding Ambient\n\n\"She fell in love with you because when you went to the fridge to get yourself a drink, you got her one without even asking. She fell in love with you because when you had an amazing day at work, and she came home and she had a terrible day at work, you didn't say \"Yeah, yeah, yeah, but let me tell you about my day.\" You sat and listened to her awful day, and you didn't say a thing about your amazing day. This is why she fell in love with you.\"\n\nOfficial Website:\nhttp://www.iamfearlesssoul.com\n\nLet's Be Friends On Facebook!\nhttps://www.facebook.com/iamfearlesssoul/\n\n1 MILLION FOLLOWERS ON TWITTER:\nhttps://twitter.com/911well\nhttps://twitter.com/iamfearlesssoul\n\nINSTAGRAM:\nhttp://www.instagram.com/iamfearlesssoul/\n\nLISTEN TO FEARLESS SOUL, every day on your phone:\niTunes: https://goo.gl/5qhzcv\nSpotify: https://goo.gl/pLpJSt\nGooglePlay: https://goo.gl/X6racV\nAmazonMP3: https://amzn.to/2LIEJrK\nApple Music: https://goo.gl/5qhzcv\nWorldwide MP3 Download: https://goo.gl/UVXmbM\n\nIf you loved this, please share the video and spread the message on Social Media using the share links in this video.\n\n#SimonSinek #Love #Relationships", "If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS!", "25bc54c3-b1ca-49c7-9bb8-75617536c819", 692, false, "01ZCnCXpG4A", "https://www.youtube.com/watch?v=01ZCnCXpG4A", 13, "/downloads/Fearless Soul/2018-11-21 If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS!/If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS! [01ZCnCXpG4A].mp4", false, false, false, 2, [], 1, ~U[2018-11-21 04:01:39Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS!\n\nSimon Sinek on LOVE and LEADERSHIP\n\nVideo & Interview, Thanks and Credit to Tom Bilyeu:\nhttps://www.youtube.com/channel/UCnYMOamNKLGVlJgRUbamveA\n\nSpeaker: SIMON SINEK:\nhttps://www.youtube.com/user/SimonSinek\n\nEdit by: Fearless Soul\n\nDownload or stream our inspirational speeches now on:\nApple Music/iTunes: https://music.apple.com/artist/fearless-soul/1076763241\nSpotify: https://open.spotify.com/artist/0w4xMjggr1TBiQbbOHOS8x?si=sQ6WTwzoTR-2P_z0cGGbkw\nMp3 Downloads: https://teamfearless.com/mp3-downloads-cds/\nAmazonMP3: https://amzn.to/2TrdhaN\n\nTranscript: https://iamfearlesssoul.com/simon-sinek-real-reason-people-fall-and-stay-in-love/\n\nMusic by: Fearless Motivation Instrumentals\nALBUM: Abounding Ambient\n\n\"She fell in love with you because when you went to the fridge to get yourself a drink, you got her one without even asking. She fell in love with you because when you had an amazing day at work, and she came home and she had a terrible day at work, you didn't say \"Yeah, yeah, yeah, but let me tell you about my day.\" You sat and listened to her awful day, and you didn't say a thing about your amazing day. This is why she fell in love with you.\"\n\nOfficial Website:\nhttp://www.iamfearlesssoul.com\n\nLet's Be Friends On Facebook!\nhttps://www.facebook.com/iamfearlesssoul/\n\n1 MILLION FOLLOWERS ON TWITTER:\nhttps://twitter.com/911well\nhttps://twitter.com/iamfearlesssoul\n\nINSTAGRAM:\nhttp://www.instagram.com/iamfearlesssoul/\n\nLISTEN TO FEARLESS SOUL, every day on your phone:\niTunes: https://goo.gl/5qhzcv\nSpotify: https://goo.gl/pLpJSt\nGooglePlay: https://goo.gl/X6racV\nAmazonMP3: https://amzn.to/2LIEJrK\nApple Music: https://goo.gl/5qhzcv\nWorldwide MP3 Download: https://goo.gl/UVXmbM\n\nIf you loved this, please share the video and spread the message on Social Media using the share links in this video.\n\n#SimonSinek #Love #Relationships", "If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS!", 692, false, "01ZCnCXpG4A", "https://www.youtube.com/watch?v=01ZCnCXpG4A", "/downloads/Fearless Soul/2018-11-21 If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS!/If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS! [01ZCnCXpG4A].mp4", false, 2, ~U[2018-11-21 04:01:39Z]] 17:12:00.431 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:12:00.431 [debug] QUERY OK source="media_items" db=0.2ms idle=13.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-08 15:00:44Z], 2] 17:12:00.433 [debug] QUERY OK source="media_items" db=0.9ms idle=13.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["subscribe for videos every two weeks!\n\nthank you to thea study for sponsoring a portion of this video. you can check out their app here (completely free): https://www.theastudy.com/?referralCode=reysu&ct=reysu&utm_source=reysu\n\nobsidian config: https://reysu.io/obsidian\nx: https://x.com/reysuing\ninstagram: https://instagram.com/reysuing\n\noutline:\n0:00 obsidian after 2 years\n0:57 why obsidian? \n3:13 obsidian backlinks\n4:12 thea study \n5:57 2 year vault walkthrough\n6:08 obsidian theme settings \n6:31 notebook navigator\n7:00 obsidian web clipper\n7:57 book or youtube note workflow\n8:33 auto template trigger\n8:55 using obsidian like a rolodex\n9:41 obsidian map view \n10:15 storing documents in obsidian\n10:45 tip for starting out", "why I switched to using Obsidian (as a former Notion user)", "9d17f7bb-9d12-4346-a84e-61f511d74540", 708, false, "O7vGsBghWfc", "https://www.youtube.com/watch?v=O7vGsBghWfc", 15, "/downloads/Reysu/2025-11-08 why I switched to using Obsidian (as a former Notion user)/why I switched to using Obsidian (as a former Notion user) [O7vGsBghWfc].mp4", false, false, false, 2, [], 1, ~U[2025-11-08 15:00:44Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "subscribe for videos every two weeks!\n\nthank you to thea study for sponsoring a portion of this video. you can check out their app here (completely free): https://www.theastudy.com/?referralCode=reysu&ct=reysu&utm_source=reysu\n\nobsidian config: https://reysu.io/obsidian\nx: https://x.com/reysuing\ninstagram: https://instagram.com/reysuing\n\noutline:\n0:00 obsidian after 2 years\n0:57 why obsidian? \n3:13 obsidian backlinks\n4:12 thea study \n5:57 2 year vault walkthrough\n6:08 obsidian theme settings \n6:31 notebook navigator\n7:00 obsidian web clipper\n7:57 book or youtube note workflow\n8:33 auto template trigger\n8:55 using obsidian like a rolodex\n9:41 obsidian map view \n10:15 storing documents in obsidian\n10:45 tip for starting out", "why I switched to using Obsidian (as a former Notion user)", 708, false, "O7vGsBghWfc", "https://www.youtube.com/watch?v=O7vGsBghWfc", "/downloads/Reysu/2025-11-08 why I switched to using Obsidian (as a former Notion user)/why I switched to using Obsidian (as a former Notion user) [O7vGsBghWfc].mp4", false, 2, ~U[2025-11-08 15:00:44Z]] 17:12:00.433 [debug] QUERY OK source="sources" db=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" = ?) [2] 17:12:00.434 [debug] QUERY OK source="media_items" db=0.2ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-12-09 00:53:51Z], 2] 17:12:00.436 [debug] QUERY OK source="media_items" db=1.4ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Do you believe in religion? You might answer YES or NO. \n\nFor Neil it is not that easy. Not only it is important for him to answer this question but to go deep in this mystery and explains how to form your own opinion. \n\nThis video is not to convince anyone to leave their faith but to think critically and come to your own conclusion. \n\nWatch the video in its entirety with a open mind. It will definitely make you question some aspect of your beliefs. Either you are an ATHIEIST or a Religious person. \n\nOr Just Sit Back and Relax listening to this amazing communicator talk about something he is passionate about.\n\nChapters:\n00:00 Chelsea asks Neil if he believes in a GOD?\n01:46 WHAT Neil will do if he was being EXECUTED?\n03:14 Does Neil give any credit for religion for CREATION MYTH?\n05:45 Neil comments on Carl Segan saying COSMOS is all there it is.\n06:48 What Neil cares and not care about Religion?\n07:40 Piers asks how can Neil know if GOD exists.\n09:40 Which GOD out of 18,000+++?\n10:55 Neil pulls out data, EDUCATED = ATHIEIST.\n15:29 Bible in Classrooms?\n18:50 Arguing about who knows Bible the least.\n22:00 What Religion did to Muslims?\n30:21 Earth is ANTI-LIFE.\n31:18 One thing Neil wants Everyone to Remember.\n32:31 How can you know HEAVEN exists?\n34:34 After Neil's De*th.\n35:18 Consciousness Does not Exist outside our Bodies.\n36:51 Don't FEAR not being here.\n37:57 Neil on RELIGIOUS LEADERS.\n38:53 US was founded on FREEDOM from RELIGION.\n39:50 Is Neil SAD about Breaking these MYTHS?\n40:35 Busting \"GOD EXIST WHERE THE UNKNOWN LIES\" \n43:30 Why Does RELIGION still control HUMANS?\n44:38 Religion is not needed for MORALITY.\n45:09 RELIGOUS TEXTBOOKS are still important.\n46:07 The CONFLICT occurs when...\n47:01 GOD OF THE GAPS.\n51:26 What makes Neil a NON BELIEVER.\n55:12 Bible as a SPRITUAL BOOK.\n56:38 FREEDOM OF RELIGION.\n\nLIKE, COMMENT, AND SUBSCRIBE\n\nPS: I do not own any clips used in the video.", "Watch Neil DeGrasse Tyson Unleash Annihilation on Religion for an Hour!", "ff4f46b2-098f-4d04-b3ef-1050c9e3caa1", 3618, false, "ANZTjzcaoVc", "https://www.youtube.com/watch?v=ANZTjzcaoVc", 16, "/downloads/Mystery of this Universe/2023-12-09 Watch Neil DeGrasse Tyson Unleash Annihilation on Religion for an Hour!/Watch Neil DeGrasse Tyson Unleash Annihilation on Religion for an Hour! [ANZTjzcaoVc].mp4", false, false, false, 2, [], 1, ~U[2023-12-09 00:53:51Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "Do you believe in religion? You might answer YES or NO. \n\nFor Neil it is not that easy. Not only it is important for him to answer this question but to go deep in this mystery and explains how to form your own opinion. \n\nThis video is not to convince anyone to leave their faith but to think critically and come to your own conclusion. \n\nWatch the video in its entirety with a open mind. It will definitely make you question some aspect of your beliefs. Either you are an ATHIEIST or a Religious person. \n\nOr Just Sit Back and Relax listening to this amazing communicator talk about something he is passionate about.\n\nChapters:\n00:00 Chelsea asks Neil if he believes in a GOD?\n01:46 WHAT Neil will do if he was being EXECUTED?\n03:14 Does Neil give any credit for religion for CREATION MYTH?\n05:45 Neil comments on Carl Segan saying COSMOS is all there it is.\n06:48 What Neil cares and not care about Religion?\n07:40 Piers asks how can Neil know if GOD exists.\n09:40 Which GOD out of 18,000+++?\n10:55 Neil pulls out data, EDUCATED = ATHIEIST.\n15:29 Bible in Classrooms?\n18:50 Arguing about who knows Bible the least.\n22:00 What Religion did to Muslims?\n30:21 Earth is ANTI-LIFE.\n31:18 One thing Neil wants Everyone to Remember.\n32:31 How can you know HEAVEN exists?\n34:34 After Neil's De*th.\n35:18 Consciousness Does not Exist outside our Bodies.\n36:51 Don't FEAR not being here.\n37:57 Neil on RELIGIOUS LEADERS.\n38:53 US was founded on FREEDOM from RELIGION.\n39:50 Is Neil SAD about Breaking these MYTHS?\n40:35 Busting \"GOD EXIST WHERE THE UNKNOWN LIES\" \n43:30 Why Does RELIGION still control HUMANS?\n44:38 Religion is not needed for MORALITY.\n45:09 RELIGOUS TEXTBOOKS are still important.\n46:07 The CONFLICT occurs when...\n47:01 GOD OF THE GAPS.\n51:26 What makes Neil a NON BELIEVER.\n55:12 Bible as a SPRITUAL BOOK.\n56:38 FREEDOM OF RELIGION.\n\nLIKE, COMMENT, AND SUBSCRIBE\n\nPS: I do not own any clips used in the video.", "Watch Neil DeGrasse Tyson Unleash Annihilation on Religion for an Hour!", 3618, false, "ANZTjzcaoVc", "https://www.youtube.com/watch?v=ANZTjzcaoVc", "/downloads/Mystery of this Universe/2023-12-09 Watch Neil DeGrasse Tyson Unleash Annihilation on Religion for an Hour!/Watch Neil DeGrasse Tyson Unleash Annihilation on Religion for an Hour! [ANZTjzcaoVc].mp4", false, 2, ~U[2023-12-09 00:53:51Z]] 17:12:00.436 [debug] QUERY OK source="sources" db=0.1ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:12:00.437 [debug] QUERY OK source="media_items" db=0.1ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-08 16:30:22Z], 2] 17:12:00.439 [debug] QUERY OK source="media_items" db=1.9ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Are you the person everyone leans on — the one who always listens, always fixes, always carries the emotional weight of your family, friends, or partner? Dr. Jordan Peterson’s 54‑minute deep‑dive might be the most uncomfortable relief you’ll ever feel. He pulls apart the myth that absorbing other people’s pain makes you virtuous, and shows exactly how it destroys your mental health, your relationships, and your ability to actually help anyone.\n\nThis isn’t a fluffy “just think positive” talk. Peterson walks through the psychology of emotional fusion, the neurobiology of second‑hand stress, and the brutal truth about why your constant rescuing is disempowering the people you love. If you’ve ever felt physically sick after someone’s venting, found yourself lying awake replaying their problems, or felt guilty for simply wanting peace — this lecture names what’s happening and hands you a way out.\n\n📌 What this 54‑minute video unpacks\n\n· The biological trap of “hyper‑empathy” and why your nervous system can’t tell the difference between your pain and theirs\n· How your childhood wiring turned compassion into self‑erasure\n· The 3‑step boundary framework Peterson teaches that protects your psyche without making you cold\n· Why feeling responsible for everyone’s happiness leads to burnout, resentment, and collapse\n· The exact moment being “nice” becomes manipulation — and how to stop\n· Practical scripts you can use today when someone starts dumping their pain on you\n\n⏱️ Timestamps so you can jump straight in\n00:00 – The silent epidemic nobody wants to talk about\n04:20 – Are you a sponge or a person?\n10:10 – Empathy as a trauma response\n16:45 – Why your body keeps the score of other people’s emotions\n23:30 – The boundary experiment Peterson runs with audiences\n30:15 – Guilt, self‑sacrifice, and the tyranny of the “good person” complex\n38:50 – How to care without carrying — real‑life family and relationship examples\n46:40 – Words that shield you (memorise these)\n52:10 – Peterson’s closing gut‑punch: You cannot light yourself on fire to keep others warm\n\n💬 What’s your hardest boundary moment?\nTell me in the comments — the thread is full of people who get it. I read and reply as much as I can.\n\n🔔 If this shook something loose in you, hit subscribe and the bell.\nWe drop long‑form talks, distilled wisdom, and tools you can actually use every week. Share this with the friend who needs to hear “stop absorbing their pain” before it breaks them.\n\n📚 EXPLORE MORE LIKE THIS:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n🎧 Listen to The Jordan B. Peterson Podcast:\n• Spotify: https://open.spotify.com/show/2bGpVpDx3FbjsGvHGHjHNn\n• Apple Podcasts: https://podcasts.apple.com/ca/podcast/the-jordan-b-peterson-podcast/id1184022695\n\n📢 Connect with Dr. Jordan B. Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n\n#JordanPeterson #EmotionalBoundaries #StopAbsorbingPain #ToxicEmpathy #MentalHealthMatters #Codependency #CompassionFatigue #SelfCare #PersonalDevelopment #jordanpetersonlecture", "Jordan Peterson: \"Stop Absorbing Other People's Pain, It's Killing You\"", "e7921051-d983-45a0-b825-9cf79cc718cd", 3289, false, "kBJ6fUo62tY", "https://www.youtube.com/watch?v=kBJ6fUo62tY", 17, "/downloads/Jordan Peterson Rules for Life/2026-06-08 Jordan Peterson: "Stop Absorbing Other People's Pain, It's Killing You"/Jordan Peterson: "Stop Absorbing Other People's Pain, It's Killing You" [kBJ6fUo62tY].mp4", false, false, false, 2, [], 1, ~U[2026-06-08 16:30:22Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "Are you the person everyone leans on — the one who always listens, always fixes, always carries the emotional weight of your family, friends, or partner? Dr. Jordan Peterson’s 54‑minute deep‑dive might be the most uncomfortable relief you’ll ever feel. He pulls apart the myth that absorbing other people’s pain makes you virtuous, and shows exactly how it destroys your mental health, your relationships, and your ability to actually help anyone.\n\nThis isn’t a fluffy “just think positive” talk. Peterson walks through the psychology of emotional fusion, the neurobiology of second‑hand stress, and the brutal truth about why your constant rescuing is disempowering the people you love. If you’ve ever felt physically sick after someone’s venting, found yourself lying awake replaying their problems, or felt guilty for simply wanting peace — this lecture names what’s happening and hands you a way out.\n\n📌 What this 54‑minute video unpacks\n\n· The biological trap of “hyper‑empathy” and why your nervous system can’t tell the difference between your pain and theirs\n· How your childhood wiring turned compassion into self‑erasure\n· The 3‑step boundary framework Peterson teaches that protects your psyche without making you cold\n· Why feeling responsible for everyone’s happiness leads to burnout, resentment, and collapse\n· The exact moment being “nice” becomes manipulation — and how to stop\n· Practical scripts you can use today when someone starts dumping their pain on you\n\n⏱️ Timestamps so you can jump straight in\n00:00 – The silent epidemic nobody wants to talk about\n04:20 – Are you a sponge or a person?\n10:10 – Empathy as a trauma response\n16:45 – Why your body keeps the score of other people’s emotions\n23:30 – The boundary experiment Peterson runs with audiences\n30:15 – Guilt, self‑sacrifice, and the tyranny of the “good person” complex\n38:50 – How to care without carrying — real‑life family and relationship examples\n46:40 – Words that shield you (memorise these)\n52:10 – Peterson’s closing gut‑punch: You cannot light yourself on fire to keep others warm\n\n💬 What’s your hardest boundary moment?\nTell me in the comments — the thread is full of people who get it. I read and reply as much as I can.\n\n🔔 If this shook something loose in you, hit subscribe and the bell.\nWe drop long‑form talks, distilled wisdom, and tools you can actually use every week. Share this with the friend who needs to hear “stop absorbing their pain” before it breaks them.\n\n📚 EXPLORE MORE LIKE THIS:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n🎧 Listen to The Jordan B. Peterson Podcast:\n• Spotify: https://open.spotify.com/show/2bGpVpDx3FbjsGvHGHjHNn\n• Apple Podcasts: https://podcasts.apple.com/ca/podcast/the-jordan-b-peterson-podcast/id1184022695\n\n📢 Connect with Dr. Jordan B. Peterson:\n· Of (truncated) 17:12:00.440 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:12:00.440 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-03 18:17:05Z], 2] 17:12:00.443 [debug] QUERY OK source="media_items" db=2.0ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Setup n8n in 5 min with https://hostinger.com/ncn8n + use code NETWORKCHUCK for a discount. \n\n🔥🧠 Check out our N8N COURSE on NetworkChuck Academy!: https://ntck.co/n8n_academy \n\nIn this video, I take n8n to the NEXT LEVEL by building an AI agent. Meet my new IT employee “Terry” who can monitor, troubleshoot, and even fix my homelab. From Docker containers to Plex, Proxmox, and UniFi, Terry learns how to keep everything running smoothly. This is not just automation; this is AI running my ENTIRE homelab.\n\nGUIDE / RESOURCES:\n\n📃 Guide / Documentation: https://github.com/theNetworkChuck/n8n-terry-guide\n\n📺 Part 1 (Baby Terry – first n8n video): https://youtu.be/ONgECvZNI3o?si=xCwIMQLjIjug-hNP\n\n\nTIMESTAMPS:\n\n0:00 - Intro: Meet Terminator Terry (The AI IT Employee)\n0:58 - Employee Onboarding: Teaching Terry the Basics\n2:22 - Setting Up n8n in the Cloud (Hostinger Setup)\n2:58 - Connecting Terry to Your Homelab with Twingate\n3:15 - Building Terry's First Workflow in n8n\n4:01 - Creating a Test Website (Docker Container Setup)\n5:00 - Terry's First Tool: HTTP Request (Website Monitoring)\n6:11 - Teaching Terry to Monitor Like a Human\n7:43 - Terry's Second Tool: SSH Access (Docker Commands)\n10:00 - Converting SSH to a Workflow Tool\n11:06 - Terry Learns to Troubleshoot (Docker PS & Inspect)\n13:05 - Giving Terry More Freedom (Dynamic Commands)\n14:16 - Making Terry Autonomous (Schedule Trigger Setup)\n17:54 - Telegram Notifications: Terry Reports Back\n19:24 - Structured Output: Teaching Terry Clean Data\n22:33 - Smart Filtering: Only Alert on Problems\n23:09 - Level 2 Engineer: Teaching Terry to Fix Things\n24:49 - The Port Conflict Challenge (Terry's First Real Test)\n26:42 - Upgrading Terry's Brain (GPT-4 vs Mini)\n28:18 - Human-in-the-Loop: Taking Back Control\n30:27 - Setting Up Approval Workflows\n32:02 - Terry Asks Permission Before System Changes\n35:06 - Testing the Complete Workflow (Monitor → Troubleshoot → Approve → Fix)\n37:02 - Connecting Terry to Your Real Homelab\n37:40 - Unifi Network Control (API Integration)\n38:55 - Proxmox Integration (CLI & API Access)\n\n\n\n\n\n🔥🔥Join the NetworkChuck Academy!: https://ntck.co/NCAcademy \n\n\n\n**Sponsored by Hostinger \n\n\n\n\n\n\n\nSUPPORT NETWORKCHUCK\n---------------------------------------------------\n➡️NetworkChuck membership: https://ntck.co/Premium \n☕☕ COFFEE and MERCH: https://ntck.co/coffee \n\nCheck out my new channel: https://ntck.co/ncclips \n\n🆘🆘NEED HELP?? Join the Discord Server: https://discord.gg/networkchuck \n\nSTUDY WITH ME on Twitch: https://bit.ly/nc_twitch \n\nREADY TO LEARN??\n---------------------------------------------------\n-Learn Python: https://bit.ly/3rzZjzz \n-Get your CCNA: https://bit.ly/nc-ccna \n\nFOLLOW ME EVERYWHERE\n---------------------------------------------------\nInstagram: https://www.instagram.com/networkchuck/ \nTwitter: https://twitter.com/networkchuck \nFacebook: https://www.facebook.com/NetworkChuck/ \nJoin the Discord server: http://bit.ly/nc-discord \n\n\n\n\nAFFILIATES & REFERRALS\n---------------------------------------------------\n(GEAR I USE...STUFF I RECOMMEND)\nMy network gear: https://geni.us/L6wyIUj \nAmazon Affiliate Store: https://www.amazon.com/shop/networkchuck \nBuy a Raspberry Pi: https://geni.us/aBeqAL\nDo you want to know how I draw on the screen?? Go to https://ntck.co/EpicPen and use code NetworkChuck to get 20% off!! \nfast and reliable unifi in the cloud: https://hostifi.com/?via=chuck\n\nhow to use n8n to automate your homelab\nhow to build an ai agent with n8n\nhow to monitor docker containers with n8n\nhow to automate proxmox with n8n\nhow to set up plex monitoring in n8n\nhow to use n8n with unifi\nhow to make ai troubleshoot your server\nhow to automate your home network with n8n\nhow to connect telegram alerts to n8n\nhow to build a self hosted ai helpdesk with n8n\nhow to teach ai to monitor your website with n8n\nhow to restart docker containers automatically with n8n\nhow to use ssh in n8n workflows\nhow to integrate api monitoring into n8n\nhow to use n8n for server monitoring\nhow to automate plex and unifi with n8n\nhow to run ai workflows with n8n\nhow to set up automated t" <> ..., "n8n Now Runs My ENTIRE Homelab", "32dacd01-5b98-4cfc-884a-1aee7284e33e", 2837, false, "budTmdQfXYU", "https://www.youtube.com/watch?v=budTmdQfXYU", 18, "/downloads/NetworkChuck/2025-10-03 n8n Now Runs My ENTIRE Homelab/n8n Now Runs My ENTIRE Homelab [budTmdQfXYU].mp4", false, false, false, 2, [], 1, ~U[2025-10-03 18:17:05Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "Setup n8n in 5 min with https://hostinger.com/ncn8n + use code NETWORKCHUCK for a discount. \n\n🔥🧠 Check out our N8N COURSE on NetworkChuck Academy!: https://ntck.co/n8n_academy \n\nIn this video, I take n8n to the NEXT LEVEL by building an AI agent. Meet my new IT employee “Terry” who can monitor, troubleshoot, and even fix my homelab. From Docker containers to Plex, Proxmox, and UniFi, Terry learns how to keep everything running smoothly. This is not just automation; this is AI running my ENTIRE homelab.\n\nGUIDE / RESOURCES:\n\n📃 Guide / Documentation: https://github.com/theNetworkChuck/n8n-terry-guide\n\n📺 Part 1 (Baby Terry – first n8n video): https://youtu.be/ONgECvZNI3o?si=xCwIMQLjIjug-hNP\n\n\nTIMESTAMPS:\n\n0:00 - Intro: Meet Terminator Terry (The AI IT Employee)\n0:58 - Employee Onboarding: Teaching Terry the Basics\n2:22 - Setting Up n8n in the Cloud (Hostinger Setup)\n2:58 - Connecting Terry to Your Homelab with Twingate\n3:15 - Building Terry's First Workflow in n8n\n4:01 - Creating a Test Website (Docker Container Setup)\n5:00 - Terry's First Tool: HTTP Request (Website Monitoring)\n6:11 - Teaching Terry to Monitor Like a Human\n7:43 - Terry's Second Tool: SSH Access (Docker Commands)\n10:00 - Converting SSH to a Workflow Tool\n11:06 - Terry Learns to Troubleshoot (Docker PS & Inspect)\n13:05 - Giving Terry More Freedom (Dynamic Commands)\n14:16 - Making Terry Autonomous (Schedule Trigger Setup)\n17:54 - Telegram Notifications: Terry Reports Back\n19:24 - Structured Output: Teaching Terry Clean Data\n22:33 - Smart Filtering: Only Alert on Problems\n23:09 - Level 2 Engineer: Teaching Terry to Fix Things\n24:49 - The Port Conflict Challenge (Terry's First Real Test)\n26:42 - Upgrading Terry's Brain (GPT-4 vs Mini)\n28:18 - Human-in-the-Loop: Taking Back Control\n30:27 - Setting Up Approval Workflows\n32:02 - Terry Asks Permission Before System Changes\n35:06 - Testing the Complete Workflow (Monitor → Troubleshoot → Approve → Fix)\n37:02 - Connecting Terry to Your Real Homelab\n37:40 - Unifi Network Control (API Integration)\n38:55 - Proxmox Integration (CLI & API Access)\n\n\n\n\n\n🔥🔥Join the NetworkChuck Academy!: https://ntck.co/NCAcademy \n\n\n\n**Sponsored by Hostinger \n\n\n\n\n\n\n\nSUPPORT NETWORKCHUCK\n---------------------------------------------------\n➡️NetworkChuck membership: https://ntck.co/Premium \n☕☕ COFFEE and MERCH: https://ntck.co/coffee \n\nCheck out my new channel: https://ntck.co/ncclips \n\n🆘🆘NEED HELP?? Join the Discord Server: https://discord.gg/networkchuck \n\nSTUDY WITH ME on Twitch: https://bit.ly/nc_twitch \n\nREADY TO LEARN??\n---------------------------------------------------\n-Learn Python: https://bit.ly/3 (truncated) 17:12:00.444 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:12:00.445 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=5.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-13 16:30:25Z], 2] 17:12:00.447 [debug] QUERY OK source="media_items" db=1.9ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Are you tired of that little voice in your head telling you you’re not ready, not good enough, or that everything will fall apart if you take one wrong step? In this full 41‑minute talk, Dr. Jordan Peterson pulls no punches and breaks down exactly how to overcome self-doubt and fear — not with empty affirmations, but with the psychological and philosophical tools that actually rewire your mind.\n\nThis isn’t fluffy motivation. It’s a deep dive into why your brain defaults to anxiety, how you unknowingly feed your own insecurity, and the brutally honest steps you need to take if you truly want to stop standing in your own way. If you’ve ever struggled with procrastination, impostor syndrome, or that paralysing “what if” loop, grab a notebook — this lecture will change the way you see yourself.\n\n📌 IN THIS VIDEO YOU’LL LEARN\n\n· The hidden biological purpose of self-doubt (and why it isn’t your enemy)\n· How the fear of chaos keeps you small — and the archetype of the dragon that demands to be faced\n· Why your “safe” life is actually making your anxiety worse\n· The shadow side of your personality, and why integrating it makes you genuinely confident\n· A step-by-step look at voluntary exposure to fear (and the science that makes it work)\n· How to stop comparing yourself to others and start competing with who you were yesterday\n· The one question you must answer honestly if you ever want to feel competent and free\n\n⏱️ CHAPTERS — jump straight to what you need\n00:00 — The monster you’re avoiding right now\n04:22 — What self-doubt is really trying to tell you\n09:50 — The danger of playing it safe at all costs\n15:30 — Integrating the shadow (this part is uncomfortable but necessary)\n21:15 — The brutal truth about exposure and courage\n28:40 — Compete with your yesterday self, not anyone else\n34:10 — What it actually means to pick up your cross\n38:25 — The final challenge: can you answer this honestly?\n\n💬 QUESTION FOR YOU\nWhich fear has had the loudest voice in your life lately? Drop it in the comments — I read every single one, and you’ll be surprised how many people share your story. When you name it, you start taking its power away.\n\n🔔 If this hit home, SMASH that like button and hit subscribe with the notification bell on. We’re building a community of people who refuse to live small and aren’t afraid to do the hard work.\n\n📚 GO DEEPER\n\n· Watch next → “Jordan Peterson – How to Become Dangerous (And Why You Must)” https://youtu.be/aX7PeMj_XFs\n· Dr. Peterson’s latest book “We Who Wrestle With God” → https://amzn.to/4358on9 \n· Future Authoring Program (the self-authoring suite that uses these principles) → https://www.selfauthoring.com/\n\n🌐 CONNECT WITH DR. JORDAN PETERSON\n· YouTube: @JordanBPeterson\n· Website: jordanbpeterson.com\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n\n#JordanPeterson #OvercomeSelfDoubt #FaceYourFears #SelfDoubt #Psychology #PersonalDevelopment #AnxietyRelief #Motivation2026 #MentalHealthMatters #WeWhoWrestleWithGod\n\nDisclaimer: This video is for educational purposes and reflects Dr. Peterson’s psychological and philosophical insights. It is not a substitute for professional therapy.", "Jordan Peterson: \"Overcome Self Doubt and Fear\"", "b2de73cb-d69a-481a-a049-0d47f852db64", 2511, false, "lIh9jSwo9g0", "https://www.youtube.com/watch?v=lIh9jSwo9g0", 19, "/downloads/Jordan Peterson Rules for Life/2026-07-13 Jordan Peterson: "Overcome Self Doubt and Fear"/Jordan Peterson: "Overcome Self Doubt and Fear" [lIh9jSwo9g0].mp4", false, false, false, 2, [], 1, ~U[2026-07-13 16:30:25Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "Are you tired of that little voice in your head telling you you’re not ready, not good enough, or that everything will fall apart if you take one wrong step? In this full 41‑minute talk, Dr. Jordan Peterson pulls no punches and breaks down exactly how to overcome self-doubt and fear — not with empty affirmations, but with the psychological and philosophical tools that actually rewire your mind.\n\nThis isn’t fluffy motivation. It’s a deep dive into why your brain defaults to anxiety, how you unknowingly feed your own insecurity, and the brutally honest steps you need to take if you truly want to stop standing in your own way. If you’ve ever struggled with procrastination, impostor syndrome, or that paralysing “what if” loop, grab a notebook — this lecture will change the way you see yourself.\n\n📌 IN THIS VIDEO YOU’LL LEARN\n\n· The hidden biological purpose of self-doubt (and why it isn’t your enemy)\n· How the fear of chaos keeps you small — and the archetype of the dragon that demands to be faced\n· Why your “safe” life is actually making your anxiety worse\n· The shadow side of your personality, and why integrating it makes you genuinely confident\n· A step-by-step look at voluntary exposure to fear (and the science that makes it work)\n· How to stop comparing yourself to others and start competing with who you were yesterday\n· The one question you must answer honestly if you ever want to feel competent and free\n\n⏱️ CHAPTERS — jump straight to what you need\n00:00 — The monster you’re avoiding right now\n04:22 — What self-doubt is really trying to tell you\n09:50 — The danger of playing it safe at all costs\n15:30 — Integrating the shadow (this part is uncomfortable but necessary)\n21:15 — The brutal truth about exposure and courage\n28:40 — Compete with your yesterday self, not anyone else\n34:10 — What it actually means to pick up your cross\n38:25 — The final challenge: can you answer this honestly?\n\n💬 QUESTION FOR YOU\nWhich fear has had the loudest voice in your life lately? Drop it in the comments — I read every single one, and you’ll be surprised how many people share your story. When you name it, you start taking its power away.\n\n🔔 If this hit home, SMASH that like button and hit subscribe with the notification bell on. We’re building a community of people who refuse to live small and aren’t afraid to do the hard work.\n\n📚 GO DEEPER\n\n· Watch next → “Jordan Peterson – How to Become Dangerous (And Why You Must)” https://youtu.be/aX7PeMj_XFs\n· Dr. Peterson’s latest book “We Who Wrestle With God” → https://amzn.to/4358on9 \n· Future Authoring Program (the self-authoring suite that uses these principles) → https://www.selfauthoring.com/\n\n🌐 CONNECT WITH DR. JORDAN PETERSON\n· YouTube: @JordanBPeterson\n· Website: jordanbpeterson.com\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n\n#JordanPeterson #OvercomeSelfDoubt #FaceYourFears #SelfDoubt #Psychology #PersonalDevelopment #AnxietyRelief #Motivation2026 #MentalHealthMatters #WeWhoWrestleWithGod\n\nDisclaimer: This video is for educational purposes and reflects Dr. Peterson’s psychological and philosophical insights. It is not a substitute for professional therapy.", "Jordan Peterson: \"Overcome Self Doubt and Fear\"", 2511, false, "lIh9jSwo9g0", "https://www.youtube.com/watch?v=lIh9jSwo9g0", "/downloads/Jordan Peterson Rules for Life/2026-07-13 Jordan Peter (truncated) 17:12:00.448 [debug] QUERY OK source="sources" db=0.1ms idle=7.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 17:12:00.448 [debug] QUERY OK source="media_items" db=0.2ms idle=5.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-11-04 19:16:24Z], 2] 17:12:00.450 [debug] QUERY OK source="media_items" db=0.6ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Jordan Peterson dropping some serious hydrogen truth bombs at the end of a lecture when a student asks him a question regarding the Self Authoring program. \n\nSource: https://www.youtube.com/watch?v=T4fjSrVCDvA\n\nhttps://www.selfauthoring.com\n\nhttps://jordanbpeterson.com", "Jordan Peterson on the meaning of life for men. MUST WATCH", "1dc956c2-28b9-4b1b-9ada-474d29825ba9", 684, false, "NX2ep5fCJZ8", "https://www.youtube.com/watch?v=NX2ep5fCJZ8", 20, "/downloads/Alex Swan/2017-11-04 Jordan Peterson on the meaning of life for men. MUST WATCH/Jordan Peterson on the meaning of life for men. MUST WATCH [NX2ep5fCJZ8].mp4", false, false, false, 2, [], 1, ~U[2017-11-04 19:16:24Z], ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], "Jordan Peterson dropping some serious hydrogen truth bombs at the end of a lecture when a student asks him a question regarding the Self Authoring program. \n\nSource: https://www.youtube.com/watch?v=T4fjSrVCDvA\n\nhttps://www.selfauthoring.com\n\nhttps://jordanbpeterson.com", "Jordan Peterson on the meaning of life for men. MUST WATCH", 684, false, "NX2ep5fCJZ8", "https://www.youtube.com/watch?v=NX2ep5fCJZ8", "/downloads/Alex Swan/2017-11-04 Jordan Peterson on the meaning of life for men. MUST WATCH/Jordan Peterson on the meaning of life for men. MUST WATCH [NX2ep5fCJZ8].mp4", false, 2, ~U[2017-11-04 19:16:24Z]] 17:12:00.459 [debug] QUERY OK source="sources" db=0.3ms queue=8.6ms idle=5.1ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z], 2] 17:12:00.460 [debug] QUERY OK source="media_items" db=0.4ms idle=12.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")))) [2] 17:12:00.461 [debug] QUERY OK source="media_items" db=0.5ms idle=12.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")))) [2] 17:12:00.461 [debug] QUERY OK source="media_items" db=0.1ms idle=12.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 17:12:00.463 [debug] QUERY OK source="tasks" db=0.2ms idle=2.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [9491, 2, ~U[2026-09-16 17:12:00Z], ~U[2026-09-16 17:12:00Z]] 17:12:00.463 [info] {"args":{"id":2},"id":9479,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":34120025,"event":"job:stop","queue_time":165330,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 17:12:01.104 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Jeff Cavaliere (@athleanx), MSPT, CSCS, a physical therapist, strength coach and the founder of ATHLEAN-X, an online training platform.\n\nWe explain the foundations of an effective training program, including how to structure your weekly workouts and recovery to match your goals and schedule. We also discuss effective warm-ups and stretching, strategies to reduce injury risk and practical nutrition principles without strict calorie counting. Jeff's science-based approach offers clear, actionable guidance for anyone looking to improve fitness, physique and overall health.\n\nShow notes: https://go.hubermanlab.com/XQCAQHQ\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Jeff Cavaliere\n00:00:20 Beginner Whole Body Training Program, Warm-Ups\n00:02:18 Splits, Time Efficiency, Recovery; Bro Splits\n00:05:07 Cardiovascular & Resistance Training, Timing & Frequency; Blending Strategies\n00:08:13 Cramp Test & Resistance Training, “Cavaliere Test”, Muscularity\n00:10:44 Recovery, Soreness & Variability; Tool: Grip Strength Test\n00:13:37 Active vs Passive Stretching, Recovery\n00:16:01 Recovery, Heal “Shorter” & Muscle; Dynamic Stretching\n00:18:10 Upright Row, Shoulder, Posture, Tool: High Pull; Strengthening Hips\n00:23:25 Tool: Proper Bar Grip, Elbow Pain\n00:27:50 Tool: Training Journal & Goals\n00:28:27 Nutrition; Tool: Plate Method\n00:31:52 Post-Training Meal, Protein; Pre-Workout Supplements\n00:34:09 Acknowledgements\n\n#HubermanLab #Science #Exercise\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2091, "filename" => "/downloads/Andrew Huberman/2026-02-19 Essentials: Optimize Your Exercise Program with Science-Based Tools | Jeff Cavaliere/Essentials: Optimize Your Exercise Program with Science-Based Tools | Jeff Cavaliere [9GzlbLIU5dU].mp4", "id" => "9GzlbLIU5dU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9GzlbLIU5dU", "playlist_index" => 30, "timestamp" => 1771506015, "title" => "Essentials: Optimize Your Exercise Program with Science-Based Tools | Jeff Cavaliere", "upload_date" => "20260219"} 17:12:01.105 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=641.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:01.105 [debug] QUERY OK source="sources" db=0.2ms idle=642.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:01.106 [debug] QUERY OK source="media_items" db=0.5ms idle=642.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-19 13:00:15Z], 4] 17:12:01.109 [debug] QUERY OK source="media_items" db=2.5ms idle=642.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Jeff Cavaliere (@athleanx), MSPT, CSCS, a physical therapist, strength coach and the founder of ATHLEAN-X, an online training platform.\n\nWe explain the foundations of an effective training program, including how to structure your weekly workouts and recovery to match your goals and schedule. We also discuss effective warm-ups and stretching, strategies to reduce injury risk and practical nutrition principles without strict calorie counting. Jeff's science-based approach offers clear, actionable guidance for anyone looking to improve fitness, physique and overall health.\n\nShow notes: https://go.hubermanlab.com/XQCAQHQ\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Jeff Cavaliere\n00:00:20 Beginner Whole Body Training Program, Warm-Ups\n00:02:18 Splits, Time Efficiency, Recovery; Bro Splits\n00:05:07 Cardiovascular & Resistance Training, Timing & Frequency; Blending Strategies\n00:08:13 Cramp Test & Resistance Training, “Cavaliere Test”, Muscularity\n00:10:44 Recovery, Soreness & Variability; Tool: Grip Strength Test\n00:13:37 Active vs Passive Stretching, Recovery\n00:16:01 Recovery, Heal “Shorter” & Muscle; Dynamic Stretching\n00:18:10 Upright Row, Shoulder, Posture, Tool: High Pull; Strengthening Hips\n00:23:25 Tool: Proper Bar Grip, Elbow Pain\n00:27:50 Tool: Training Journal & Goals\n00:28:27 Nutrition; Tool: Plate Method\n00:31:52 Post-Training Meal, Protein; Pre-Workout Supplements\n00:34:09 Acknowledgements\n\n#HubermanLab #Science #Exercise\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Optimize Your Exercise Program with Science-Based Tools | Jeff Cavaliere", "e35ce33c-7e29-4ab0-a204-5a49e0d1c6fe", 2091, false, "9GzlbLIU5dU", "https://www.youtube.com/watch?v=9GzlbLIU5dU", 30, "/downloads/Andrew Huberman/2026-02-19 Essentials: Optimize Your Exercise Program with Science-Based Tools | Jeff Cavaliere/Essentials: Optimize Your Exercise Program with Science-Based Tools | Jeff Cavaliere [9GzlbLIU5dU].mp4", false, false, false, 4, [], 1, ~U[2026-02-19 13:00:15Z], ~U[2026-09-16 17:12:01Z], ~U[2026-09-16 17:12:01Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Jeff Cavaliere (@athleanx), MSPT, CSCS, a physical therapist, strength coach and the founder of ATHLEAN-X, an online training platform.\n\nWe explain the foundations of an effective training program, including how to structure your weekly workouts and recovery to match your goals and schedule. We also discuss effective warm-ups and stretching, strategies to reduce injury risk and practical nutrition principles without strict calorie counting. Jeff's science-based approach offers clear, actionable guidance for anyone looking to improve fitness, physique and overall health.\n\nShow notes: https://go.hubermanlab.com/XQCAQHQ\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Jeff Cavaliere\n00:00:20 Beginner Whole Body Training Program, Warm-Ups\n00:02:18 Splits, Time Efficiency, Recovery; Bro Splits\n00:05:07 Cardiovascular & Resistance Training, Timing & Frequency; Blending Strategies\n00:08:13 Cramp Test & Resistance Training, “Cavaliere Test”, Muscularity\n00:10:44 Recovery, Soreness & Variability; Tool: Grip Strength Test\n00:13:37 Active vs Passive Stretching, Recovery\n00:16:01 Recovery, Heal “Shorter” & Muscle; Dynamic Stretching\n00:18:10 Upright Row, Shoulder, Posture, Tool: High Pull; Strengthening Hips\n00:23:25 Tool: Proper Bar Grip, Elbow Pain\n00:27:50 Tool: Training Journal & Goals\n00:28:27 Nutrition; Tool: Plate Method\n00:31:52 Post-Training Meal, Protein; Pre-Workout Supplements\n00:34:09 Acknowledgements\n\n#HubermanLab #Science #Exercise\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Optimize Your Exercise Program with Science-Based Tools | Jeff Cavaliere", 2091, false, "9GzlbLIU5dU", "https://www.youtube.com/watch?v=9GzlbLIU5dU", "/downloads/Andrew Huberman/2026-02-19 Essentials: Optimize Your Exercise Program with Science-Based Tools | Jeff Cavaliere/Essentials: Optimize Your Exercise Program with Science-Based Tools | Jeff Cavaliere [9GzlbLIU5dU].mp4", false, 4, ~U[2026-02-19 13:00:15Z]] 17:12:01.110 [debug] QUERY OK source="sources" db=0.3ms idle=639.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:01.110 [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] 17:12:01.111 [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 [169] 17:12:01.111 [debug] Current batch of media processed. Will check again in 1000ms 17:12:02.112 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the psychology and biology of desire, love and attachment. I explain how childhood attachment styles can shape adult romantic relationships and how the brain and body systems influence emotional bonds. I also discuss supplements that may support a healthy libido and practical, science-based tools for understanding your relationship patterns and building stronger relationships.\n\nShow notes: https://go.hubermanlab.com/jwe6R2e\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Desire, Love & Attachment\n00:00:23 4 Attachment Styles, Child & Parent\n00:04:11 Attachment & Autonomic Arousal, Seesaw Analogy\n00:07:26 Tool: Self-Awareness of Attachment Style, Autonomic State & Relationship\n00:08:31 Brain & Neural Circuits for Desire, Love & Attachment\n 00:10:01 Empathy, Autonomic Matching\n00:11:51 Positive Delusions, Relationship Breakdown & Failure\n00:14:42 Universality of Love, Autonomic Coordination\n00:18:41 Self-Expansion & Relationships, Shaping Self-Perception\n00:24:56 Testosterone, Estrogen, Dopamine & Libido\n00:28:03 Supplements to Increase Libido: Maca Root, Tongkat Ali (Longjack), Tribulus\n00:35:07 Recap\n\n#HubermanLab #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2149, "filename" => "/downloads/Andrew Huberman/2026-02-12 The Science of Love, Desire & Attachment | Huberman Lab Essentials/The Science of Love, Desire & Attachment | Huberman Lab Essentials [NEkUNahduWY].mp4", "id" => "NEkUNahduWY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=NEkUNahduWY", "playlist_index" => 31, "timestamp" => 1770901241, "title" => "The Science of Love, Desire & Attachment | Huberman Lab Essentials", "upload_date" => "20260212"} 17:12:02.112 [debug] QUERY OK source="sources" db=0.2ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:02.113 [debug] QUERY OK source="sources" db=0.1ms idle=1002.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:02.114 [debug] QUERY OK source="media_items" db=0.5ms idle=1002.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-12 13:00:41Z], 4] 17:12:02.116 [debug] QUERY OK source="media_items" db=1.4ms idle=1002.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the psychology and biology of desire, love and attachment. I explain how childhood attachment styles can shape adult romantic relationships and how the brain and body systems influence emotional bonds. I also discuss supplements that may support a healthy libido and practical, science-based tools for understanding your relationship patterns and building stronger relationships.\n\nShow notes: https://go.hubermanlab.com/jwe6R2e\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Desire, Love & Attachment\n00:00:23 4 Attachment Styles, Child & Parent\n00:04:11 Attachment & Autonomic Arousal, Seesaw Analogy\n00:07:26 Tool: Self-Awareness of Attachment Style, Autonomic State & Relationship\n00:08:31 Brain & Neural Circuits for Desire, Love & Attachment\n 00:10:01 Empathy, Autonomic Matching\n00:11:51 Positive Delusions, Relationship Breakdown & Failure\n00:14:42 Universality of Love, Autonomic Coordination\n00:18:41 Self-Expansion & Relationships, Shaping Self-Perception\n00:24:56 Testosterone, Estrogen, Dopamine & Libido\n00:28:03 Supplements to Increase Libido: Maca Root, Tongkat Ali (Longjack), Tribulus\n00:35:07 Recap\n\n#HubermanLab #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science of Love, Desire & Attachment | Huberman Lab Essentials", "86c3afb6-3719-4001-a4f0-e68eafa42d85", 2149, false, "NEkUNahduWY", "https://www.youtube.com/watch?v=NEkUNahduWY", 31, "/downloads/Andrew Huberman/2026-02-12 The Science of Love, Desire & Attachment | Huberman Lab Essentials/The Science of Love, Desire & Attachment | Huberman Lab Essentials [NEkUNahduWY].mp4", false, false, false, 4, [], 1, ~U[2026-02-12 13:00:41Z], ~U[2026-09-16 17:12:02Z], ~U[2026-09-16 17:12:02Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the psychology and biology of desire, love and attachment. I explain how childhood attachment styles can shape adult romantic relationships and how the brain and body systems influence emotional bonds. I also discuss supplements that may support a healthy libido and practical, science-based tools for understanding your relationship patterns and building stronger relationships.\n\nShow notes: https://go.hubermanlab.com/jwe6R2e\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Desire, Love & Attachment\n00:00:23 4 Attachment Styles, Child & Parent\n00:04:11 Attachment & Autonomic Arousal, Seesaw Analogy\n00:07:26 Tool: Self-Awareness of Attachment Style, Autonomic State & Relationship\n00:08:31 Brain & Neural Circuits for Desire, Love & Attachment\n 00:10:01 Empathy, Autonomic Matching\n00:11:51 Positive Delusions, Relationship Breakdown & Failure\n00:14:42 Universality of Love, Autonomic Coordination\n00:18:41 Self-Expansion & Relationships, Shaping Self-Perception\n00:24:56 Testosterone, Estrogen, Dopamine & Libido\n00:28:03 Supplements to Increase Libido: Maca Root, Tongkat Ali (Longjack), Tribulus\n00:35:07 Recap\n\n#HubermanLab #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science of Love, Desire & Attachment | Huberman Lab Essentials", 2149, false, "NEkUNahduWY", "https://www.youtube.com/watch?v=NEkUNahduWY", "/downloads/Andrew Huberman/2026-02-12 The Science of Love, Desire & Attachment | Huberman Lab Essentials/The Science of Love, Desire & Attachment | Huberman Lab Essentials [NEkUNahduWY].mp4", false, 4, ~U[2026-02-12 13:00:41Z]] 17:12:02.116 [debug] QUERY OK source="sources" db=0.2ms idle=727.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:02.117 [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] 17:12:02.117 [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 [170] 17:12:02.117 [debug] Current batch of media processed. Will check again in 1000ms 17:12:03.119 [debug] Current batch of media processed. Will check again in 1000ms 17:12:04.120 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Ido Portal, a movement coach and world expert on human movement.\n\nWe explore the science and practice of movement, including how the nervous system shapes our actions, the distinction between reflexive and deliberate movement patterns and how emotion and awareness influence our movement. Ido shares how to build a holistic movement practice into everyday life through an exploration-based approach grounded in playfulness and self-inquiry.\n\nEpisode show notes: https://go.hubermanlab.com/bx4pANM\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Ido Portal*\nWebsite: https://www.idoportal.com \nInstagram: https://www.instagram.com/portal.ido \nYouTube: https://www.youtube.com/user/portaldo \nFacebook: https://www.facebook.com/portal.ido \n\n*Timestamps*\n00:00:00 Ido Portal\n00:00:20 Movement Practice, Self-Inquiry\n00:02:08 Wordlessness, 3 Core Elements of the Body; Focus & Movement\n00:06:35 Mental & Physical Postures; Virtuosity\n00:11:03 Vision & Eyes; Focus vs Relaxed Vision; Tool: Panoramic View\n00:16:20 Hearing; Different Opinions\n00:19:25 Body Shape; Developing Many Walks\n00:22:19 Playful Exploration, Openness\n00:25:00 Peripersonal Space & Movement, Proximity, Reactivity, Discomfort\n00:29:52 Exercise, Traditional Movements; Examination of Movement \n00:35:17 Exploration; Acknowledgements\n\n#HubermanLab #Science #Movement\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2170, "filename" => "/downloads/Andrew Huberman/2026-02-05 Essentials: The Science & Practice of Movement | Ido Portal/Essentials: The Science & Practice of Movement | Ido Portal [JsICN9ZiSjA].mp4", "id" => "JsICN9ZiSjA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JsICN9ZiSjA", "playlist_index" => 32, "timestamp" => 1770296440, "title" => "Essentials: The Science & Practice of Movement | Ido Portal", "upload_date" => "20260205"} 17:12:04.120 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=727.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:04.121 [debug] QUERY OK source="sources" db=0.1ms idle=373.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:04.122 [debug] QUERY OK source="media_items" db=0.4ms idle=373.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 13:00:40Z], 4] 17:12:04.124 [debug] QUERY OK source="media_items" db=1.4ms idle=374.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Ido Portal, a movement coach and world expert on human movement.\n\nWe explore the science and practice of movement, including how the nervous system shapes our actions, the distinction between reflexive and deliberate movement patterns and how emotion and awareness influence our movement. Ido shares how to build a holistic movement practice into everyday life through an exploration-based approach grounded in playfulness and self-inquiry.\n\nEpisode show notes: https://go.hubermanlab.com/bx4pANM\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Ido Portal*\nWebsite: https://www.idoportal.com \nInstagram: https://www.instagram.com/portal.ido \nYouTube: https://www.youtube.com/user/portaldo \nFacebook: https://www.facebook.com/portal.ido \n\n*Timestamps*\n00:00:00 Ido Portal\n00:00:20 Movement Practice, Self-Inquiry\n00:02:08 Wordlessness, 3 Core Elements of the Body; Focus & Movement\n00:06:35 Mental & Physical Postures; Virtuosity\n00:11:03 Vision & Eyes; Focus vs Relaxed Vision; Tool: Panoramic View\n00:16:20 Hearing; Different Opinions\n00:19:25 Body Shape; Developing Many Walks\n00:22:19 Playful Exploration, Openness\n00:25:00 Peripersonal Space & Movement, Proximity, Reactivity, Discomfort\n00:29:52 Exercise, Traditional Movements; Examination of Movement \n00:35:17 Exploration; Acknowledgements\n\n#HubermanLab #Science #Movement\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Science & Practice of Movement | Ido Portal", "d1952ba8-eec8-4652-b7fb-2ae6c0ffe5cf", 2170, false, "JsICN9ZiSjA", "https://www.youtube.com/watch?v=JsICN9ZiSjA", 32, "/downloads/Andrew Huberman/2026-02-05 Essentials: The Science & Practice of Movement | Ido Portal/Essentials: The Science & Practice of Movement | Ido Portal [JsICN9ZiSjA].mp4", false, false, false, 4, [], 1, ~U[2026-02-05 13:00:40Z], ~U[2026-09-16 17:12:04Z], ~U[2026-09-16 17:12:04Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Ido Portal, a movement coach and world expert on human movement.\n\nWe explore the science and practice of movement, including how the nervous system shapes our actions, the distinction between reflexive and deliberate movement patterns and how emotion and awareness influence our movement. Ido shares how to build a holistic movement practice into everyday life through an exploration-based approach grounded in playfulness and self-inquiry.\n\nEpisode show notes: https://go.hubermanlab.com/bx4pANM\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Ido Portal*\nWebsite: https://www.idoportal.com \nInstagram: https://www.instagram.com/portal.ido \nYouTube: https://www.youtube.com/user/portaldo \nFacebook: https://www.facebook.com/portal.ido \n\n*Timestamps*\n00:00:00 Ido Portal\n00:00:20 Movement Practice, Self-Inquiry\n00:02:08 Wordlessness, 3 Core Elements of the Body; Focus & Movement\n00:06:35 Mental & Physical Postures; Virtuosity\n00:11:03 Vision & Eyes; Focus vs Relaxed Vision; Tool: Panoramic View\n00:16:20 Hearing; Different Opinions\n00:19:25 Body Shape; Developing Many Walks\n00:22:19 Playful Exploration, Openness\n00:25:00 Peripersonal Space & Movement, Proximity, Reactivity, Discomfort\n00:29:52 Exercise, Traditional Movements; Examination of Movement \n00:35:17 Exploration; Acknowledgements\n\n#HubermanLab #Science #Movement\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Science & Practice of Movement | Ido Portal", 2170, false, "JsICN9ZiSjA", "https://www.youtube.com/watch?v=JsICN9ZiSjA", "/downloads/Andrew Huberman/2026-02-05 Essentials: The Science & Practice of Movement | Ido Portal/Essentials: The Science & Practice of Movement | Ido Portal [JsICN9ZiSjA].mp4", false, 4, ~U[2026-02-05 13:00:40Z]] 17:12:04.124 [debug] QUERY OK source="sources" db=0.2ms idle=376.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:04.125 [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] 17:12:04.125 [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 [171] 17:12:04.125 [debug] Current batch of media processed. Will check again in 1000ms 17:12:05.126 [debug] Current batch of media processed. Will check again in 1000ms 17:12:06.127 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss why play is a powerful yet often overlooked tool for shaping the brain across the entire lifespan, not just during childhood. I explain how play engages specific brain circuits and neurochemicals, allowing us to explore different roles and learn in low-stakes environments uniquely suited to learning. I also describe why adults benefit from deliberately reintroducing play and which forms of play are most effective for expanding cognitive flexibility and creative thinking.\n\nEpisode show notes: https://go.hubermanlab.com/FA0Bkww\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Power of Play\n00:00:37 Play, Brain & Exploring Contingencies; Creatives\n00:03:27 Childhood Play & Low-Stakes Scenarios\n00:05:18 Tool: Adults & Playful Mindset\n00:07:50 Play Postures; Eyes\n00:10:58 Group Play, Testing & Breaking Rules\n00:13:30 Role Play\n00:14:40 Play Mindset, Low-Stakes Situations, Tool: Adult Play for Brain Health\n00:20:36 Tinkerers & Creatives, Playful Spirit\n00:23:00 Tool: Play to Enhance Neuroplasticity: Dynamic Movement, Chess & Mental Roles\n00:27:06 Personal Play Identity, Adulthood\n00:30:14 Recap\n\n#HubermanLab #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1908, "filename" => "/downloads/Andrew Huberman/2026-01-29 Using Play to Rewire & Improve Your Brain | Huberman Lab Essentials/Using Play to Rewire & Improve Your Brain | Huberman Lab Essentials [BRG4_KfTxbs].mp4", "id" => "BRG4_KfTxbs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BRG4_KfTxbs", "playlist_index" => 33, "timestamp" => 1769691631, "title" => "Using Play to Rewire & Improve Your Brain | Huberman Lab Essentials", "upload_date" => "20260129"} 17:12:06.127 [debug] QUERY OK source="sources" db=0.2ms idle=732.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:06.128 [debug] QUERY OK source="sources" db=0.1ms idle=379.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:06.129 [debug] QUERY OK source="media_items" db=0.7ms idle=380.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 13:00:31Z], 4] 17:12:06.131 [debug] QUERY OK source="media_items" db=1.6ms idle=381.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss why play is a powerful yet often overlooked tool for shaping the brain across the entire lifespan, not just during childhood. I explain how play engages specific brain circuits and neurochemicals, allowing us to explore different roles and learn in low-stakes environments uniquely suited to learning. I also describe why adults benefit from deliberately reintroducing play and which forms of play are most effective for expanding cognitive flexibility and creative thinking.\n\nEpisode show notes: https://go.hubermanlab.com/FA0Bkww\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Power of Play\n00:00:37 Play, Brain & Exploring Contingencies; Creatives\n00:03:27 Childhood Play & Low-Stakes Scenarios\n00:05:18 Tool: Adults & Playful Mindset\n00:07:50 Play Postures; Eyes\n00:10:58 Group Play, Testing & Breaking Rules\n00:13:30 Role Play\n00:14:40 Play Mindset, Low-Stakes Situations, Tool: Adult Play for Brain Health\n00:20:36 Tinkerers & Creatives, Playful Spirit\n00:23:00 Tool: Play to Enhance Neuroplasticity: Dynamic Movement, Chess & Mental Roles\n00:27:06 Personal Play Identity, Adulthood\n00:30:14 Recap\n\n#HubermanLab #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Play to Rewire & Improve Your Brain | Huberman Lab Essentials", "002cb583-53c4-4b52-94db-1106adf4bd4e", 1908, false, "BRG4_KfTxbs", "https://www.youtube.com/watch?v=BRG4_KfTxbs", 33, "/downloads/Andrew Huberman/2026-01-29 Using Play to Rewire & Improve Your Brain | Huberman Lab Essentials/Using Play to Rewire & Improve Your Brain | Huberman Lab Essentials [BRG4_KfTxbs].mp4", false, false, false, 4, [], 1, ~U[2026-01-29 13:00:31Z], ~U[2026-09-16 17:12:06Z], ~U[2026-09-16 17:12:06Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss why play is a powerful yet often overlooked tool for shaping the brain across the entire lifespan, not just during childhood. I explain how play engages specific brain circuits and neurochemicals, allowing us to explore different roles and learn in low-stakes environments uniquely suited to learning. I also describe why adults benefit from deliberately reintroducing play and which forms of play are most effective for expanding cognitive flexibility and creative thinking.\n\nEpisode show notes: https://go.hubermanlab.com/FA0Bkww\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Power of Play\n00:00:37 Play, Brain & Exploring Contingencies; Creatives\n00:03:27 Childhood Play & Low-Stakes Scenarios\n00:05:18 Tool: Adults & Playful Mindset\n00:07:50 Play Postures; Eyes\n00:10:58 Group Play, Testing & Breaking Rules\n00:13:30 Role Play\n00:14:40 Play Mindset, Low-Stakes Situations, Tool: Adult Play for Brain Health\n00:20:36 Tinkerers & Creatives, Playful Spirit\n00:23:00 Tool: Play to Enhance Neuroplasticity: Dynamic Movement, Chess & Mental Roles\n00:27:06 Personal Play Identity, Adulthood\n00:30:14 Recap\n\n#HubermanLab #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Play to Rewire & Improve Your Brain | Huberman Lab Essentials", 1908, false, "BRG4_KfTxbs", "https://www.youtube.com/watch?v=BRG4_KfTxbs", "/downloads/Andrew Huberman/2026-01-29 Using Play to Rewire & Improve Your Brain | Huberman Lab Essentials/Using Play to Rewire & Improve Your Brain | Huberman Lab Essentials [BRG4_KfTxbs].mp4", false, 4, ~U[2026-01-29 13:00:31Z]] 17:12:06.132 [debug] QUERY OK source="sources" db=0.2ms idle=383.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:06.132 [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" = ?) [2] 17:12:06.133 [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 [172] 17:12:06.133 [debug] Current batch of media processed. Will check again in 1000ms 17:12:07.134 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Paul Conti, MD, a psychiatrist and expert in treating trauma and psychiatric illness. \n\nWe explain what trauma is and how it affects the mind and body, as well as the best treatment approaches to support recovery. We also discuss why guilt and shame often follow traumatic experiences and why processing trauma is essential for healing. Dr. Conti shares practical tools for how to choose and work effectively with a therapist and discusses the therapeutic potential of psychedelics and MDMA in clinician-assisted settings.\n\nEpisode show notes: https://go.hubermanlab.com/0zSjjGy\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Paul Conti\n00:00:21 What is Trauma?, Guilt & Shame\n00:03:20 Evolutionary Context of Trauma, Shame & Guilt\n00:07:18 Repetition Compulsion, Repeating Trauma\n00:11:08 Processing Trauma in Therapy or On Your Own, Grieving\n00:15:08 Introspection, Tool: Processing Trauma Through Words\n00:16:23 Finding a Therapist, Rapport; Duration of Therapy\n00:18:37 Prescriptions, Depression, Treating Core Issues\n00:21:16 Psychedelics & Overcoming Trauma, Psychedelic-Assisted Therapy\n00:25:05 MDMA, Overcoming Fear\n00:27:01 Talking about Trauma, Language\n00:28:54 Taking Care of Oneself, Tool: Self-Care Basics\n00:32:14 Acknowledgements\n\n#HubermanLab #Therapy \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2004, "filename" => "/downloads/Andrew Huberman/2026-01-22 Essentials: Therapy, Treating Trauma & Other Life Challenges | Dr. Paul Conti/Essentials: Therapy, Treating Trauma & Other Life Challenges | Dr. Paul Conti [iNL_BFlHYZ8].mp4", "id" => "iNL_BFlHYZ8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iNL_BFlHYZ8", "playlist_index" => 34, "timestamp" => 1769086880, "title" => "Essentials: Therapy, Treating Trauma & Other Life Challenges | Dr. Paul Conti", "upload_date" => "20260122"} 17:12:07.134 [debug] QUERY OK source="sources" db=0.2ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:07.135 [debug] QUERY OK source="sources" db=0.1ms idle=1002.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:07.136 [debug] QUERY OK source="media_items" db=0.4ms idle=1002.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 13:01:20Z], 4] 17:12:07.138 [debug] QUERY OK source="media_items" db=1.4ms idle=1002.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Paul Conti, MD, a psychiatrist and expert in treating trauma and psychiatric illness. \n\nWe explain what trauma is and how it affects the mind and body, as well as the best treatment approaches to support recovery. We also discuss why guilt and shame often follow traumatic experiences and why processing trauma is essential for healing. Dr. Conti shares practical tools for how to choose and work effectively with a therapist and discusses the therapeutic potential of psychedelics and MDMA in clinician-assisted settings.\n\nEpisode show notes: https://go.hubermanlab.com/0zSjjGy\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Paul Conti\n00:00:21 What is Trauma?, Guilt & Shame\n00:03:20 Evolutionary Context of Trauma, Shame & Guilt\n00:07:18 Repetition Compulsion, Repeating Trauma\n00:11:08 Processing Trauma in Therapy or On Your Own, Grieving\n00:15:08 Introspection, Tool: Processing Trauma Through Words\n00:16:23 Finding a Therapist, Rapport; Duration of Therapy\n00:18:37 Prescriptions, Depression, Treating Core Issues\n00:21:16 Psychedelics & Overcoming Trauma, Psychedelic-Assisted Therapy\n00:25:05 MDMA, Overcoming Fear\n00:27:01 Talking about Trauma, Language\n00:28:54 Taking Care of Oneself, Tool: Self-Care Basics\n00:32:14 Acknowledgements\n\n#HubermanLab #Therapy \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Therapy, Treating Trauma & Other Life Challenges | Dr. Paul Conti", "f9675b91-8efc-4e6a-a277-b7ea52fbdb44", 2004, false, "iNL_BFlHYZ8", "https://www.youtube.com/watch?v=iNL_BFlHYZ8", 34, "/downloads/Andrew Huberman/2026-01-22 Essentials: Therapy, Treating Trauma & Other Life Challenges | Dr. Paul Conti/Essentials: Therapy, Treating Trauma & Other Life Challenges | Dr. Paul Conti [iNL_BFlHYZ8].mp4", false, false, false, 4, [], 1, ~U[2026-01-22 13:01:20Z], ~U[2026-09-16 17:12:07Z], ~U[2026-09-16 17:12:07Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Paul Conti, MD, a psychiatrist and expert in treating trauma and psychiatric illness. \n\nWe explain what trauma is and how it affects the mind and body, as well as the best treatment approaches to support recovery. We also discuss why guilt and shame often follow traumatic experiences and why processing trauma is essential for healing. Dr. Conti shares practical tools for how to choose and work effectively with a therapist and discusses the therapeutic potential of psychedelics and MDMA in clinician-assisted settings.\n\nEpisode show notes: https://go.hubermanlab.com/0zSjjGy\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Paul Conti\n00:00:21 What is Trauma?, Guilt & Shame\n00:03:20 Evolutionary Context of Trauma, Shame & Guilt\n00:07:18 Repetition Compulsion, Repeating Trauma\n00:11:08 Processing Trauma in Therapy or On Your Own, Grieving\n00:15:08 Introspection, Tool: Processing Trauma Through Words\n00:16:23 Finding a Therapist, Rapport; Duration of Therapy\n00:18:37 Prescriptions, Depression, Treating Core Issues\n00:21:16 Psychedelics & Overcoming Trauma, Psychedelic-Assisted Therapy\n00:25:05 MDMA, Overcoming Fear\n00:27:01 Talking about Trauma, Language\n00:28:54 Taking Care of Oneself, Tool: Self-Care Basics\n00:32:14 Acknowledgements\n\n#HubermanLab #Therapy \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Therapy, Treating Trauma & Other Life Challenges | Dr. Paul Conti", 2004, false, "iNL_BFlHYZ8", "https://www.youtube.com/watch?v=iNL_BFlHYZ8", "/downloads/Andrew Huberman/2026-01-22 Essentials: Therapy, Treating Trauma & Other Life Challenges | Dr. Paul Conti/Essentials: Therapy, Treating Trauma & Other Life Challenges | Dr. Paul Conti [iNL_BFlHYZ8].mp4", false, 4, ~U[2026-01-22 13:01:20Z]] 17:12:07.138 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:07.139 [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] 17:12:07.139 [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 [173] 17:12:07.139 [debug] Current batch of media processed. Will check again in 1000ms 17:12:08.140 [debug] Current batch of media processed. Will check again in 1000ms 17:12:09.141 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is Dr. Wendy Suzuki, PhD, a professor of neural science and psychology at New York University.\n\nWe discuss simple, daily habits to improve focus, memory and overall cognitive performance. Dr. Suzuki explains how exercise directly enhances brain function—both the immediate benefits of a single workout and long-term support for cognitive health. We also discuss how meditation, verbal affirmations, sleep and other behavioral practices positively influence mood and stress regulation.\n\nEpisode show notes: https://go.hubermanlab.com/4IcdLnG\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Wendy Suzuki\n00:00:21 What Makes Moments Memorable?\n00:02:24 Memory & Hippocampus, Imagination\n00:05:35 One-Trial Learning, Fear\n00:07:08 Exercise Effects on Focus, Attention & Memory\n00:11:29 Brain-Derived Neurotrophic Factor (BDNF) & Exercise\n00:13:16 Tools: Cardiovascular Exercise; 10-Minute Walk & Mood\n00:15:55 How Exercise Increases BDNF\n00:17:59 Adults, Neuron Growth, Hippocampus\n00:20:03 Exercise Effects on Memory, Tool: Morning Exercise\n00:23:20 Exercise & Long-term Effects on Cognition, Older Adults\n00:25:08 Minimum Exercise For Cognitive Benefits (Adults, 30s-50s)\n00:29:15 Increase Exercise For Greater Cognitive Benefits\n00:31:23 Affirmations, Exercise, Mood, IntenSati\n00:33:30 Meditation & Benefits, Tool: Brief Meditation\n00:35:25 Tools to Improve Attention\n\n#HubermanLab #Science #Memory\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2211, "filename" => "/downloads/Andrew Huberman/2026-01-15 Essentials: Tools to Boost Attention & Memory | Dr. Wendy Suzuki/Essentials: Tools to Boost Attention & Memory | Dr. Wendy Suzuki [RmwbNdyrilk].mp4", "id" => "RmwbNdyrilk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RmwbNdyrilk", "playlist_index" => 35, "timestamp" => 1768482059, "title" => "Essentials: Tools to Boost Attention & Memory | Dr. Wendy Suzuki", "upload_date" => "20260115"} 17:12:09.141 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=741.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:09.142 [debug] QUERY OK source="sources" db=0.1ms idle=394.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:09.142 [debug] QUERY OK source="media_items" db=0.4ms idle=394.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-15 13:00:59Z], 4] 17:12:09.145 [debug] QUERY OK source="media_items" db=2.1ms idle=395.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is Dr. Wendy Suzuki, PhD, a professor of neural science and psychology at New York University.\n\nWe discuss simple, daily habits to improve focus, memory and overall cognitive performance. Dr. Suzuki explains how exercise directly enhances brain function—both the immediate benefits of a single workout and long-term support for cognitive health. We also discuss how meditation, verbal affirmations, sleep and other behavioral practices positively influence mood and stress regulation.\n\nEpisode show notes: https://go.hubermanlab.com/4IcdLnG\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Wendy Suzuki\n00:00:21 What Makes Moments Memorable?\n00:02:24 Memory & Hippocampus, Imagination\n00:05:35 One-Trial Learning, Fear\n00:07:08 Exercise Effects on Focus, Attention & Memory\n00:11:29 Brain-Derived Neurotrophic Factor (BDNF) & Exercise\n00:13:16 Tools: Cardiovascular Exercise; 10-Minute Walk & Mood\n00:15:55 How Exercise Increases BDNF\n00:17:59 Adults, Neuron Growth, Hippocampus\n00:20:03 Exercise Effects on Memory, Tool: Morning Exercise\n00:23:20 Exercise & Long-term Effects on Cognition, Older Adults\n00:25:08 Minimum Exercise For Cognitive Benefits (Adults, 30s-50s)\n00:29:15 Increase Exercise For Greater Cognitive Benefits\n00:31:23 Affirmations, Exercise, Mood, IntenSati\n00:33:30 Meditation & Benefits, Tool: Brief Meditation\n00:35:25 Tools to Improve Attention\n\n#HubermanLab #Science #Memory\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Tools to Boost Attention & Memory | Dr. Wendy Suzuki", "243277fe-e4c9-4847-b740-dec5f4e31c4a", 2211, false, "RmwbNdyrilk", "https://www.youtube.com/watch?v=RmwbNdyrilk", 35, "/downloads/Andrew Huberman/2026-01-15 Essentials: Tools to Boost Attention & Memory | Dr. Wendy Suzuki/Essentials: Tools to Boost Attention & Memory | Dr. Wendy Suzuki [RmwbNdyrilk].mp4", false, false, false, 4, [], 1, ~U[2026-01-15 13:00:59Z], ~U[2026-09-16 17:12:09Z], ~U[2026-09-16 17:12:09Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is Dr. Wendy Suzuki, PhD, a professor of neural science and psychology at New York University.\n\nWe discuss simple, daily habits to improve focus, memory and overall cognitive performance. Dr. Suzuki explains how exercise directly enhances brain function—both the immediate benefits of a single workout and long-term support for cognitive health. We also discuss how meditation, verbal affirmations, sleep and other behavioral practices positively influence mood and stress regulation.\n\nEpisode show notes: https://go.hubermanlab.com/4IcdLnG\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Wendy Suzuki\n00:00:21 What Makes Moments Memorable?\n00:02:24 Memory & Hippocampus, Imagination\n00:05:35 One-Trial Learning, Fear\n00:07:08 Exercise Effects on Focus, Attention & Memory\n00:11:29 Brain-Derived Neurotrophic Factor (BDNF) & Exercise\n00:13:16 Tools: Cardiovascular Exercise; 10-Minute Walk & Mood\n00:15:55 How Exercise Increases BDNF\n00:17:59 Adults, Neuron Growth, Hippocampus\n00:20:03 Exercise Effects on Memory, Tool: Morning Exercise\n00:23:20 Exercise & Long-term Effects on Cognition, Older Adults\n00:25:08 Minimum Exercise For Cognitive Benefits (Adults, 30s-50s)\n00:29:15 Increase Exercise For Greater Cognitive Benefits\n00:31:23 Affirmations, Exercise, Mood, IntenSati\n00:33:30 Meditation & Benefits, Tool: Brief Meditation\n00:35:25 Tools to Improve Attention\n\n#HubermanLab #Science #Memory\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Tools to Boost Attention & Memory | Dr. Wendy Suzuki", 2211, false, "RmwbNdyrilk", "https://www.youtube.com/watch?v=RmwbNdyrilk", "/downloads/Andrew Huberman/2026-01-15 Essentials: Tools to Boost Attention & Memory | Dr. Wendy Suzuki/Essentials: Tools to Boost Attention & Memory | Dr. Wendy Suzuki [RmwbNdyrilk].mp4", false, 4, ~U[2026-01-15 13:00:59Z]] 17:12:09.146 [debug] QUERY OK source="sources" db=0.2ms idle=397.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:09.146 [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" = ?) [2] 17:12:09.147 [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 [174] 17:12:09.147 [debug] Current batch of media processed. Will check again in 1000ms 17:12:10.148 [debug] Current batch of media processed. Will check again in 1000ms 17:12:11.149 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss how to optimize your workspace to maximize productivity, focus and creativity.\n\nI explain how key environmental factors such as lighting, the physical layout of your work area and desk setup can influence attention and performance. I also discuss how specific types of sounds can enhance focus and how to adjust your work environment for particular tasks. These practical, flexible protocols can be applied whether you are working from home, in an office or on the road.\n\nEpisode show notes: https://go.hubermanlab.com/YleBU4q\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Workplace Optimization for Performance\n00:00:36 Clutter, Variables for Workspace Optimization\n00:02:41 Vision & Light, Tool: Mornings & Bright Light; Windows\n00:04:45 Afternoon, Evenings & Light; Tool: Dimming Lights\n00:07:13 Alertness & Visual Focus, Tool: Screen Placement\n00:09:05 Vergence Eye Movement & Alertness, Tool: Visual Breaks\n00:11:50 Cathedral Effect, Creative vs Analytical Thinking, Tool: Ceiling Height by Task\n00:14:50 Background Noise to Avoid; White Noise, Pink Noise\n00:17:38 Sound Patterns to Improve Concentration\n00:20:54 Tool: Binaural Beat Frequency for Focus; Dopamine\n00:22:27 Tool: Managing Interruptions\n00:23:51 Sit or Stand for Work?, Tool: Sit-Stand Desk\n00:26:21 Key Takeaways, Flexibility & Changing Locations\n\n#HubermanLab #Productivity #Focus #Creativity\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1812, "filename" => "/downloads/Andrew Huberman/2026-01-08 Optimizing Workspace for Productivity, Focus & Creativity | Huberman Lab Essentials/Optimizing Workspace for Productivity, Focus & Creativity | Huberman Lab Essentials [23t_ynq2tmk].mp4", "id" => "23t_ynq2tmk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=23t_ynq2tmk", "playlist_index" => 36, "timestamp" => 1767877205, "title" => "Optimizing Workspace for Productivity, Focus & Creativity | Huberman Lab Essentials", "upload_date" => "20260108"} 17:12:11.150 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=746.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:11.150 [debug] QUERY OK source="sources" db=0.1ms idle=402.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:11.151 [debug] QUERY OK source="media_items" db=0.4ms idle=402.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-08 13:00:05Z], 4] 17:12:11.153 [debug] QUERY OK source="media_items" db=1.4ms idle=403.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss how to optimize your workspace to maximize productivity, focus and creativity.\n\nI explain how key environmental factors such as lighting, the physical layout of your work area and desk setup can influence attention and performance. I also discuss how specific types of sounds can enhance focus and how to adjust your work environment for particular tasks. These practical, flexible protocols can be applied whether you are working from home, in an office or on the road.\n\nEpisode show notes: https://go.hubermanlab.com/YleBU4q\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Workplace Optimization for Performance\n00:00:36 Clutter, Variables for Workspace Optimization\n00:02:41 Vision & Light, Tool: Mornings & Bright Light; Windows\n00:04:45 Afternoon, Evenings & Light; Tool: Dimming Lights\n00:07:13 Alertness & Visual Focus, Tool: Screen Placement\n00:09:05 Vergence Eye Movement & Alertness, Tool: Visual Breaks\n00:11:50 Cathedral Effect, Creative vs Analytical Thinking, Tool: Ceiling Height by Task\n00:14:50 Background Noise to Avoid; White Noise, Pink Noise\n00:17:38 Sound Patterns to Improve Concentration\n00:20:54 Tool: Binaural Beat Frequency for Focus; Dopamine\n00:22:27 Tool: Managing Interruptions\n00:23:51 Sit or Stand for Work?, Tool: Sit-Stand Desk\n00:26:21 Key Takeaways, Flexibility & Changing Locations\n\n#HubermanLab #Productivity #Focus #Creativity\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Optimizing Workspace for Productivity, Focus & Creativity | Huberman Lab Essentials", "26af49d5-9a66-47cf-876a-384505d58181", 1812, false, "23t_ynq2tmk", "https://www.youtube.com/watch?v=23t_ynq2tmk", 36, "/downloads/Andrew Huberman/2026-01-08 Optimizing Workspace for Productivity, Focus & Creativity | Huberman Lab Essentials/Optimizing Workspace for Productivity, Focus & Creativity | Huberman Lab Essentials [23t_ynq2tmk].mp4", false, false, false, 4, [], 1, ~U[2026-01-08 13:00:05Z], ~U[2026-09-16 17:12:11Z], ~U[2026-09-16 17:12:11Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss how to optimize your workspace to maximize productivity, focus and creativity.\n\nI explain how key environmental factors such as lighting, the physical layout of your work area and desk setup can influence attention and performance. I also discuss how specific types of sounds can enhance focus and how to adjust your work environment for particular tasks. These practical, flexible protocols can be applied whether you are working from home, in an office or on the road.\n\nEpisode show notes: https://go.hubermanlab.com/YleBU4q\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Workplace Optimization for Performance\n00:00:36 Clutter, Variables for Workspace Optimization\n00:02:41 Vision & Light, Tool: Mornings & Bright Light; Windows\n00:04:45 Afternoon, Evenings & Light; Tool: Dimming Lights\n00:07:13 Alertness & Visual Focus, Tool: Screen Placement\n00:09:05 Vergence Eye Movement & Alertness, Tool: Visual Breaks\n00:11:50 Cathedral Effect, Creative vs Analytical Thinking, Tool: Ceiling Height by Task\n00:14:50 Background Noise to Avoid; White Noise, Pink Noise\n00:17:38 Sound Patterns to Improve Concentration\n00:20:54 Tool: Binaural Beat Frequency for Focus; Dopamine\n00:22:27 Tool: Managing Interruptions\n00:23:51 Sit or Stand for Work?, Tool: Sit-Stand Desk\n00:26:21 Key Takeaways, Flexibility & Changing Locations\n\n#HubermanLab #Productivity #Focus #Creativity\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Optimizing Workspace for Productivity, Focus & Creativity | Huberman Lab Essentials", 1812, false, "23t_ynq2tmk", "https://www.youtube.com/watch?v=23t_ynq2tmk", "/downloads/Andrew Huberman/2026-01-08 Optimizing Workspace for Productivity, Focus & Creativity | Huberman Lab Essentials/Optimizing Workspace for Productivity, Focus & Creativity | Huberman Lab Essentials [23t_ynq2tmk].mp4", false, 4, ~U[2026-01-08 13:00:05Z]] 17:12:11.153 [debug] QUERY OK source="sources" db=0.2ms idle=405.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:11.154 [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] 17:12:11.154 [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 [175] 17:12:11.154 [debug] Current batch of media processed. Will check again in 1000ms 17:12:12.155 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Rhonda Patrick, PhD, a biomedical scientist and a leading health educator focused on nutrition, aging and general health.\n\nWe discuss four key micronutrients that influence cellular stress responses, inflammation, detoxification and longevity, and how to increase your intake of each through diet or supplementation. We also cover deliberate cold and heat exposure, along with exercise, and how these tools support metabolic, cardiovascular and cognitive health as we age.\n\nEpisode show notes: https://go.hubermanlab.com/tbklEg9\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Rhonda Patrick*\nWebsite: https://www.foundmyfitness.com\nInstagram: https://www.instagram.com/foundmyfitness\nFacebook: https://www.facebook.com/foundmyfitness\nX: https://x.com/foundmyfitness\nYouTube: https://www.youtube.com/user/FoundMyFitness\n\n*Timestamps*\n00:00:00 Rhonda Patrick\n00:00:20 Physical Challenges, Stress Response Pathways, Hormesis, Temperature\n00:03:43 Tool: Sulforaphane & Detoxification, Cruciferous Vegetables, Moringa\n00:06:19 Tool: Marine Omega-3s Fatty Acids, Fish Oil Supplements\n00:08:16 Benefits of Fish Oil Supplementation, Longevity, Tool: Omega-3 Index\n00:10:34 Omega-3s & Inflammation\n00:13:14 Vitamin D; Health Benefits\n00:15:44 Tool: Vitamin D Supplementation, Bloodwork\n00:19:09 Tool: Magnesium, Dark Leafy Greens, Supplementation\n00:21:23 Deliberate Cold Exposure, Mood & Dopamine\n00:22:16 Cold Exposure to Enhance Mitochondria, Shivering, Browning Effect\n00:26:40 Tool: High-Intensity Interval Training, Tabata Workout, Sauna, Memory \n00:28:36 Sauna, Cardiovascular & Cognitive Heath; Tool: Sauna Duration & Frequency\n00:34:10 Tool: Hot Bath; Acknowledgements\n\n#HubermanLab #Health #Longevity \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2137, "filename" => "/downloads/Andrew Huberman/2026-01-01 Essentials: Micronutrients for Health & Longevity | Dr. Rhonda Patrick/Essentials: Micronutrients for Health & Longevity | Dr. Rhonda Patrick [fh2dBmLN-ZM].mp4", "id" => "fh2dBmLN-ZM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fh2dBmLN-ZM", "playlist_index" => 37, "timestamp" => 1767272481, "title" => "Essentials: Micronutrients for Health & Longevity | Dr. Rhonda Patrick", "upload_date" => "20260101"} 17:12:12.156 [debug] QUERY OK source="sources" db=0.4ms queue=0.3ms idle=1002.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:12.157 [debug] QUERY OK source="sources" db=0.5ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:12.158 [debug] QUERY OK source="media_items" db=0.5ms idle=1003.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-01 13:01:21Z], 4] 17:12:12.161 [debug] QUERY OK source="media_items" db=2.7ms idle=1003.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Rhonda Patrick, PhD, a biomedical scientist and a leading health educator focused on nutrition, aging and general health.\n\nWe discuss four key micronutrients that influence cellular stress responses, inflammation, detoxification and longevity, and how to increase your intake of each through diet or supplementation. We also cover deliberate cold and heat exposure, along with exercise, and how these tools support metabolic, cardiovascular and cognitive health as we age.\n\nEpisode show notes: https://go.hubermanlab.com/tbklEg9\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Rhonda Patrick*\nWebsite: https://www.foundmyfitness.com\nInstagram: https://www.instagram.com/foundmyfitness\nFacebook: https://www.facebook.com/foundmyfitness\nX: https://x.com/foundmyfitness\nYouTube: https://www.youtube.com/user/FoundMyFitness\n\n*Timestamps*\n00:00:00 Rhonda Patrick\n00:00:20 Physical Challenges, Stress Response Pathways, Hormesis, Temperature\n00:03:43 Tool: Sulforaphane & Detoxification, Cruciferous Vegetables, Moringa\n00:06:19 Tool: Marine Omega-3s Fatty Acids, Fish Oil Supplements\n00:08:16 Benefits of Fish Oil Supplementation, Longevity, Tool: Omega-3 Index\n00:10:34 Omega-3s & Inflammation\n00:13:14 Vitamin D; Health Benefits\n00:15:44 Tool: Vitamin D Supplementation, Bloodwork\n00:19:09 Tool: Magnesium, Dark Leafy Greens, Supplementation\n00:21:23 Deliberate Cold Exposure, Mood & Dopamine\n00:22:16 Cold Exposure to Enhance Mitochondria, Shivering, Browning Effect\n00:26:40 Tool: High-Intensity Interval Training, Tabata Workout, Sauna, Memory \n00:28:36 Sauna, Cardiovascular & Cognitive Heath; Tool: Sauna Duration & Frequency\n00:34:10 Tool: Hot Bath; Acknowledgements\n\n#HubermanLab #Health #Longevity \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Micronutrients for Health & Longevity | Dr. Rhonda Patrick", "ecf8d5ba-b13d-4317-8717-e5c41f1312bf", 2137, false, "fh2dBmLN-ZM", "https://www.youtube.com/watch?v=fh2dBmLN-ZM", 37, "/downloads/Andrew Huberman/2026-01-01 Essentials: Micronutrients for Health & Longevity | Dr. Rhonda Patrick/Essentials: Micronutrients for Health & Longevity | Dr. Rhonda Patrick [fh2dBmLN-ZM].mp4", false, false, false, 4, [], 1, ~U[2026-01-01 13:01:21Z], ~U[2026-09-16 17:12:12Z], ~U[2026-09-16 17:12:12Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Rhonda Patrick, PhD, a biomedical scientist and a leading health educator focused on nutrition, aging and general health.\n\nWe discuss four key micronutrients that influence cellular stress responses, inflammation, detoxification and longevity, and how to increase your intake of each through diet or supplementation. We also cover deliberate cold and heat exposure, along with exercise, and how these tools support metabolic, cardiovascular and cognitive health as we age.\n\nEpisode show notes: https://go.hubermanlab.com/tbklEg9\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Rhonda Patrick*\nWebsite: https://www.foundmyfitness.com\nInstagram: https://www.instagram.com/foundmyfitness\nFacebook: https://www.facebook.com/foundmyfitness\nX: https://x.com/foundmyfitness\nYouTube: https://www.youtube.com/user/FoundMyFitness\n\n*Timestamps*\n00:00:00 Rhonda Patrick\n00:00:20 Physical Challenges, Stress Response Pathways, Hormesis, Temperature\n00:03:43 Tool: Sulforaphane & Detoxification, Cruciferous Vegetables, Moringa\n00:06:19 Tool: Marine Omega-3s Fatty Acids, Fish Oil Supplements\n00:08:16 Benefits of Fish Oil Supplementation, Longevity, Tool: Omega-3 Index\n00:10:34 Omega-3s & Inflammation\n00:13:14 Vitamin D; Health Benefits\n00:15:44 Tool: Vitamin D Supplementation, Bloodwork\n00:19:09 Tool: Magnesium, Dark Leafy Greens, Supplementation\n00:21:23 Deliberate Cold Exposure, Mood & Dopamine\n00:22:16 Cold Exposure to Enhance Mitochondria, Shivering, Browning Effect\n00:26:40 Tool: High-Intensity Interval Training, Tabata Workout, Sauna, Memory \n00:28:36 Sauna, Cardiovascular & Cognitive Heath; Tool: Sauna Duration & Frequency\n00:34:10 Tool: Hot Bath; Acknowledgements\n\n#HubermanLab #Health #Longevity \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Micronutrients for Health & Longevity | Dr. Rhonda Patrick", 2137, false, "fh2dBmLN-ZM", "https://www.youtube.com/watch?v=fh2dBmLN-ZM", "/downloads/Andrew Huberman/2026-01-01 Essentials: Micronutrients for Health & Longevity | Dr. Rhonda Patrick/Essentials: Micronutrients for Health & Longevity | Dr. Rhonda Patrick [fh2dBmLN-ZM].mp4", false, 4, ~U[2026-01-01 13:01:21Z]] 17:12:12.162 [debug] QUERY OK source="sources" db=0.2ms idle=756.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:12.162 [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] 17:12:12.163 [debug] QUERY OK source="media_items" db=0.3ms 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 [176] 17:12:12.163 [debug] Current batch of media processed. Will check again in 1000ms 17:12:13.164 [debug] Current batch of media processed. Will check again in 1000ms 17:12:14.165 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Kyle Gillett, MD, a dual board-certified physician in family medicine and obesity medicine and an expert in optimizing hormone levels to improve overall health.\n\nWe explain how to improve hormone levels across the lifespan in both men and women using behavioral, nutritional and exercise-based tools. We also discuss common clinical topics, including hormone testing, PCOS, hair loss, testosterone replacement therapy (TRT) and peptides, focusing on potential benefits, tradeoffs and risks.\n\nEpisode show notes: https://go.hubermanlab.com/EkpDEyt\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Kyle Gillett\n00:00:36 Hormone Health; Women vs Men, Tool: Hormone Testing\n00:02:35 Tool: Big 6 Lifestyle Pillars to Optimize Hormone Health\n00:04:32 Diet, Individualization; Bloodwork & Frequency\n00:05:35 Exercise, Zone 2 Cardio; Caloric Restriction\n00:06:51 Intermittent Fasting, Growth Hormone, IGF-1\n00:09:20 Hormones & Sleep, Growth Hormone, Menopause, Andropause, TRT\n00:11:43 Testosterone & Women, SHGB\n00:13:34 Dihydrotestosterone (DHT), Androgens; Turmeric & Black Pepper; Hair Loss\n00:16:47 Polycystic Ovarian Syndrome (PCOS), Symptoms, Metformin, Inositol\n00:20:13 Cannabis, Alcohol, Testosterone\n00:21:47 Males & Testosterone, TRT, Prostate Cancer\n00:23:04 Prolactin, Dopamine “Wave Pool”, Tool: Casein & Gluten\n00:24:23 Social Relationships & Hormones, Tool: Planning for Crisis\n00:26:22 Peptides, Growth Hormone & Risk; BPC 157, Sourcing & LPS\n00:32:02 Melanotan, Uses & Risks\n00:34:05 Spiritual Health, Interdisciplinary Health Integration\n00:36:43 Caffeine & Hormones, Sleep; Acknowledgements\n\n#HubermanLab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2236, "filename" => "/downloads/Andrew Huberman/2025-12-25 Essentials: How to Optimize Your Hormones for Health & Vitality | Dr. Kyle Gillett/Essentials: How to Optimize Your Hormones for Health & Vitality | Dr. Kyle Gillett [fYhY-vC000A].mp4", "id" => "fYhY-vC000A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fYhY-vC000A", "playlist_index" => 38, "timestamp" => 1766667684, "title" => "Essentials: How to Optimize Your Hormones for Health & Vitality | Dr. Kyle Gillett", "upload_date" => "20251225"} 17:12:14.166 [debug] QUERY OK source="sources" db=0.4ms idle=757.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:14.166 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [4] 17:12:14.167 [debug] QUERY OK source="media_items" db=0.5ms idle=418.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-25 13:01:24Z], 4] 17:12:14.221 [debug] QUERY OK source="media_items" db=53.4ms idle=419.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Kyle Gillett, MD, a dual board-certified physician in family medicine and obesity medicine and an expert in optimizing hormone levels to improve overall health.\n\nWe explain how to improve hormone levels across the lifespan in both men and women using behavioral, nutritional and exercise-based tools. We also discuss common clinical topics, including hormone testing, PCOS, hair loss, testosterone replacement therapy (TRT) and peptides, focusing on potential benefits, tradeoffs and risks.\n\nEpisode show notes: https://go.hubermanlab.com/EkpDEyt\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Kyle Gillett\n00:00:36 Hormone Health; Women vs Men, Tool: Hormone Testing\n00:02:35 Tool: Big 6 Lifestyle Pillars to Optimize Hormone Health\n00:04:32 Diet, Individualization; Bloodwork & Frequency\n00:05:35 Exercise, Zone 2 Cardio; Caloric Restriction\n00:06:51 Intermittent Fasting, Growth Hormone, IGF-1\n00:09:20 Hormones & Sleep, Growth Hormone, Menopause, Andropause, TRT\n00:11:43 Testosterone & Women, SHGB\n00:13:34 Dihydrotestosterone (DHT), Androgens; Turmeric & Black Pepper; Hair Loss\n00:16:47 Polycystic Ovarian Syndrome (PCOS), Symptoms, Metformin, Inositol\n00:20:13 Cannabis, Alcohol, Testosterone\n00:21:47 Males & Testosterone, TRT, Prostate Cancer\n00:23:04 Prolactin, Dopamine “Wave Pool”, Tool: Casein & Gluten\n00:24:23 Social Relationships & Hormones, Tool: Planning for Crisis\n00:26:22 Peptides, Growth Hormone & Risk; BPC 157, Sourcing & LPS\n00:32:02 Melanotan, Uses & Risks\n00:34:05 Spiritual Health, Interdisciplinary Health Integration\n00:36:43 Caffeine & Hormones, Sleep; Acknowledgements\n\n#HubermanLab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Optimize Your Hormones for Health & Vitality | Dr. Kyle Gillett", "84868753-69e8-48a5-91b0-c77d4668e1ff", 2236, false, "fYhY-vC000A", "https://www.youtube.com/watch?v=fYhY-vC000A", 38, "/downloads/Andrew Huberman/2025-12-25 Essentials: How to Optimize Your Hormones for Health & Vitality | Dr. Kyle Gillett/Essentials: How to Optimize Your Hormones for Health & Vitality | Dr. Kyle Gillett [fYhY-vC000A].mp4", false, false, false, 4, [], 1, ~U[2025-12-25 13:01:24Z], ~U[2026-09-16 17:12:14Z], ~U[2026-09-16 17:12:14Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Kyle Gillett, MD, a dual board-certified physician in family medicine and obesity medicine and an expert in optimizing hormone levels to improve overall health.\n\nWe explain how to improve hormone levels across the lifespan in both men and women using behavioral, nutritional and exercise-based tools. We also discuss common clinical topics, including hormone testing, PCOS, hair loss, testosterone replacement therapy (TRT) and peptides, focusing on potential benefits, tradeoffs and risks.\n\nEpisode show notes: https://go.hubermanlab.com/EkpDEyt\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Kyle Gillett\n00:00:36 Hormone Health; Women vs Men, Tool: Hormone Testing\n00:02:35 Tool: Big 6 Lifestyle Pillars to Optimize Hormone Health\n00:04:32 Diet, Individualization; Bloodwork & Frequency\n00:05:35 Exercise, Zone 2 Cardio; Caloric Restriction\n00:06:51 Intermittent Fasting, Growth Hormone, IGF-1\n00:09:20 Hormones & Sleep, Growth Hormone, Menopause, Andropause, TRT\n00:11:43 Testosterone & Women, SHGB\n00:13:34 Dihydrotestosterone (DHT), Androgens; Turmeric & Black Pepper; Hair Loss\n00:16:47 Polycystic Ovarian Syndrome (PCOS), Symptoms, Metformin, Inositol\n00:20:13 Cannabis, Alcohol, Testosterone\n00:21:47 Males & Testosterone, TRT, Prostate Cancer\n00:23:04 Prolactin, Dopamine “Wave Pool”, Tool: Casein & Gluten\n00:24:23 Social Relationships & Hormones, Tool: Planning for Crisis\n00:26:22 Peptides, Growth Hormone & Risk; BPC 157, Sourcing & LPS\n00:32:02 Melanotan, Uses & Risks\n00:34:05 Spiritual Health, Interdisciplinary Health Integration\n00:36:43 Caffeine & Hormones, Sleep; Acknowledgements\n\n#HubermanLab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Optimize Your Hormones for Health & Vitality | Dr. Kyle Gillett", 2236, false, "fYhY-vC000A", "https://www.youtube.com/watch?v=fYhY-vC000A", "/downloads/Andrew Huberman/2025-12-25 Essentials: How to Optimize Your Hormones for Health & Vitality | Dr. Kyle Gillett/Essentials: How to Optimize Your Hormones for Health & Vitality | Dr. Kyle Gillett [fYhY-vC000A].mp4", false, 4, ~U[2025-12-25 13:01:24Z]] 17:12:14.222 [debug] QUERY OK source="sources" db=0.3ms idle=473.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:14.222 [debug] QUERY OK source="media_profiles" db=0.2ms idle=56.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] 17:12:14.223 [debug] QUERY OK source="media_items" db=0.2ms idle=56.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 [177] 17:12:14.223 [debug] Current batch of media processed. Will check again in 1000ms 17:12:15.224 [debug] Current batch of media processed. Will check again in 1000ms 17:12:16.226 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to use science-based tools to better set and achieve goals. \n\nI discuss the neuroscience of goal pursuit and how dopamine and visual attention shape motivation and effort. I explain whether visualizing success or failure better supports goal pursuit, how to choose goals at the right level of difficulty and evaluate progress. I also share a short “space-time bridging” protocol that helps train long-range, goal-directed behavior. These tools will help you stay motivated and reach goals more effectively. \n\nEpisode show notes: https://go.hubermanlab.com/WaR2Hzr\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Goal Setting\n00:00:23 Brain & Goal Pursuit\n00:03:32 Goal Value, Action Steps\n00:05:49 Peripersonal vs Extrapersonal Space\n00:07:17 Tool: Visual Focus & Pursuing Goals\n00:11:47 Visualization & Goal Pursuit, Tool: Visualize Failure\n00:14:08 Tool: Goal Setting & Difficulty Level\n00:15:47 Dopamine & Goal Pursuit, Reward Prediction Error, Tool: Weekly Goal Assessment\n00:21:00 Dopamine & Vision; Importance of Behavioral Tools\n00:22:57 Recap of Tools for Goal Setting & Pursuit\n00:24:09 Goal Pursuit, Time; Tool: Space-Time Bridging\n00:31:38 Recap, Key Takeaways\n\n#HubermanLab #Science #GoalSetting\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1998, "filename" => "/downloads/Andrew Huberman/2025-12-18 How to Set & Achieve Goals | Huberman Lab Essentials/How to Set & Achieve Goals | Huberman Lab Essentials [zYuw-8pwnp8].mp4", "id" => "zYuw-8pwnp8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zYuw-8pwnp8", "playlist_index" => 39, "timestamp" => 1766062916, "title" => "How to Set & Achieve Goals | Huberman Lab Essentials", "upload_date" => "20251218"} 17:12:16.226 [debug] QUERY OK source="sources" db=0.2ms idle=815.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:16.227 [debug] QUERY OK source="sources" db=0.1ms idle=479.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:16.228 [debug] QUERY OK source="media_items" db=0.5ms idle=479.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-18 13:01:56Z], 4] 17:12:16.235 [debug] QUERY OK source="media_items" db=6.6ms idle=480.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to use science-based tools to better set and achieve goals. \n\nI discuss the neuroscience of goal pursuit and how dopamine and visual attention shape motivation and effort. I explain whether visualizing success or failure better supports goal pursuit, how to choose goals at the right level of difficulty and evaluate progress. I also share a short “space-time bridging” protocol that helps train long-range, goal-directed behavior. These tools will help you stay motivated and reach goals more effectively. \n\nEpisode show notes: https://go.hubermanlab.com/WaR2Hzr\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Goal Setting\n00:00:23 Brain & Goal Pursuit\n00:03:32 Goal Value, Action Steps\n00:05:49 Peripersonal vs Extrapersonal Space\n00:07:17 Tool: Visual Focus & Pursuing Goals\n00:11:47 Visualization & Goal Pursuit, Tool: Visualize Failure\n00:14:08 Tool: Goal Setting & Difficulty Level\n00:15:47 Dopamine & Goal Pursuit, Reward Prediction Error, Tool: Weekly Goal Assessment\n00:21:00 Dopamine & Vision; Importance of Behavioral Tools\n00:22:57 Recap of Tools for Goal Setting & Pursuit\n00:24:09 Goal Pursuit, Time; Tool: Space-Time Bridging\n00:31:38 Recap, Key Takeaways\n\n#HubermanLab #Science #GoalSetting\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Set & Achieve Goals | Huberman Lab Essentials", "67caef8b-751a-4e12-8ef1-d6a4232b6b37", 1998, false, "zYuw-8pwnp8", "https://www.youtube.com/watch?v=zYuw-8pwnp8", 39, "/downloads/Andrew Huberman/2025-12-18 How to Set & Achieve Goals | Huberman Lab Essentials/How to Set & Achieve Goals | Huberman Lab Essentials [zYuw-8pwnp8].mp4", false, false, false, 4, [], 1, ~U[2025-12-18 13:01:56Z], ~U[2026-09-16 17:12:16Z], ~U[2026-09-16 17:12:16Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to use science-based tools to better set and achieve goals. \n\nI discuss the neuroscience of goal pursuit and how dopamine and visual attention shape motivation and effort. I explain whether visualizing success or failure better supports goal pursuit, how to choose goals at the right level of difficulty and evaluate progress. I also share a short “space-time bridging” protocol that helps train long-range, goal-directed behavior. These tools will help you stay motivated and reach goals more effectively. \n\nEpisode show notes: https://go.hubermanlab.com/WaR2Hzr\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Goal Setting\n00:00:23 Brain & Goal Pursuit\n00:03:32 Goal Value, Action Steps\n00:05:49 Peripersonal vs Extrapersonal Space\n00:07:17 Tool: Visual Focus & Pursuing Goals\n00:11:47 Visualization & Goal Pursuit, Tool: Visualize Failure\n00:14:08 Tool: Goal Setting & Difficulty Level\n00:15:47 Dopamine & Goal Pursuit, Reward Prediction Error, Tool: Weekly Goal Assessment\n00:21:00 Dopamine & Vision; Importance of Behavioral Tools\n00:22:57 Recap of Tools for Goal Setting & Pursuit\n00:24:09 Goal Pursuit, Time; Tool: Space-Time Bridging\n00:31:38 Recap, Key Takeaways\n\n#HubermanLab #Science #GoalSetting\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Set & Achieve Goals | Huberman Lab Essentials", 1998, false, "zYuw-8pwnp8", "https://www.youtube.com/watch?v=zYuw-8pwnp8", "/downloads/Andrew Huberman/2025-12-18 How to Set & Achieve Goals | Huberman Lab Essentials/How to Set & Achieve Goals | Huberman Lab Essentials [zYuw-8pwnp8].mp4", false, 4, ~U[2025-12-18 13:01:56Z]] 17:12:16.236 [debug] QUERY OK source="sources" db=0.4ms idle=487.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:16.236 [debug] QUERY OK source="media_profiles" db=0.3ms idle=9.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:12:16.237 [debug] QUERY OK source="media_items" db=0.3ms idle=9.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [178] 17:12:16.237 [debug] Current batch of media processed. Will check again in 1000ms 17:12:17.238 [debug] Current batch of media processed. Will check again in 1000ms 17:12:18.239 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how to create lasting habits and break unwanted ones.\n\nI explain two habit-building systems: one aligned with daily rhythms and another based on a 21-day cycle of forming and reinforcing habits. I also discuss why habit formation differs between individuals and how certain \"linchpin\" habits can make other behaviors easier to adopt. Finally, I share practical tools—including visualization, task bracketing, and methods for rewiring bad habits—to support lasting behavioral change.\n\nShow notes: https://go.hubermanlab.com/Y9DJfJV\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/Wcs2PFz5q6g\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Habits\n00:00:43 What are Habits?, Neuroplasticity\n00:01:15 Goal-Based vs Identity-Based Habits\n00:02:33 How Long Does It Take to Form a Habit?; Limbic Friction\n00:05:31 Tool: Linchpin Habits\n00:07:23 Habit Strength, Context Dependence & Limbic Friction\n00:09:13 How We Form Habits, Tool: Review Procedural Steps\n00:11:21 Tool: Task Bracketing\n00:15:02 Should You Schedule Habits?; Phase-Based Habit Plan\n00:17:00 Phase 1 (Morning) & Challenging Habits\n00:18:23 Phase 2 (Afternoon), Relaxation; Mellow Habits \n00:21:46 Phase 3 (Evening), Enhancing Sleep & Habit Consolidation\n00:25:00 Habit Flexibility & Daily Timing\n00:27:33 Tool: 21-Day Habit Program; Habit Missteps\n00:32:47 Tool: How to Break Habits & Replacement Behaviors\n00:35:30 Recap\n\n#HubermanLab #Science #Habits\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2176, "filename" => "/downloads/Andrew Huberman/2025-12-04 The Science of Making & Breaking Habits | Huberman Lab Essentials/The Science of Making & Breaking Habits | Huberman Lab Essentials [HXuj7wAt7u8].mp4", "id" => "HXuj7wAt7u8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=HXuj7wAt7u8", "playlist_index" => 40, "timestamp" => 1764853239, "title" => "The Science of Making & Breaking Habits | Huberman Lab Essentials", "upload_date" => "20251204"} 17:12:18.240 [debug] QUERY OK source="sources" db=0.3ms idle=825.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:18.240 [debug] QUERY OK source="sources" db=0.5ms idle=492.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:18.241 [debug] QUERY OK source="media_items" db=0.7ms idle=492.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-04 13:00:39Z], 4] 17:12:18.245 [debug] QUERY OK source="media_items" db=2.9ms idle=494.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how to create lasting habits and break unwanted ones.\n\nI explain two habit-building systems: one aligned with daily rhythms and another based on a 21-day cycle of forming and reinforcing habits. I also discuss why habit formation differs between individuals and how certain \"linchpin\" habits can make other behaviors easier to adopt. Finally, I share practical tools—including visualization, task bracketing, and methods for rewiring bad habits—to support lasting behavioral change.\n\nShow notes: https://go.hubermanlab.com/Y9DJfJV\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/Wcs2PFz5q6g\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Habits\n00:00:43 What are Habits?, Neuroplasticity\n00:01:15 Goal-Based vs Identity-Based Habits\n00:02:33 How Long Does It Take to Form a Habit?; Limbic Friction\n00:05:31 Tool: Linchpin Habits\n00:07:23 Habit Strength, Context Dependence & Limbic Friction\n00:09:13 How We Form Habits, Tool: Review Procedural Steps\n00:11:21 Tool: Task Bracketing\n00:15:02 Should You Schedule Habits?; Phase-Based Habit Plan\n00:17:00 Phase 1 (Morning) & Challenging Habits\n00:18:23 Phase 2 (Afternoon), Relaxation; Mellow Habits \n00:21:46 Phase 3 (Evening), Enhancing Sleep & Habit Consolidation\n00:25:00 Habit Flexibility & Daily Timing\n00:27:33 Tool: 21-Day Habit Program; Habit Missteps\n00:32:47 Tool: How to Break Habits & Replacement Behaviors\n00:35:30 Recap\n\n#HubermanLab #Science #Habits\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science of Making & Breaking Habits | Huberman Lab Essentials", "5eae6b55-5215-4bd0-8036-da61cc0bddc3", 2176, false, "HXuj7wAt7u8", "https://www.youtube.com/watch?v=HXuj7wAt7u8", 40, "/downloads/Andrew Huberman/2025-12-04 The Science of Making & Breaking Habits | Huberman Lab Essentials/The Science of Making & Breaking Habits | Huberman Lab Essentials [HXuj7wAt7u8].mp4", false, false, false, 4, [], 1, ~U[2025-12-04 13:00:39Z], ~U[2026-09-16 17:12:18Z], ~U[2026-09-16 17:12:18Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how to create lasting habits and break unwanted ones.\n\nI explain two habit-building systems: one aligned with daily rhythms and another based on a 21-day cycle of forming and reinforcing habits. I also discuss why habit formation differs between individuals and how certain \"linchpin\" habits can make other behaviors easier to adopt. Finally, I share practical tools—including visualization, task bracketing, and methods for rewiring bad habits—to support lasting behavioral change.\n\nShow notes: https://go.hubermanlab.com/Y9DJfJV\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/Wcs2PFz5q6g\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Habits\n00:00:43 What are Habits?, Neuroplasticity\n00:01:15 Goal-Based vs Identity-Based Habits\n00:02:33 How Long Does It Take to Form a Habit?; Limbic Friction\n00:05:31 Tool: Linchpin Habits\n00:07:23 Habit Strength, Context Dependence & Limbic Friction\n00:09:13 How We Form Habits, Tool: Review Procedural Steps\n00:11:21 Tool: Task Bracketing\n00:15:02 Should You Schedule Habits?; Phase-Based Habit Plan\n00:17:00 Phase 1 (Morning) & Challenging Habits\n00:18:23 Phase 2 (Afternoon), Relaxation; Mellow Habits \n00:21:46 Phase 3 (Evening), Enhancing Sleep & Habit Consolidation\n00:25:00 Habit Flexibility & Daily Timing\n00:27:33 Tool: 21-Day Habit Program; Habit Missteps\n00:32:47 Tool: How to Break Habits & Replacement Behaviors\n00:35:30 Recap\n\n#HubermanLab #Science #Habits\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science of Making & Breaking Habits | Huberman Lab Essentials", 2176, false, "HXuj7wAt7u8", "https://www.youtube.com/watch?v=HXuj7wAt7u8", "/downloads/Andrew Huberman/2025-12-04 The Science of Making & Breaking Habits | Huberman Lab Essentials/The Science of Making & Breaking Habits | Huberman Lab Essentials [HXuj7wAt7u8].mp4", false, 4, ~U[2025-12-04 13:00:39Z]] 17:12:18.246 [debug] QUERY OK source="sources" db=0.2ms idle=497.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:18.246 [debug] QUERY OK source="media_profiles" db=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] 17:12:18.247 [debug] QUERY OK source="media_items" db=0.2ms idle=6.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [179] 17:12:18.247 [debug] Current batch of media processed. Will check again in 1000ms 17:12:19.248 [debug] Current batch of media processed. Will check again in 1000ms 17:12:20.249 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Spiegel, MD, the Associate Chair of Psychiatry & Behavioral Sciences, Director of the Center on Stress and Health, and Director of the Center for Integrative Medicine at Stanford University School of Medicine.\n\nWe discuss the science and clinical applications of hypnosis, including how hypnosis works in the brain. We examine the evidence-based uses of clinical and self-hypnosis for pain, trauma, phobias, sleep and stress, and explain how to gauge your own level of \"hypnotizability.\" We also outline practical ways to access these tools, from working with a trained clinician to using structured self-hypnosis protocols.\n\nShow notes: https://go.hubermanlab.com/KsO42nz\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/PctD-ki8dCc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 David Spiegel\n00:00:20 What is Hypnosis?; Clinical vs Stage Hypnosis\n00:02:33 Brain & Hypnosis, Cognitive Flexibility\n00:06:14 ADHD, Self-Hypnosis & Focus\n00:07:16 Stress Reduction, Mind-Brain Connection; Improve Sleep, Phobias\n00:10:35 Narrative & Hypnosis, Mental State Change; Reframing Trauma\n00:16:44 Naming Importance; Clinical Hypnotist, Durability of Hypnosis, Reveri App\n00:19:17 Obsessive Thoughts, OCD, Hypnosis\n00:20:35 Hypnotizability, Spiegel Eye Roll Test, Eye-Brain Connection\n00:23:51 Trauma Recovery, Deliberate Self-Exposure to Pain or Trauma, Control\n00:25:57 Mind-Body Connection, Control; Reframing Pain, Tool: Opportunity for Action\n00:28:42 Children & Hypnosis; Group Hypnosis\n00:30:29 Breathing in Hypnosis, Cyclic Sighing, Relaxation\n00:32:06 Peak Performance & Hypnotic States\n00:33:15 Reveri Hypnosis App, Finding Clinical Hypnotist; Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2098, "filename" => "/downloads/Andrew Huberman/2025-11-27 Essentials: Using Hypnosis to Enhance Mental & Physical Health & Performance | Dr. David Spiegel/Essentials: Using Hypnosis to Enhance Mental & Physical Health & Performance | Dr. David Spiegel [SOo4yNoaAoc].mp4", "id" => "SOo4yNoaAoc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SOo4yNoaAoc", "playlist_index" => 41, "timestamp" => 1764248462, "title" => "Essentials: Using Hypnosis to Enhance Mental & Physical Health & Performance | Dr. David Spiegel", "upload_date" => "20251127"} 17:12:20.250 [debug] QUERY OK source="sources" db=0.4ms idle=832.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:20.251 [debug] QUERY OK source="sources" db=0.4ms idle=502.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:20.252 [debug] QUERY OK source="media_items" db=0.7ms idle=503.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-27 13:01:02Z], 4] 17:12:20.255 [debug] QUERY OK source="media_items" db=2.2ms idle=504.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Spiegel, MD, the Associate Chair of Psychiatry & Behavioral Sciences, Director of the Center on Stress and Health, and Director of the Center for Integrative Medicine at Stanford University School of Medicine.\n\nWe discuss the science and clinical applications of hypnosis, including how hypnosis works in the brain. We examine the evidence-based uses of clinical and self-hypnosis for pain, trauma, phobias, sleep and stress, and explain how to gauge your own level of \"hypnotizability.\" We also outline practical ways to access these tools, from working with a trained clinician to using structured self-hypnosis protocols.\n\nShow notes: https://go.hubermanlab.com/KsO42nz\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/PctD-ki8dCc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 David Spiegel\n00:00:20 What is Hypnosis?; Clinical vs Stage Hypnosis\n00:02:33 Brain & Hypnosis, Cognitive Flexibility\n00:06:14 ADHD, Self-Hypnosis & Focus\n00:07:16 Stress Reduction, Mind-Brain Connection; Improve Sleep, Phobias\n00:10:35 Narrative & Hypnosis, Mental State Change; Reframing Trauma\n00:16:44 Naming Importance; Clinical Hypnotist, Durability of Hypnosis, Reveri App\n00:19:17 Obsessive Thoughts, OCD, Hypnosis\n00:20:35 Hypnotizability, Spiegel Eye Roll Test, Eye-Brain Connection\n00:23:51 Trauma Recovery, Deliberate Self-Exposure to Pain or Trauma, Control\n00:25:57 Mind-Body Connection, Control; Reframing Pain, Tool: Opportunity for Action\n00:28:42 Children & Hypnosis; Group Hypnosis\n00:30:29 Breathing in Hypnosis, Cyclic Sighing, Relaxation\n00:32:06 Peak Performance & Hypnotic States\n00:33:15 Reveri Hypnosis App, Finding Clinical Hypnotist; Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Using Hypnosis to Enhance Mental & Physical Health & Performance | Dr. David Spiegel", "86ed3f54-7837-484e-9224-877fab0789ff", 2098, false, "SOo4yNoaAoc", "https://www.youtube.com/watch?v=SOo4yNoaAoc", 41, "/downloads/Andrew Huberman/2025-11-27 Essentials: Using Hypnosis to Enhance Mental & Physical Health & Performance | Dr. David Spiegel/Essentials: Using Hypnosis to Enhance Mental & Physical Health & Performance | Dr. David Spiegel [SOo4yNoaAoc].mp4", false, false, false, 4, [], 1, ~U[2025-11-27 13:01:02Z], ~U[2026-09-16 17:12:20Z], ~U[2026-09-16 17:12:20Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Spiegel, MD, the Associate Chair of Psychiatry & Behavioral Sciences, Director of the Center on Stress and Health, and Director of the Center for Integrative Medicine at Stanford University School of Medicine.\n\nWe discuss the science and clinical applications of hypnosis, including how hypnosis works in the brain. We examine the evidence-based uses of clinical and self-hypnosis for pain, trauma, phobias, sleep and stress, and explain how to gauge your own level of \"hypnotizability.\" We also outline practical ways to access these tools, from working with a trained clinician to using structured self-hypnosis protocols.\n\nShow notes: https://go.hubermanlab.com/KsO42nz\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/PctD-ki8dCc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 David Spiegel\n00:00:20 What is Hypnosis?; Clinical vs Stage Hypnosis\n00:02:33 Brain & Hypnosis, Cognitive Flexibility\n00:06:14 ADHD, Self-Hypnosis & Focus\n00:07:16 Stress Reduction, Mind-Brain Connection; Improve Sleep, Phobias\n00:10:35 Narrative & Hypnosis, Mental State Change; Reframing Trauma\n00:16:44 Naming Importance; Clinical Hypnotist, Durability of Hypnosis, Reveri App\n00:19:17 Obsessive Thoughts, OCD, Hypnosis\n00:20:35 Hypnotizability, Spiegel Eye Roll Test, Eye-Brain Connection\n00:23:51 Trauma Recovery, Deliberate Self-Exposure to Pain or Trauma, Control\n00:25:57 Mind-Body Connection, Control; Reframing Pain, Tool: Opportunity for Action\n00:28:42 Children & Hypnosis; Group Hypnosis\n00:30:29 Breathing in Hypnosis, Cyclic Sighing, Relaxation\n00:32:06 Peak Performance & Hypnotic States\n00:33:15 Reveri Hypnosis App, Finding Clinical Hypnotist; Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Using Hypnosis to Enhance Mental & Physical Health & Performance | Dr. David Spiegel", 2098, false, "SOo4yNoaAoc", "https://www.youtube.com/watch?v=SOo4yNoaAoc", "/downloads/Andrew Huberman/2025-11-27 Essentials: Using Hypnosis to Enhance Mental & Physical Health & Performance | Dr. David Spiegel/Essentials: Using Hypnosis to Enhance Mental & Physical Health & Performance | Dr. David Spiegel [SOo4yNoaAoc].mp4", false, 4, ~U[2025-11-27 13:01:02Z]] 17:12:20.255 [debug] QUERY OK source="sources" db=0.3ms idle=507.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:20.256 [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] 17:12:20.257 [debug] QUERY OK source="media_items" db=0.9ms idle=5.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [180] 17:12:20.258 [debug] Current batch of media processed. Will check again in 1000ms 17:12:21.259 [debug] Current batch of media processed. Will check again in 1000ms 17:12:22.260 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the science of social connection and how we form meaningful bonds with others.\n\nI explore the neural basis for \"social homeostasis\"—our drive for a certain amount of social interaction—which explains why we feel lonely, seek connection and how we navigate social hierarchies. I also explain how the brain and neurochemicals, such as oxytocin and dopamine, shape our relationships from infancy through adulthood and underlie traits like introversion and extroversion. The episode also offers practical insights into forming deeper connections and how shared experiences with others enhance social bonding.\n\nEpisode show notes: https://go.hubermanlab.com/O6ooDgN\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/RgAcOqVRfYA\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Social Connection\n00:01:10 Social Bonds, Social Isolation & Stress Hormones\n00:03:09 Brain & Social Homeostasis; Social Hierarchies & Flexibility\n00:07:41 Dopamine & Pro-Social Behaviors; Chronic Social Isolation & Introversion\n00:09:31 Introverts vs Extroverts, Dopamine & Social Homeostasis; Context\n00:11:36 Loneliness, Dorsal Raphe Nucleus & Social Hunger\n00:13:15 Key Takeaway: Introvert vs Extrovert & Dopamine\n00:13:50 Social Bonds & Physiological Synchrony, Tool: Shared Experiences\n00:16:47 Right- vs Left-Brained Attachment, Parent & Child, Unconscious Mind\n00:21:29 Friends & Romantic Partners, Emotional & Cognitive Empathy\n00:24:51 Oxytocin & Social Connection\n00:27:21 Tool: Emotional & Cognitive Empathy\n00:28:36 Introverts, Extroverts & Social Interaction\n00:29:30 Break-Ups; Key Takeaways\n\n#HubermanLab #HubermanLabPodcast #SocialConnection #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1935, "filename" => "/downloads/Andrew Huberman/2025-11-20 Essentials: Science of Building Strong Social Bonds with Family, Friends & Romantic Partners/Essentials: Science of Building Strong Social Bonds with Family, Friends & Romantic Partners [25PtptE7mWk].mp4", "id" => "25PtptE7mWk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=25PtptE7mWk", "playlist_index" => 42, "timestamp" => 1763643609, "title" => "Essentials: Science of Building Strong Social Bonds with Family, Friends & Romantic Partners", "upload_date" => "20251120"} 17:12:22.261 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=841.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:22.262 [debug] QUERY OK source="sources" db=0.3ms idle=513.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:22.263 [debug] QUERY OK source="media_items" db=1.1ms idle=514.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-20 13:00:09Z], 4] 17:12:22.266 [debug] QUERY OK source="media_items" db=2.6ms idle=515.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the science of social connection and how we form meaningful bonds with others.\n\nI explore the neural basis for \"social homeostasis\"—our drive for a certain amount of social interaction—which explains why we feel lonely, seek connection and how we navigate social hierarchies. I also explain how the brain and neurochemicals, such as oxytocin and dopamine, shape our relationships from infancy through adulthood and underlie traits like introversion and extroversion. The episode also offers practical insights into forming deeper connections and how shared experiences with others enhance social bonding.\n\nEpisode show notes: https://go.hubermanlab.com/O6ooDgN\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/RgAcOqVRfYA\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Social Connection\n00:01:10 Social Bonds, Social Isolation & Stress Hormones\n00:03:09 Brain & Social Homeostasis; Social Hierarchies & Flexibility\n00:07:41 Dopamine & Pro-Social Behaviors; Chronic Social Isolation & Introversion\n00:09:31 Introverts vs Extroverts, Dopamine & Social Homeostasis; Context\n00:11:36 Loneliness, Dorsal Raphe Nucleus & Social Hunger\n00:13:15 Key Takeaway: Introvert vs Extrovert & Dopamine\n00:13:50 Social Bonds & Physiological Synchrony, Tool: Shared Experiences\n00:16:47 Right- vs Left-Brained Attachment, Parent & Child, Unconscious Mind\n00:21:29 Friends & Romantic Partners, Emotional & Cognitive Empathy\n00:24:51 Oxytocin & Social Connection\n00:27:21 Tool: Emotional & Cognitive Empathy\n00:28:36 Introverts, Extroverts & Social Interaction\n00:29:30 Break-Ups; Key Takeaways\n\n#HubermanLab #HubermanLabPodcast #SocialConnection #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Science of Building Strong Social Bonds with Family, Friends & Romantic Partners", "2f96445f-88d4-4541-970e-8860b97eaa24", 1935, false, "25PtptE7mWk", "https://www.youtube.com/watch?v=25PtptE7mWk", 42, "/downloads/Andrew Huberman/2025-11-20 Essentials: Science of Building Strong Social Bonds with Family, Friends & Romantic Partners/Essentials: Science of Building Strong Social Bonds with Family, Friends & Romantic Partners [25PtptE7mWk].mp4", false, false, false, 4, [], 1, ~U[2025-11-20 13:00:09Z], ~U[2026-09-16 17:12:22Z], ~U[2026-09-16 17:12:22Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the science of social connection and how we form meaningful bonds with others.\n\nI explore the neural basis for \"social homeostasis\"—our drive for a certain amount of social interaction—which explains why we feel lonely, seek connection and how we navigate social hierarchies. I also explain how the brain and neurochemicals, such as oxytocin and dopamine, shape our relationships from infancy through adulthood and underlie traits like introversion and extroversion. The episode also offers practical insights into forming deeper connections and how shared experiences with others enhance social bonding.\n\nEpisode show notes: https://go.hubermanlab.com/O6ooDgN\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/RgAcOqVRfYA\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Social Connection\n00:01:10 Social Bonds, Social Isolation & Stress Hormones\n00:03:09 Brain & Social Homeostasis; Social Hierarchies & Flexibility\n00:07:41 Dopamine & Pro-Social Behaviors; Chronic Social Isolation & Introversion\n00:09:31 Introverts vs Extroverts, Dopamine & Social Homeostasis; Context\n00:11:36 Loneliness, Dorsal Raphe Nucleus & Social Hunger\n00:13:15 Key Takeaway: Introvert vs Extrovert & Dopamine\n00:13:50 Social Bonds & Physiological Synchrony, Tool: Shared Experiences\n00:16:47 Right- vs Left-Brained Attachment, Parent & Child, Unconscious Mind\n00:21:29 Friends & Romantic Partners, Emotional & Cognitive Empathy\n00:24:51 Oxytocin & Social Connection\n00:27:21 Tool: Emotional & Cognitive Empathy\n00:28:36 Introverts, Extroverts & Social Interaction\n00:29:30 Break-Ups; Key Takeaways\n\n#HubermanLab #HubermanLabPodcast #SocialConnection #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Science of Building Strong Social Bonds with Family, Friends & Romantic Partners", 1935, false, "25PtptE7mWk", "https://www.youtube.com/watch?v=25PtptE7mWk", "/downloads/Andrew Huberman/2025-11-20 Essentials: Science of Building Strong Social Bonds with Family, Friends & Romantic Partners/Essentials: Science of Building Strong Social Bonds with Family, Friends & Romantic Partners [25PtptE7mWk].mp4", false, 4, ~U[2025-11-20 13:00:09Z]] 17:12:22.267 [debug] QUERY OK source="sources" db=0.2ms idle=519.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:22.268 [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] 17:12:22.269 [debug] QUERY OK source="media_items" db=0.4ms 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 [181] 17:12:22.269 [debug] Current batch of media processed. Will check again in 1000ms 17:12:23.269 [debug] Current batch of media processed. Will check again in 1000ms 17:12:23.554 [info] {"source":"oban","duration":816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:24.271 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Jack Feldman, PhD, a Distinguished Professor of Neurobiology at the University of California, Los Angeles, and a leading expert in the science of breathing.\n\nWe explain the mechanics of breathing and the neural circuits that generate and regulate our breathing rhythm. We also discuss how breathing patterns profoundly influence mental states, including their role in reducing anxiety and enhancing emotional resilience. Dr. Feldman also shares practical tools, such as box breathing for daily performance and magnesium L-threonate supplementation to support cognitive health and longevity.\n\nEpisode show notes: https://go.hubermanlab.com/11vofKY\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/GLgKkG44MGo\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Jack Feldman*\nUCLA academic profile: https://bioscience.ucla.edu/people/jack-feldman\nGoogle Scholar: https://scholar.google.com/citations?user=7VU42UMAAAAJ&hl=en\nWikipedia: https://en.wikipedia.org/wiki/Jack_L._Feldman\nX: https://x.com/prebotzinger\nInstagram: https://www.instagram.com/jacklfeldman\n\n*Timestamps*\n00:00:00 Jack Feldman\n00:00:23 Breathing Mechanics, Diaphragm; Pre-Bötzinger Complex & Breath Initiation\n00:03:25 Nose vs Mouth Breathing\n00:04:23 Active Expiration & Brain; Retrotrapezoid Nucleus\n00:07:32 Diaphragm & Evolution; Lung Surface Area & Alveoli, Oxygen Exchange\n00:11:56 Diaphragmatic vs Non-Diaphragmatic Breathing\n00:13:23 Physiological Sighs: Frequency & Function; Polio & Ventilators \n00:17:21 Drug Overdose, Death & Gasps \n00:19:06 Meditation, Slow Breathing & Fear Conditioning Study\n00:22:57 Mechanistic Science in Breathwork Validation; Breath Practice & Reduced Fear\n00:24:50 Breathing & Emotional/Cognitive State, Olfaction, Vagus Nerve\n00:27:13 Carbon Dioxide, Hyperventilation & Anxiety, Emotion\n00:29:27 Breathing & Autonomic Processes Coordination; Depression & Breath Practices\n00:32:44 Tool: Breathwork Practices, Box Breathing, Tummo, Wim Hof\n00:34:47 Magnesium L-Threonate & Cognitive Enhancement; Compound Refinement\n00:40:29 Clinical Trial, Magnesium L-Threonate & Cognitive Improvements; Dose, Sleep\n00:44:28 Acknowledgements\n\n#HubermanLab #HubermanLabPodcast #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2748, "filename" => "/downloads/Andrew Huberman/2025-11-13 Essentials: Breathing for Mental & Physical Health & Performance | Dr. Jack Feldman/Essentials: Breathing for Mental & Physical Health & Performance | Dr. Jack Feldman [Y3NUEPNZDMA].mp4", "id" => "Y3NUEPNZDMA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Y3NUEPNZDMA", "playlist_index" => 43, "timestamp" => 1763038871, "title" => "Essentials: Breathing for Mental & Physical Health & Performance | Dr. Jack Feldman", "upload_date" => "20251113"} 17:12:24.272 [debug] QUERY OK source="sources" db=0.3ms idle=850.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:24.272 [debug] QUERY OK source="sources" db=0.2ms idle=717.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:24.273 [debug] QUERY OK source="media_items" db=0.7ms idle=524.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-13 13:01:11Z], 4] 17:12:24.277 [debug] QUERY OK source="media_items" db=2.8ms idle=525.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Jack Feldman, PhD, a Distinguished Professor of Neurobiology at the University of California, Los Angeles, and a leading expert in the science of breathing.\n\nWe explain the mechanics of breathing and the neural circuits that generate and regulate our breathing rhythm. We also discuss how breathing patterns profoundly influence mental states, including their role in reducing anxiety and enhancing emotional resilience. Dr. Feldman also shares practical tools, such as box breathing for daily performance and magnesium L-threonate supplementation to support cognitive health and longevity.\n\nEpisode show notes: https://go.hubermanlab.com/11vofKY\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/GLgKkG44MGo\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Jack Feldman*\nUCLA academic profile: https://bioscience.ucla.edu/people/jack-feldman\nGoogle Scholar: https://scholar.google.com/citations?user=7VU42UMAAAAJ&hl=en\nWikipedia: https://en.wikipedia.org/wiki/Jack_L._Feldman\nX: https://x.com/prebotzinger\nInstagram: https://www.instagram.com/jacklfeldman\n\n*Timestamps*\n00:00:00 Jack Feldman\n00:00:23 Breathing Mechanics, Diaphragm; Pre-Bötzinger Complex & Breath Initiation\n00:03:25 Nose vs Mouth Breathing\n00:04:23 Active Expiration & Brain; Retrotrapezoid Nucleus\n00:07:32 Diaphragm & Evolution; Lung Surface Area & Alveoli, Oxygen Exchange\n00:11:56 Diaphragmatic vs Non-Diaphragmatic Breathing\n00:13:23 Physiological Sighs: Frequency & Function; Polio & Ventilators \n00:17:21 Drug Overdose, Death & Gasps \n00:19:06 Meditation, Slow Breathing & Fear Conditioning Study\n00:22:57 Mechanistic Science in Breathwork Validation; Breath Practice & Reduced Fear\n00:24:50 Breathing & Emotional/Cognitive State, Olfaction, Vagus Nerve\n00:27:13 Carbon Dioxide, Hyperventilation & Anxiety, Emotion\n00:29:27 Breathing & Autonomic Processes Coordination; Depression & Breath Practices\n00:32:44 Tool: Breathwork Practices, Box Breathing, Tummo, Wim Hof\n00:34:47 Magnesium L-Threonate & Cognitive Enhancement; Compound Refinement\n00:40:29 Clinical Trial, Magnesium L-Threonate & Cognitive Improvements; Dose, Sleep\n00:44:28 Acknowledgements\n\n#HubermanLab #HubermanLabPodcast #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Breathing for Mental & Physical Health & Performance | Dr. Jack Feldman", "ed54d62f-e80c-4a1f-adce-cb4190e96127", 2748, false, "Y3NUEPNZDMA", "https://www.youtube.com/watch?v=Y3NUEPNZDMA", 43, "/downloads/Andrew Huberman/2025-11-13 Essentials: Breathing for Mental & Physical Health & Performance | Dr. Jack Feldman/Essentials: Breathing for Mental & Physical Health & Performance | Dr. Jack Feldman [Y3NUEPNZDMA].mp4", false, false, false, 4, [], 1, ~U[2025-11-13 13:01:11Z], ~U[2026-09-16 17:12:24Z], ~U[2026-09-16 17:12:24Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Jack Feldman, PhD, a Distinguished Professor of Neurobiology at the University of California, Los Angeles, and a leading expert in the science of breathing.\n\nWe explain the mechanics of breathing and the neural circuits that generate and regulate our breathing rhythm. We also discuss how breathing patterns profoundly influence mental states, including their role in reducing anxiety and enhancing emotional resilience. Dr. Feldman also shares practical tools, such as box breathing for daily performance and magnesium L-threonate supplementation to support cognitive health and longevity.\n\nEpisode show notes: https://go.hubermanlab.com/11vofKY\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/GLgKkG44MGo\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Jack Feldman*\nUCLA academic profile: https://bioscience.ucla.edu/people/jack-feldman\nGoogle Scholar: https://scholar.google.com/citations?user=7VU42UMAAAAJ&hl=en\nWikipedia: https://en.wikipedia.org/wiki/Jack_L._Feldman\nX: https://x.com/prebotzinger\nInstagram: https://www.instagram.com/jacklfeldman\n\n*Timestamps*\n00:00:00 Jack Feldman\n00:00:23 Breathing Mechanics, Diaphragm; Pre-Bötzinger Complex & Breath Initiation\n00:03:25 Nose vs Mouth Breathing\n00:04:23 Active Expiration & Brain; Retrotrapezoid Nucleus\n00:07:32 Diaphragm & Evolution; Lung Surface Area & Alveoli, Oxygen Exchange\n00:11:56 Diaphragmatic vs Non-Diaphragmatic Breathing\n00:13:23 Physiological Sighs: Frequency & Function; Polio & Ventilators \n00:17:21 Drug Overdose, Death & Gasps \n00:19:06 Meditation, Slow Breathing & Fear Conditioning Study\n00:22:57 Mechanistic Science in Breathwork Validation; Breath Practice & Reduced Fear\n00:24:50 Breathing & Emotional/Cognitive State, Olfaction, Vagus Nerve\n00:27:13 Carbon Dioxide, Hyperventilation & Anxiety, Emotion\n00:29:27 Breathing & Autonomic Processes Coordination; Depression & Breath Practices\n00:32:44 Tool: Breathwork Practices, Box Breathing, Tummo, Wim Hof\n00:34:47 Magnesium L-Threonate & Cognitive Enhancement; Compound Refinement\n00:40:29 Clinical Trial, Magnesium L-Threonate & Cognitive Improvements; Dose, Sleep\n00:44:28 Acknowledgements\n\n#HubermanLab #HubermanLabPodcast #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Breathing for Mental & Physical Health & Performance | Dr. Jack Feldman", 2748, false, "Y3NUEPNZDMA", "https://www.youtube.com/watch?v=Y3NUEPNZDMA", "/downloads/Andrew Huberman/2025-11-13 Essentials: Breathing for Mental & Physical Health & Performance | Dr. Jack Feldman/Essentials: Breathing for Mental & Physical Health & Performance | Dr. Jack Feldman [Y3NUEPNZDMA].mp4", false, 4, ~U[2025-11-13 13:01:11Z]] 17:12:24.277 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=529.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:24.278 [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] 17:12:24.278 [debug] QUERY OK source="media_items" db=0.2ms idle=6.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [182] 17:12:24.279 [debug] Current batch of media processed. Will check again in 1000ms 17:12:25.280 [debug] Current batch of media processed. Will check again in 1000ms 17:12:26.281 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explore the neuroscience of fear and trauma and how to effectively process and eliminate traumatic responses.\n\nI explain why successful fear treatment requires both extinction of the old fearful response and replacement with a new positive association—not just cognitive reframing. I also explain how the threat reflex activates specific circuits connecting the amygdala, prefrontal cortex, and dopamine systems, and why detailed recounting of traumatic events progressively reduces their physiological impact. Finally, I review evidence-based approaches, including prolonged exposure therapy and cognitive behavioral therapy, discuss how five minutes per day of deliberate stress through cyclic hyperventilation can rewire fear responses, explain the critical role of social connection in activating neural pathways that reduce trauma, and share supplementation options for managing anxiety.\n\nEpisode show notes: https://go.hubermanlab.com/WeEXeyX\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/31wjVhCcI5Y\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Introducing Fear & Trauma\n00:00:17 What is Fear?\n00:01:03 Autonomic Arousal: \"Alertness\" vs. \"Calmness\"\n00:02:05 Fear vs. Stress & Anxiety\n00:07:51 \"The Threat Reflex\": Neural Circuits for Fear\n00:17:49 Cognitive (Narrative) Therapies for Fear\n00:23:34 PTSD Treatments: Ketamine, MDMA, Oxytocin\n00:28:30 Deliberate Brief Stress Can Erase Fears & Trauma\n00:31:10 Nutrition, Sleep, & Other General Support Erasing Fear & Trauma\n00:33:38 Recap\n\n#HubermanLab #Science #Neuroscience\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2104, "filename" => "/downloads/Andrew Huberman/2025-11-06 Erasing Fears & Traumas Using Modern Neuroscience | Huberman Lab Essentials/Erasing Fears & Traumas Using Modern Neuroscience | Huberman Lab Essentials [tpntW9Tte4M].mp4", "id" => "tpntW9Tte4M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tpntW9Tte4M", "playlist_index" => 44, "timestamp" => 1762434116, "title" => "Erasing Fears & Traumas Using Modern Neuroscience | Huberman Lab Essentials", "upload_date" => "20251106"} 17:12:26.282 [debug] QUERY OK source="sources" db=0.3ms idle=858.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:26.283 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=534.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:26.284 [debug] QUERY OK source="media_items" db=0.6ms idle=535.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-06 13:01:56Z], 4] 17:12:26.287 [debug] QUERY OK source="media_items" db=2.1ms idle=536.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explore the neuroscience of fear and trauma and how to effectively process and eliminate traumatic responses.\n\nI explain why successful fear treatment requires both extinction of the old fearful response and replacement with a new positive association—not just cognitive reframing. I also explain how the threat reflex activates specific circuits connecting the amygdala, prefrontal cortex, and dopamine systems, and why detailed recounting of traumatic events progressively reduces their physiological impact. Finally, I review evidence-based approaches, including prolonged exposure therapy and cognitive behavioral therapy, discuss how five minutes per day of deliberate stress through cyclic hyperventilation can rewire fear responses, explain the critical role of social connection in activating neural pathways that reduce trauma, and share supplementation options for managing anxiety.\n\nEpisode show notes: https://go.hubermanlab.com/WeEXeyX\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/31wjVhCcI5Y\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Introducing Fear & Trauma\n00:00:17 What is Fear?\n00:01:03 Autonomic Arousal: \"Alertness\" vs. \"Calmness\"\n00:02:05 Fear vs. Stress & Anxiety\n00:07:51 \"The Threat Reflex\": Neural Circuits for Fear\n00:17:49 Cognitive (Narrative) Therapies for Fear\n00:23:34 PTSD Treatments: Ketamine, MDMA, Oxytocin\n00:28:30 Deliberate Brief Stress Can Erase Fears & Trauma\n00:31:10 Nutrition, Sleep, & Other General Support Erasing Fear & Trauma\n00:33:38 Recap\n\n#HubermanLab #Science #Neuroscience\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Erasing Fears & Traumas Using Modern Neuroscience | Huberman Lab Essentials", "21aee03b-2eb5-49b0-81ee-01692ff3f06b", 2104, false, "tpntW9Tte4M", "https://www.youtube.com/watch?v=tpntW9Tte4M", 44, "/downloads/Andrew Huberman/2025-11-06 Erasing Fears & Traumas Using Modern Neuroscience | Huberman Lab Essentials/Erasing Fears & Traumas Using Modern Neuroscience | Huberman Lab Essentials [tpntW9Tte4M].mp4", false, false, false, 4, [], 1, ~U[2025-11-06 13:01:56Z], ~U[2026-09-16 17:12:26Z], ~U[2026-09-16 17:12:26Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explore the neuroscience of fear and trauma and how to effectively process and eliminate traumatic responses.\n\nI explain why successful fear treatment requires both extinction of the old fearful response and replacement with a new positive association—not just cognitive reframing. I also explain how the threat reflex activates specific circuits connecting the amygdala, prefrontal cortex, and dopamine systems, and why detailed recounting of traumatic events progressively reduces their physiological impact. Finally, I review evidence-based approaches, including prolonged exposure therapy and cognitive behavioral therapy, discuss how five minutes per day of deliberate stress through cyclic hyperventilation can rewire fear responses, explain the critical role of social connection in activating neural pathways that reduce trauma, and share supplementation options for managing anxiety.\n\nEpisode show notes: https://go.hubermanlab.com/WeEXeyX\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/31wjVhCcI5Y\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Introducing Fear & Trauma\n00:00:17 What is Fear?\n00:01:03 Autonomic Arousal: \"Alertness\" vs. \"Calmness\"\n00:02:05 Fear vs. Stress & Anxiety\n00:07:51 \"The Threat Reflex\": Neural Circuits for Fear\n00:17:49 Cognitive (Narrative) Therapies for Fear\n00:23:34 PTSD Treatments: Ketamine, MDMA, Oxytocin\n00:28:30 Deliberate Brief Stress Can Erase Fears & Trauma\n00:31:10 Nutrition, Sleep, & Other General Support Erasing Fear & Trauma\n00:33:38 Recap\n\n#HubermanLab #Science #Neuroscience\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Erasing Fears & Traumas Using Modern Neuroscience | Huberman Lab Essentials", 2104, false, "tpntW9Tte4M", "https://www.youtube.com/watch?v=tpntW9Tte4M", "/downloads/Andrew Huberman/2025-11-06 Erasing Fears & Traumas Using Modern Neuroscience | Huberman Lab Essentials/Erasing Fears & Traumas Using Modern Neuroscience | Huberman Lab Essentials [tpntW9Tte4M].mp4", false, 4, ~U[2025-11-06 13:01:56Z]] 17:12:26.288 [debug] QUERY OK source="sources" db=0.3ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:26.289 [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] 17:12:26.290 [debug] QUERY OK source="media_items" db=0.5ms idle=6.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [183] 17:12:26.290 [debug] Current batch of media processed. Will check again in 1000ms 17:12:27.291 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is Dr. David Sinclair, PhD, a professor of genetics at Harvard Medical School and a leading expert on the biology of aging.\n\nWe discuss the cellular and molecular mechanisms of aging—and how specific behaviors, such as fasting, regular exercise and NAD⁺-boosting compounds like NMN, can activate the body's natural longevity pathways. This discussion highlights how lifestyle choices profoundly influence the aging process and may even slow or reverse key aspects of biological aging.\n\nEpisode show notes: https://go.hubermanlab.com/MW6SYCf\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/n9IxomBusuw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 David Sinclair\n00:00:20 Longevity, Anti-Aging, Aging as a Disease\n00:02:27 Causes of Aging; Epigenome & Genes\n00:04:53 CD & Scratches Analogy, DNA, Silencing & Expressing Genes\n00:06:44 Physical Appearance & Aging\n00:07:36 Childhood Development & Aging, Horvath Clock, Accelerate Aging\n00:10:13 Rates of Puberty & Aging, Growth Hormone\n00:11:20 Body Size & Longevity; Epigenetics\n00:11:50 Fasting, Calorie Restriction & Longevity, Sirtuins, Insulin & Glucose\n00:15:14 Tool: Skip a Meal\n00:15:50 Longer Fasts & Autophagy, “Deep Cleanse”; Fluids, Electrolytes\n00:17:28 Sirtuins, Glucose, mTOR & Fasting; Leucine, Tool: Pulsing Behaviors\n00:21:37 Breaking a Fast, Tools: Do Your Best; Transitions\n00:24:13 Sirtuins, NAD, NMN Supplementation\n00:26:18 Iron & Senescent Cells; Personalize Medicine\n00:27:48 Tool: Blood Markers, CRP\n00:29:57 Tool: Aerobic & Resistance Exercise\n00:31:02 Estrogen, Fasting & Fertility; Aging & Rejuvenation\n00:33:28 Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2039, "filename" => "/downloads/Andrew Huberman/2025-10-30 Essentials: The Biology of Slowing & Reversing Aging | Dr. David Sinclair/Essentials: The Biology of Slowing & Reversing Aging | Dr. David Sinclair [Ykvkg2Jz3X8].mp4", "id" => "Ykvkg2Jz3X8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ykvkg2Jz3X8", "playlist_index" => 45, "timestamp" => 1761825671, "title" => "Essentials: The Biology of Slowing & Reversing Aging | Dr. David Sinclair", "upload_date" => "20251030"} 17:12:27.292 [debug] QUERY OK source="sources" db=0.3ms idle=1004.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:27.292 [debug] QUERY OK source="sources" db=0.3ms idle=1004.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:27.293 [debug] QUERY OK source="media_items" db=0.5ms idle=1003.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 12:01:11Z], 4] 17:12:27.295 [debug] QUERY OK source="media_items" db=1.8ms idle=1003.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is Dr. David Sinclair, PhD, a professor of genetics at Harvard Medical School and a leading expert on the biology of aging.\n\nWe discuss the cellular and molecular mechanisms of aging—and how specific behaviors, such as fasting, regular exercise and NAD⁺-boosting compounds like NMN, can activate the body's natural longevity pathways. This discussion highlights how lifestyle choices profoundly influence the aging process and may even slow or reverse key aspects of biological aging.\n\nEpisode show notes: https://go.hubermanlab.com/MW6SYCf\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/n9IxomBusuw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 David Sinclair\n00:00:20 Longevity, Anti-Aging, Aging as a Disease\n00:02:27 Causes of Aging; Epigenome & Genes\n00:04:53 CD & Scratches Analogy, DNA, Silencing & Expressing Genes\n00:06:44 Physical Appearance & Aging\n00:07:36 Childhood Development & Aging, Horvath Clock, Accelerate Aging\n00:10:13 Rates of Puberty & Aging, Growth Hormone\n00:11:20 Body Size & Longevity; Epigenetics\n00:11:50 Fasting, Calorie Restriction & Longevity, Sirtuins, Insulin & Glucose\n00:15:14 Tool: Skip a Meal\n00:15:50 Longer Fasts & Autophagy, “Deep Cleanse”; Fluids, Electrolytes\n00:17:28 Sirtuins, Glucose, mTOR & Fasting; Leucine, Tool: Pulsing Behaviors\n00:21:37 Breaking a Fast, Tools: Do Your Best; Transitions\n00:24:13 Sirtuins, NAD, NMN Supplementation\n00:26:18 Iron & Senescent Cells; Personalize Medicine\n00:27:48 Tool: Blood Markers, CRP\n00:29:57 Tool: Aerobic & Resistance Exercise\n00:31:02 Estrogen, Fasting & Fertility; Aging & Rejuvenation\n00:33:28 Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Biology of Slowing & Reversing Aging | Dr. David Sinclair", "a9a5772b-5880-49b9-aad3-d4d4a8ef2363", 2039, false, "Ykvkg2Jz3X8", "https://www.youtube.com/watch?v=Ykvkg2Jz3X8", 45, "/downloads/Andrew Huberman/2025-10-30 Essentials: The Biology of Slowing & Reversing Aging | Dr. David Sinclair/Essentials: The Biology of Slowing & Reversing Aging | Dr. David Sinclair [Ykvkg2Jz3X8].mp4", false, false, false, 4, [], 1, ~U[2025-10-30 12:01:11Z], ~U[2026-09-16 17:12:27Z], ~U[2026-09-16 17:12:27Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is Dr. David Sinclair, PhD, a professor of genetics at Harvard Medical School and a leading expert on the biology of aging.\n\nWe discuss the cellular and molecular mechanisms of aging—and how specific behaviors, such as fasting, regular exercise and NAD⁺-boosting compounds like NMN, can activate the body's natural longevity pathways. This discussion highlights how lifestyle choices profoundly influence the aging process and may even slow or reverse key aspects of biological aging.\n\nEpisode show notes: https://go.hubermanlab.com/MW6SYCf\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/n9IxomBusuw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 David Sinclair\n00:00:20 Longevity, Anti-Aging, Aging as a Disease\n00:02:27 Causes of Aging; Epigenome & Genes\n00:04:53 CD & Scratches Analogy, DNA, Silencing & Expressing Genes\n00:06:44 Physical Appearance & Aging\n00:07:36 Childhood Development & Aging, Horvath Clock, Accelerate Aging\n00:10:13 Rates of Puberty & Aging, Growth Hormone\n00:11:20 Body Size & Longevity; Epigenetics\n00:11:50 Fasting, Calorie Restriction & Longevity, Sirtuins, Insulin & Glucose\n00:15:14 Tool: Skip a Meal\n00:15:50 Longer Fasts & Autophagy, “Deep Cleanse”; Fluids, Electrolytes\n00:17:28 Sirtuins, Glucose, mTOR & Fasting; Leucine, Tool: Pulsing Behaviors\n00:21:37 Breaking a Fast, Tools: Do Your Best; Transitions\n00:24:13 Sirtuins, NAD, NMN Supplementation\n00:26:18 Iron & Senescent Cells; Personalize Medicine\n00:27:48 Tool: Blood Markers, CRP\n00:29:57 Tool: Aerobic & Resistance Exercise\n00:31:02 Estrogen, Fasting & Fertility; Aging & Rejuvenation\n00:33:28 Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Biology of Slowing & Reversing Aging | Dr. David Sinclair", 2039, false, "Ykvkg2Jz3X8", "https://www.youtube.com/watch?v=Ykvkg2Jz3X8", "/downloads/Andrew Huberman/2025-10-30 Essentials: The Biology of Slowing & Reversing Aging | Dr. David Sinclair/Essentials: The Biology of Slowing & Reversing Aging | Dr. David Sinclair [Ykvkg2Jz3X8].mp4", false, 4, ~U[2025-10-30 12:01:11Z]] 17:12:27.296 [debug] QUERY OK source="sources" db=0.2ms idle=872.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:27.296 [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" = ?) [2] 17:12:27.297 [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 [184] 17:12:27.297 [debug] Current batch of media processed. Will check again in 1000ms 17:12:28.298 [debug] Current batch of media processed. Will check again in 1000ms 17:12:29.299 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the science of gratitude and how to develop an effective, research-supported gratitude practice.\n\nI explain why common gratitude practices (like simply listing things you're grateful for) are far less impactful than engaging in story-based gratitude practices. I also explain how being grateful activates specific brain regions, which enhance calm, social connection and motivation, while reducing anxiety and inflammation. Finally, I share why we can't simply trick our brains into feeling grateful and describe a practical weekly gratitude practice that will improve both your mental and physical well-being.\n\nEpisode show notes: https://go.hubermanlab.com/bpHpAWB\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/KVjfFN89qvQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Gratitude\n00:00:30 Gratitude Practice Benefits\n00:03:22 Pro-Social vs Defensive Behaviors, Gratitude\n00:06:25 Serotonin, Brain & Context; Gratitude Mindset\n00:12:21 Context, Can You Lie to Yourself?\n00:13:06 Effective Gratitude Practice, Tools: Receiving Gratitude, Story\n00:19:36 Tool: Find & Revisit Inspirational Stories\n00:24:19 Heartfelt Intention, Genuine Thanks\n00:26:31 Gratitude Practice Benefits for Anxiety, Fear & Motivation\n00:28:58 Gratitude Practice Benefits for Immune System\n00:31:31 Recap: Establishing an Effective Gratitude Practice\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2085, "filename" => "/downloads/Andrew Huberman/2025-10-23 The Science of Gratitude & How to Build a Gratitude Practice | Huberman Lab Essentials/The Science of Gratitude & How to Build a Gratitude Practice | Huberman Lab Essentials [9gJLWk3W5GQ].mp4", "id" => "9gJLWk3W5GQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9gJLWk3W5GQ", "playlist_index" => 46, "timestamp" => 1761220831, "title" => "The Science of Gratitude & How to Build a Gratitude Practice | Huberman Lab Essentials", "upload_date" => "20251023"} 17:12:29.299 [debug] QUERY OK source="sources" db=0.2ms idle=873.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:29.300 [debug] QUERY OK source="sources" db=0.1ms idle=552.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:29.301 [debug] QUERY OK source="media_items" db=0.4ms idle=552.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 12:00:31Z], 4] 17:12:29.304 [debug] QUERY OK source="media_items" db=2.4ms idle=553.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the science of gratitude and how to develop an effective, research-supported gratitude practice.\n\nI explain why common gratitude practices (like simply listing things you're grateful for) are far less impactful than engaging in story-based gratitude practices. I also explain how being grateful activates specific brain regions, which enhance calm, social connection and motivation, while reducing anxiety and inflammation. Finally, I share why we can't simply trick our brains into feeling grateful and describe a practical weekly gratitude practice that will improve both your mental and physical well-being.\n\nEpisode show notes: https://go.hubermanlab.com/bpHpAWB\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/KVjfFN89qvQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Gratitude\n00:00:30 Gratitude Practice Benefits\n00:03:22 Pro-Social vs Defensive Behaviors, Gratitude\n00:06:25 Serotonin, Brain & Context; Gratitude Mindset\n00:12:21 Context, Can You Lie to Yourself?\n00:13:06 Effective Gratitude Practice, Tools: Receiving Gratitude, Story\n00:19:36 Tool: Find & Revisit Inspirational Stories\n00:24:19 Heartfelt Intention, Genuine Thanks\n00:26:31 Gratitude Practice Benefits for Anxiety, Fear & Motivation\n00:28:58 Gratitude Practice Benefits for Immune System\n00:31:31 Recap: Establishing an Effective Gratitude Practice\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science of Gratitude & How to Build a Gratitude Practice | Huberman Lab Essentials", "824bb248-7444-4d46-a0de-2c3f82ac2a48", 2085, false, "9gJLWk3W5GQ", "https://www.youtube.com/watch?v=9gJLWk3W5GQ", 46, "/downloads/Andrew Huberman/2025-10-23 The Science of Gratitude & How to Build a Gratitude Practice | Huberman Lab Essentials/The Science of Gratitude & How to Build a Gratitude Practice | Huberman Lab Essentials [9gJLWk3W5GQ].mp4", false, false, false, 4, [], 1, ~U[2025-10-23 12:00:31Z], ~U[2026-09-16 17:12:29Z], ~U[2026-09-16 17:12:29Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the science of gratitude and how to develop an effective, research-supported gratitude practice.\n\nI explain why common gratitude practices (like simply listing things you're grateful for) are far less impactful than engaging in story-based gratitude practices. I also explain how being grateful activates specific brain regions, which enhance calm, social connection and motivation, while reducing anxiety and inflammation. Finally, I share why we can't simply trick our brains into feeling grateful and describe a practical weekly gratitude practice that will improve both your mental and physical well-being.\n\nEpisode show notes: https://go.hubermanlab.com/bpHpAWB\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/KVjfFN89qvQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Gratitude\n00:00:30 Gratitude Practice Benefits\n00:03:22 Pro-Social vs Defensive Behaviors, Gratitude\n00:06:25 Serotonin, Brain & Context; Gratitude Mindset\n00:12:21 Context, Can You Lie to Yourself?\n00:13:06 Effective Gratitude Practice, Tools: Receiving Gratitude, Story\n00:19:36 Tool: Find & Revisit Inspirational Stories\n00:24:19 Heartfelt Intention, Genuine Thanks\n00:26:31 Gratitude Practice Benefits for Anxiety, Fear & Motivation\n00:28:58 Gratitude Practice Benefits for Immune System\n00:31:31 Recap: Establishing an Effective Gratitude Practice\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science of Gratitude & How to Build a Gratitude Practice | Huberman Lab Essentials", 2085, false, "9gJLWk3W5GQ", "https://www.youtube.com/watch?v=9gJLWk3W5GQ", "/downloads/Andrew Huberman/2025-10-23 The Science of Gratitude & How to Build a Gratitude Practice | Huberman Lab Essentials/The Science of Gratitude & How to Build a Gratitude Practice | Huberman Lab Essentials [9gJLWk3W5GQ].mp4", false, 4, ~U[2025-10-23 12:00:31Z]] 17:12:29.304 [debug] QUERY OK source="sources" db=0.2ms idle=556.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:29.305 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:12:29.306 [debug] QUERY OK source="media_items" db=0.4ms idle=5.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [185] 17:12:29.306 [debug] Current batch of media processed. Will check again in 1000ms 17:12:30.307 [debug] Current batch of media processed. Will check again in 1000ms 17:12:31.308 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Berson, PhD, a professor of neuroscience at Brown University and an expert on the visual system and circadian biology.\n\nWe explore how the brain processes visual information, from photons entering the eye to conscious perception in the cortex. We discuss color vision, the discovery of melanopsin and intrinsically photosensitive retinal ganglion cells, and how light regulates our circadian clock and melatonin release. We also examine the vestibular system's role in balance and motion detection, the cerebellum's function in motor coordination, and the midbrain's integration of multiple sensory inputs. Finally, we discuss the basal ganglia's role in decision-making and an extraordinary case of neuroplasticity in visual cortex.\n\nEpisode show notes: https://go.hubermanlab.com/kJOETdg\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/oC3fhUjg30E\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. David Berson*\nDr. Berson’s academic profile: https://vivo.brown.edu/display/dberson\nEyewire (contribute to neuroscience research from home/computer): https://eyewire.org/explore\nBest neuroscience textbook: https://amzn.to/4n87UoC\nWe Know It When We See It: What the Neurobiology of Vision Tells Us About How We Think (book): https://amzn.to/47qC9lU\n\n*Timestamps*\n00:00:00 Dr. David Berson\n00:00:38 Visual Perception, Photons & Retinal Processing, Ganglion Cells\n00:02:12 Color Vision, Wavelengths & Photoreceptors; Cones & Rods\n00:06:32 Melanopsin, Intrinsically Photosensitive Retinal Ganglion Cells & Brightness Detection\n00:08:45 Circadian Clock & Synchronization, Suprachiasmatic Nucleus (SCN); Master Clock Function\n00:11:30 Hypothalamus, Autonomic Nervous System & Hormonal Systems\n00:12:12 Tool: Light Exposure & Melatonin Regulation, Pineal Function\n00:13:06 Vestibular System, Balance & Motion Detection; Semicircular Canals\n00:15:45 Vestibulo-Ocular Reflex, Image Stabilization & Head Rotation\n00:17:22 Motion Sickness, Visual-Vestibular Conflict; Tool: Avoiding Nausea\n00:19:06 Cerebellum, Motor Coordination & Learning\n00:20:28 Cerebellar Function, Precision & Timing of Movement; Cerebellar Ataxia\n00:21:56 Flocculus & Visual-Vestibular Integration\n00:22:52 Midbrain, Brainstem & Reflexive Behavior; Superior Colliculus\n00:25:33 Spatial Orientation & Multisensory Integration; Rattlesnake Heat Detection\n00:27:20 Sensory Integration & Corroboration\n00:28:12 Basal Ganglia, Go vs No-Go Behavior & Decision Making\n00:29:15 Tool: Impulse Control & Delayed Gratification, Marshmallow Test\n00:30:13 Individual Differences, Genetics & Experience\n00:31:05 Visual Cortex, Neural Processing & Brain Plasticity\n00:32:00 Cortical Reorganization, Braille Reading & Stroke Recovery\n00:34:34 David Berson's Work; Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2144, "filename" => "/downloads/Andrew Huberman/2025-10-16 Essentials: How Your Brain Functions & Interprets the World | Dr. David Berson/Essentials: How Your Brain Functions & Interprets the World | Dr. David Berson [-zI0ZgKM0xA].mp4", "id" => "-zI0ZgKM0xA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-zI0ZgKM0xA", "playlist_index" => 47, "timestamp" => 1760616001, "title" => "Essentials: How Your Brain Functions & Interprets the World | Dr. David Berson", "upload_date" => "20251016"} 17:12:31.309 [debug] QUERY OK source="sources" db=0.3ms idle=880.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:31.309 [debug] QUERY OK source="sources" db=0.2ms idle=561.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:31.310 [debug] QUERY OK source="media_items" db=0.4ms idle=561.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-16 12:00:01Z], 4] 17:12:31.314 [debug] QUERY OK source="media_items" db=3.1ms idle=562.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Berson, PhD, a professor of neuroscience at Brown University and an expert on the visual system and circadian biology.\n\nWe explore how the brain processes visual information, from photons entering the eye to conscious perception in the cortex. We discuss color vision, the discovery of melanopsin and intrinsically photosensitive retinal ganglion cells, and how light regulates our circadian clock and melatonin release. We also examine the vestibular system's role in balance and motion detection, the cerebellum's function in motor coordination, and the midbrain's integration of multiple sensory inputs. Finally, we discuss the basal ganglia's role in decision-making and an extraordinary case of neuroplasticity in visual cortex.\n\nEpisode show notes: https://go.hubermanlab.com/kJOETdg\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/oC3fhUjg30E\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. David Berson*\nDr. Berson’s academic profile: https://vivo.brown.edu/display/dberson\nEyewire (contribute to neuroscience research from home/computer): https://eyewire.org/explore\nBest neuroscience textbook: https://amzn.to/4n87UoC\nWe Know It When We See It: What the Neurobiology of Vision Tells Us About How We Think (book): https://amzn.to/47qC9lU\n\n*Timestamps*\n00:00:00 Dr. David Berson\n00:00:38 Visual Perception, Photons & Retinal Processing, Ganglion Cells\n00:02:12 Color Vision, Wavelengths & Photoreceptors; Cones & Rods\n00:06:32 Melanopsin, Intrinsically Photosensitive Retinal Ganglion Cells & Brightness Detection\n00:08:45 Circadian Clock & Synchronization, Suprachiasmatic Nucleus (SCN); Master Clock Function\n00:11:30 Hypothalamus, Autonomic Nervous System & Hormonal Systems\n00:12:12 Tool: Light Exposure & Melatonin Regulation, Pineal Function\n00:13:06 Vestibular System, Balance & Motion Detection; Semicircular Canals\n00:15:45 Vestibulo-Ocular Reflex, Image Stabilization & Head Rotation\n00:17:22 Motion Sickness, Visual-Vestibular Conflict; Tool: Avoiding Nausea\n00:19:06 Cerebellum, Motor Coordination & Learning\n00:20:28 Cerebellar Function, Precision & Timing of Movement; Cerebellar Ataxia\n00:21:56 Flocculus & Visual-Vestibular Integration\n00:22:52 Midbrain, Brainstem & Reflexive Behavior; Superior Colliculus\n00:25:33 Spatial Orientation & Multisensory Integration; Rattlesnake Heat Detection\n00:27:20 Sensory Integration & Corroboration\n00:28:12 Basal Ganglia, Go vs No-Go Behavior & Decision Making\n00:29:15 Tool: Impulse Control & Delayed Gratification, Marshmallow Test\n00:30:13 Individual Differences, Genetics & Experience\n00:31:05 Visual Cortex, Neural Processing & Brain Plasticity\n00:32:00 Cortical Reorganization, Braille Reading & Stroke Recovery\n00:34:34 David Berson's Work; Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How Your Brain Functions & Interprets the World | Dr. David Berson", "2ce48224-02e6-4d2b-813f-96c158be906a", 2144, false, "-zI0ZgKM0xA", "https://www.youtube.com/watch?v=-zI0ZgKM0xA", 47, "/downloads/Andrew Huberman/2025-10-16 Essentials: How Your Brain Functions & Interprets the World | Dr. David Berson/Essentials: How Your Brain Functions & Interprets the World | Dr. David Berson [-zI0ZgKM0xA].mp4", false, false, false, 4, [], 1, ~U[2025-10-16 12:00:01Z], ~U[2026-09-16 17:12:31Z], ~U[2026-09-16 17:12:31Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Berson, PhD, a professor of neuroscience at Brown University and an expert on the visual system and circadian biology.\n\nWe explore how the brain processes visual information, from photons entering the eye to conscious perception in the cortex. We discuss color vision, the discovery of melanopsin and intrinsically photosensitive retinal ganglion cells, and how light regulates our circadian clock and melatonin release. We also examine the vestibular system's role in balance and motion detection, the cerebellum's function in motor coordination, and the midbrain's integration of multiple sensory inputs. Finally, we discuss the basal ganglia's role in decision-making and an extraordinary case of neuroplasticity in visual cortex.\n\nEpisode show notes: https://go.hubermanlab.com/kJOETdg\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/oC3fhUjg30E\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. David Berson*\nDr. Berson’s academic profile: https://vivo.brown.edu/display/dberson\nEyewire (contribute to neuroscience research from home/computer): https://eyewire.org/explore\nBest neuroscience textbook: https://amzn.to/4n87UoC\nWe Know It When We See It: What the Neurobiology of Vision Tells Us About How We Think (book): https://amzn.to/47qC9lU\n\n*Timestamps*\n00:00:00 Dr. David Berson\n00:00:38 Visual Perception, Photons & Retinal Processing, Ganglion Cells\n00:02:12 Color Vision, Wavelengths & Photoreceptors; Cones & Rods\n00:06:32 Melanopsin, Intrinsically Photosensitive Retinal Ganglion Cells & Brightness Detection\n00:08:45 Circadian Clock & Synchronization, Suprachiasmatic Nucleus (SCN); Master Clock Function\n00:11:30 Hypothalamus, Autonomic Nervous System & Hormonal Systems\n00:12:12 Tool: Light Exposure & Melatonin Regulation, Pineal Function\n00:13:06 Vestibular System, Balance & Motion Detection; Semicircular Canals\n00:15:45 Vestibulo-Ocular Reflex, Image Stabilization & Head Rotation\n00:17:22 Motion Sickness, Visual-Vestibular Conflict; Tool: Avoiding Nausea\n00:19:06 Cerebellum, Motor Coordination & Learning\n00:20:28 Cerebellar Function, Precision & Timing of Movement; Cerebellar Ataxia\n00:21:56 Flocculus & Visual-Vestibular Integration\n00:22:52 Midbrain, Brainstem & Reflexive Behavior; Superior Colliculus\n00:25:33 Spatial Orientation & Multisensory Integration; Rattlesnake Heat Detection\n00:27:20 Sensory Integration & Corroboration\n00:28:12 Basal Ganglia, Go vs No-Go Behavi (truncated) 17:12:31.315 [debug] QUERY OK source="sources" db=0.5ms idle=566.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:31.316 [debug] QUERY OK source="media_profiles" db=0.9ms 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] 17:12:31.317 [debug] QUERY OK source="media_items" db=0.3ms 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 [186] 17:12:31.317 [debug] Current batch of media processed. Will check again in 1000ms 17:12:32.318 [debug] Current batch of media processed. Will check again in 1000ms 17:12:33.319 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explore how biological rhythms and neurochemicals impact our perception of time.\n\nI describe how the body aligns with daily and seasonal light cycles to regulate hormones that influence energy, mood and motivation throughout the year. I share science-based tools to enhance focus and productivity, including strategies for structuring work intervals and optimizing the timing of exercise and daily light exposure. I also explain how neurotransmitters like dopamine and serotonin influence our perception of time and how factors such as novelty, emotion and routine impact how we experience and recall time.\n\nEpisode show notes: https://go.hubermanlab.com/cns2pS3\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/8IWDAqodDas\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Time Perception\n00:00:48 Entrainment, Circannual Rhythms & Melatonin\n00:04:22 Circadian Rhythms, Tools: Exercise; Morning & Evening Light for Circadian Entrainment\n00:09:01 Ultradian Cycles, Focus & Work\n00:12:37 Time Perception, Past, Present & Future\n00:14:53 Dopamine, Norepinephrine & Serotonin, Time Perception\n00:17:11 Dopamine & Serotonin, Daily Fluctuations, Tool: Structuring Work, Sleep\n00:18:52 Trauma, “Over-clocking”, Slowing Time & Emotions\n00:23:30 Event Perception (Fun vs Boring), Time & Memories\n00:26:37 Novel Experiences, Places & People, Retrospective Time \n00:28:38 Habits, Tool: Schedule Functional Units\n00:30:13 Recap & Book Suggestion\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1855, "filename" => "/downloads/Andrew Huberman/2025-10-09 Time Perception, Memory & Focus | Huberman Lab Essentials/Time Perception, Memory & Focus | Huberman Lab Essentials [vXTK0Ac9i1Q].mp4", "id" => "vXTK0Ac9i1Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vXTK0Ac9i1Q", "playlist_index" => 48, "timestamp" => 1760011311, "title" => "Time Perception, Memory & Focus | Huberman Lab Essentials", "upload_date" => "20251009"} 17:12:33.319 [debug] QUERY OK source="sources" db=0.2ms idle=888.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:33.320 [debug] QUERY OK source="sources" db=0.1ms idle=572.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:33.321 [debug] QUERY OK source="media_items" db=0.4ms idle=572.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-09 12:01:51Z], 4] 17:12:33.323 [debug] QUERY OK source="media_items" db=1.6ms idle=573.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explore how biological rhythms and neurochemicals impact our perception of time.\n\nI describe how the body aligns with daily and seasonal light cycles to regulate hormones that influence energy, mood and motivation throughout the year. I share science-based tools to enhance focus and productivity, including strategies for structuring work intervals and optimizing the timing of exercise and daily light exposure. I also explain how neurotransmitters like dopamine and serotonin influence our perception of time and how factors such as novelty, emotion and routine impact how we experience and recall time.\n\nEpisode show notes: https://go.hubermanlab.com/cns2pS3\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/8IWDAqodDas\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Time Perception\n00:00:48 Entrainment, Circannual Rhythms & Melatonin\n00:04:22 Circadian Rhythms, Tools: Exercise; Morning & Evening Light for Circadian Entrainment\n00:09:01 Ultradian Cycles, Focus & Work\n00:12:37 Time Perception, Past, Present & Future\n00:14:53 Dopamine, Norepinephrine & Serotonin, Time Perception\n00:17:11 Dopamine & Serotonin, Daily Fluctuations, Tool: Structuring Work, Sleep\n00:18:52 Trauma, “Over-clocking”, Slowing Time & Emotions\n00:23:30 Event Perception (Fun vs Boring), Time & Memories\n00:26:37 Novel Experiences, Places & People, Retrospective Time \n00:28:38 Habits, Tool: Schedule Functional Units\n00:30:13 Recap & Book Suggestion\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Time Perception, Memory & Focus | Huberman Lab Essentials", "6feedbcb-a66c-4f96-bb45-1e176e566d57", 1855, false, "vXTK0Ac9i1Q", "https://www.youtube.com/watch?v=vXTK0Ac9i1Q", 48, "/downloads/Andrew Huberman/2025-10-09 Time Perception, Memory & Focus | Huberman Lab Essentials/Time Perception, Memory & Focus | Huberman Lab Essentials [vXTK0Ac9i1Q].mp4", false, false, false, 4, [], 1, ~U[2025-10-09 12:01:51Z], ~U[2026-09-16 17:12:33Z], ~U[2026-09-16 17:12:33Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explore how biological rhythms and neurochemicals impact our perception of time.\n\nI describe how the body aligns with daily and seasonal light cycles to regulate hormones that influence energy, mood and motivation throughout the year. I share science-based tools to enhance focus and productivity, including strategies for structuring work intervals and optimizing the timing of exercise and daily light exposure. I also explain how neurotransmitters like dopamine and serotonin influence our perception of time and how factors such as novelty, emotion and routine impact how we experience and recall time.\n\nEpisode show notes: https://go.hubermanlab.com/cns2pS3\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/8IWDAqodDas\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Time Perception\n00:00:48 Entrainment, Circannual Rhythms & Melatonin\n00:04:22 Circadian Rhythms, Tools: Exercise; Morning & Evening Light for Circadian Entrainment\n00:09:01 Ultradian Cycles, Focus & Work\n00:12:37 Time Perception, Past, Present & Future\n00:14:53 Dopamine, Norepinephrine & Serotonin, Time Perception\n00:17:11 Dopamine & Serotonin, Daily Fluctuations, Tool: Structuring Work, Sleep\n00:18:52 Trauma, “Over-clocking”, Slowing Time & Emotions\n00:23:30 Event Perception (Fun vs Boring), Time & Memories\n00:26:37 Novel Experiences, Places & People, Retrospective Time \n00:28:38 Habits, Tool: Schedule Functional Units\n00:30:13 Recap & Book Suggestion\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Time Perception, Memory & Focus | Huberman Lab Essentials", 1855, false, "vXTK0Ac9i1Q", "https://www.youtube.com/watch?v=vXTK0Ac9i1Q", "/downloads/Andrew Huberman/2025-10-09 Time Perception, Memory & Focus | Huberman Lab Essentials/Time Perception, Memory & Focus | Huberman Lab Essentials [vXTK0Ac9i1Q].mp4", false, 4, ~U[2025-10-09 12:01:51Z]] 17:12:33.323 [debug] QUERY OK source="sources" db=0.1ms idle=575.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:33.324 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:12:33.324 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [187] 17:12:33.324 [debug] Current batch of media processed. Will check again in 1000ms 17:12:34.325 [debug] Current batch of media processed. Will check again in 1000ms 17:12:35.327 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Buss, PhD, a professor of psychology at the University of Texas at Austin and a pioneer in the field of evolutionary psychology.\n\nWe explore the science behind human mate selection in both short- and long-term relationships. We discuss universal traits valued in long-term partners along with key differences between women and men in what they prioritize when selecting a mate. We also discuss the darker aspects of mating behavior, such as deception, the evolutionary function of jealousy and the motivations behind stalking.\n\nEpisode show notes: https://go.hubermanlab.com/91Vn4e1\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/HXzTbCEqCJc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. David Buss*\nBooks: https://amzn.to/4pPNWS3\nLab website: https://labs.la.utexas.edu/buss/david-buss\nX: https://x.com/ProfDavidBuss\nLinkedIn: https://www.linkedin.com/in/davidmbuss\n\n*Timestamps*\n00:00:00 David Buss\n00:00:21 Mate Selection, Preferences & Competition\n00:03:26 Desirable Qualities of Men & Women, Universal Traits for Long-Term Mates\n00:04:38 Women’s Preferences; Men’s Preferences; Age Differences\n00:08:58 Mate Deception & Online Dating, Tool: Travel, Stress & Emotional Stability \n00:12:07 Short- vs Long-Term Mates, Men vs Women Preferences\n00:14:23 Jealousy, Mate Value Discrepancy, Vigilance to Violence\n00:17:07 The Dark Triad, Sexual Harassment & Coercion\n00:19:14 Stalking, Motivations & Outcomes\n00:21:53 Childhood Attachment Styles & Relationship Stability\n00:22:58 Self-Assessment for Mate Value, Self-Esteem\n00:26:35 Evolutionary Psychology & Neuroscience\n00:27:20 David Buss’ Books; Acknowledgements \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1861, "filename" => "/downloads/Andrew Huberman/2025-10-02 Essentials: How Humans Select & Keep Romantic Partners in the Short & Long Term | Dr. David Buss/Essentials: How Humans Select & Keep Romantic Partners in the Short & Long Term | Dr. David Buss [VqiPNN4Jblk].mp4", "id" => "VqiPNN4Jblk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VqiPNN4Jblk", "playlist_index" => 49, "timestamp" => 1759406463, "title" => "Essentials: How Humans Select & Keep Romantic Partners in the Short & Long Term | Dr. David Buss", "upload_date" => "20251002"} 17:12:35.327 [debug] QUERY OK source="sources" db=0.3ms idle=893.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:35.328 [debug] QUERY OK source="sources" db=0.1ms idle=580.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:35.329 [debug] QUERY OK source="media_items" db=0.4ms idle=580.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-02 12:01:03Z], 4] 17:12:35.333 [debug] QUERY OK source="media_items" db=2.9ms idle=581.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Buss, PhD, a professor of psychology at the University of Texas at Austin and a pioneer in the field of evolutionary psychology.\n\nWe explore the science behind human mate selection in both short- and long-term relationships. We discuss universal traits valued in long-term partners along with key differences between women and men in what they prioritize when selecting a mate. We also discuss the darker aspects of mating behavior, such as deception, the evolutionary function of jealousy and the motivations behind stalking.\n\nEpisode show notes: https://go.hubermanlab.com/91Vn4e1\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/HXzTbCEqCJc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. David Buss*\nBooks: https://amzn.to/4pPNWS3\nLab website: https://labs.la.utexas.edu/buss/david-buss\nX: https://x.com/ProfDavidBuss\nLinkedIn: https://www.linkedin.com/in/davidmbuss\n\n*Timestamps*\n00:00:00 David Buss\n00:00:21 Mate Selection, Preferences & Competition\n00:03:26 Desirable Qualities of Men & Women, Universal Traits for Long-Term Mates\n00:04:38 Women’s Preferences; Men’s Preferences; Age Differences\n00:08:58 Mate Deception & Online Dating, Tool: Travel, Stress & Emotional Stability \n00:12:07 Short- vs Long-Term Mates, Men vs Women Preferences\n00:14:23 Jealousy, Mate Value Discrepancy, Vigilance to Violence\n00:17:07 The Dark Triad, Sexual Harassment & Coercion\n00:19:14 Stalking, Motivations & Outcomes\n00:21:53 Childhood Attachment Styles & Relationship Stability\n00:22:58 Self-Assessment for Mate Value, Self-Esteem\n00:26:35 Evolutionary Psychology & Neuroscience\n00:27:20 David Buss’ Books; Acknowledgements \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How Humans Select & Keep Romantic Partners in the Short & Long Term | Dr. David Buss", "59c8a483-da77-4b93-a8b3-9744c9074f69", 1861, false, "VqiPNN4Jblk", "https://www.youtube.com/watch?v=VqiPNN4Jblk", 49, "/downloads/Andrew Huberman/2025-10-02 Essentials: How Humans Select & Keep Romantic Partners in the Short & Long Term | Dr. David Buss/Essentials: How Humans Select & Keep Romantic Partners in the Short & Long Term | Dr. David Buss [VqiPNN4Jblk].mp4", false, false, false, 4, [], 1, ~U[2025-10-02 12:01:03Z], ~U[2026-09-16 17:12:35Z], ~U[2026-09-16 17:12:35Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Buss, PhD, a professor of psychology at the University of Texas at Austin and a pioneer in the field of evolutionary psychology.\n\nWe explore the science behind human mate selection in both short- and long-term relationships. We discuss universal traits valued in long-term partners along with key differences between women and men in what they prioritize when selecting a mate. We also discuss the darker aspects of mating behavior, such as deception, the evolutionary function of jealousy and the motivations behind stalking.\n\nEpisode show notes: https://go.hubermanlab.com/91Vn4e1\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/HXzTbCEqCJc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. David Buss*\nBooks: https://amzn.to/4pPNWS3\nLab website: https://labs.la.utexas.edu/buss/david-buss\nX: https://x.com/ProfDavidBuss\nLinkedIn: https://www.linkedin.com/in/davidmbuss\n\n*Timestamps*\n00:00:00 David Buss\n00:00:21 Mate Selection, Preferences & Competition\n00:03:26 Desirable Qualities of Men & Women, Universal Traits for Long-Term Mates\n00:04:38 Women’s Preferences; Men’s Preferences; Age Differences\n00:08:58 Mate Deception & Online Dating, Tool: Travel, Stress & Emotional Stability \n00:12:07 Short- vs Long-Term Mates, Men vs Women Preferences\n00:14:23 Jealousy, Mate Value Discrepancy, Vigilance to Violence\n00:17:07 The Dark Triad, Sexual Harassment & Coercion\n00:19:14 Stalking, Motivations & Outcomes\n00:21:53 Childhood Attachment Styles & Relationship Stability\n00:22:58 Self-Assessment for Mate Value, Self-Esteem\n00:26:35 Evolutionary Psychology & Neuroscience\n00:27:20 David Buss’ Books; Acknowledgements \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How Humans Select & Keep Romantic Partners in the Short & Long Term | Dr. David Buss", 1861, false, "VqiPNN4Jblk", "https://www.youtube.com/watch?v=VqiPNN4Jblk", "/downloads/Andrew Huberman/2025-10-02 Essentials: How Humans Select & Keep Romantic Partners in the Short & Long Term | Dr. David Buss/Essentials: How Humans Select & Keep Romantic Partners in the Short & Long Term | Dr. David Buss [VqiPNN4Jblk].mp4", false, 4, ~U[2025-10-02 12:01:03Z]] 17:12:35.333 [debug] QUERY OK source="sources" db=0.2ms idle=585.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:35.334 [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] 17:12:35.334 [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 [188] 17:12:35.334 [debug] Current batch of media processed. Will check again in 1000ms 17:12:36.335 [debug] Current batch of media processed. Will check again in 1000ms 17:12:37.336 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how the immune system defends against infection and describe the relationship between the immune and nervous systems.\n\nI discuss the immune system's three primary layers of defense, emphasizing how each contributes to protection from infection. I share practical tools to enhance immune function and accelerate recovery from sickness, including specific breathing patterns, sleep positioning and targeted supplementation. I also explore the powerful mind-body connection, showing how mindset and nervous system activation can directly influence the body's ability to heal.\n\nEpisode show notes: https://go.hubermanlab.com/rzAunNW\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/poOf8b2WE2g\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Immune System & Nervous System\n00:00:33 Immune System 101, Innate & Adaptive Immune Systems\n00:08:03 Mucus & Microbiome, Tools: Nasal Breathing; Avoid Eyes; Ingest Fermented Foods\n00:10:57 Sickness Behavior & Vagus Nerve, Fever, Photophobia, Rest\n00:15:35 Humoral Factors, Inflammatory Cytokines\n00:17:05 Sleep & Enhancing Immune System, Glymphatic System, Tool: Elevate Feet\n00:20:04 Stress & Inflammation, Tool: Early Symptoms & Cyclic Hyperventilation\n00:28:29 Positive Mindset & Immune Function, Dopamine\n00:31:22 Electroacupuncture, Fascia, Catecholamines & Inflammation \n00:33:42 Accelerating Recovery, Medication, Tool: Spirulina & Rhinitis\n00:35:53 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2182, "filename" => "/downloads/Andrew Huberman/2025-09-25 Using Your Nervous System to Enhance Your Immune System | Huberman Lab Essentials/Using Your Nervous System to Enhance Your Immune System | Huberman Lab Essentials [pN1UL1M9sqc].mp4", "id" => "pN1UL1M9sqc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pN1UL1M9sqc", "playlist_index" => 50, "timestamp" => 1758801699, "title" => "Using Your Nervous System to Enhance Your Immune System | Huberman Lab Essentials", "upload_date" => "20250925"} 17:12:37.336 [debug] QUERY OK source="sources" db=0.2ms idle=899.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:37.337 [debug] QUERY OK source="sources" db=0.1ms idle=589.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:37.338 [debug] QUERY OK source="media_items" db=0.4ms idle=589.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-25 12:01:39Z], 4] 17:12:37.342 [debug] QUERY OK source="media_items" db=3.4ms idle=590.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how the immune system defends against infection and describe the relationship between the immune and nervous systems.\n\nI discuss the immune system's three primary layers of defense, emphasizing how each contributes to protection from infection. I share practical tools to enhance immune function and accelerate recovery from sickness, including specific breathing patterns, sleep positioning and targeted supplementation. I also explore the powerful mind-body connection, showing how mindset and nervous system activation can directly influence the body's ability to heal.\n\nEpisode show notes: https://go.hubermanlab.com/rzAunNW\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/poOf8b2WE2g\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Immune System & Nervous System\n00:00:33 Immune System 101, Innate & Adaptive Immune Systems\n00:08:03 Mucus & Microbiome, Tools: Nasal Breathing; Avoid Eyes; Ingest Fermented Foods\n00:10:57 Sickness Behavior & Vagus Nerve, Fever, Photophobia, Rest\n00:15:35 Humoral Factors, Inflammatory Cytokines\n00:17:05 Sleep & Enhancing Immune System, Glymphatic System, Tool: Elevate Feet\n00:20:04 Stress & Inflammation, Tool: Early Symptoms & Cyclic Hyperventilation\n00:28:29 Positive Mindset & Immune Function, Dopamine\n00:31:22 Electroacupuncture, Fascia, Catecholamines & Inflammation \n00:33:42 Accelerating Recovery, Medication, Tool: Spirulina & Rhinitis\n00:35:53 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Your Nervous System to Enhance Your Immune System | Huberman Lab Essentials", "93ddf1a4-0a9a-4f62-bb30-893c532453cd", 2182, false, "pN1UL1M9sqc", "https://www.youtube.com/watch?v=pN1UL1M9sqc", 50, "/downloads/Andrew Huberman/2025-09-25 Using Your Nervous System to Enhance Your Immune System | Huberman Lab Essentials/Using Your Nervous System to Enhance Your Immune System | Huberman Lab Essentials [pN1UL1M9sqc].mp4", false, false, false, 4, [], 1, ~U[2025-09-25 12:01:39Z], ~U[2026-09-16 17:12:37Z], ~U[2026-09-16 17:12:37Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how the immune system defends against infection and describe the relationship between the immune and nervous systems.\n\nI discuss the immune system's three primary layers of defense, emphasizing how each contributes to protection from infection. I share practical tools to enhance immune function and accelerate recovery from sickness, including specific breathing patterns, sleep positioning and targeted supplementation. I also explore the powerful mind-body connection, showing how mindset and nervous system activation can directly influence the body's ability to heal.\n\nEpisode show notes: https://go.hubermanlab.com/rzAunNW\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/poOf8b2WE2g\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Immune System & Nervous System\n00:00:33 Immune System 101, Innate & Adaptive Immune Systems\n00:08:03 Mucus & Microbiome, Tools: Nasal Breathing; Avoid Eyes; Ingest Fermented Foods\n00:10:57 Sickness Behavior & Vagus Nerve, Fever, Photophobia, Rest\n00:15:35 Humoral Factors, Inflammatory Cytokines\n00:17:05 Sleep & Enhancing Immune System, Glymphatic System, Tool: Elevate Feet\n00:20:04 Stress & Inflammation, Tool: Early Symptoms & Cyclic Hyperventilation\n00:28:29 Positive Mindset & Immune Function, Dopamine\n00:31:22 Electroacupuncture, Fascia, Catecholamines & Inflammation \n00:33:42 Accelerating Recovery, Medication, Tool: Spirulina & Rhinitis\n00:35:53 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Your Nervous System to Enhance Your Immune System | Huberman Lab Essentials", 2182, false, "pN1UL1M9sqc", "https://www.youtube.com/watch?v=pN1UL1M9sqc", "/downloads/Andrew Huberman/2025-09-25 Using Your Nervous System to Enhance Your Immune System | Huberman Lab Essentials/Using Your Nervous System to Enhance Your Immune System | Huberman Lab Essentials [pN1UL1M9sqc].mp4", false, 4, ~U[2025-09-25 12:01:39Z]] 17:12:37.342 [debug] QUERY OK source="sources" db=0.2ms idle=594.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:37.343 [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] 17:12:37.343 [debug] QUERY OK source="media_items" db=0.2ms idle=6.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [189] 17:12:37.343 [debug] Current batch of media processed. Will check again in 1000ms 17:12:38.345 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is Dr. Duncan French, PhD, the vice president of performance at the UFC Performance Institute and a world-class performance specialist.\n\nWe explain how resistance training and acute stress impact hormones and outline specific weight training protocols to increase testosterone to support strength and hypertrophy. We also discuss how to use cold and heat exposure to enhance recovery and performance. Finally, we explain how to match nutrition to training goals and improve metabolic flexibility.\n\nEpisode show notes: https://go.hubermanlab.com/VLuwKLs\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/iMvtHqLmEkI\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Duncan French\n00:00:20 Resistance Training & Hormones, Testosterone, Men vs Women\n00:04:32 Increase Testosterone & Resistance Intensity, Tool: 6 x 10 Protocol\n00:07:53 Rest Periods & Metabolic Stimulus\n00:09:26 Weekly Training Sessions, Varied Intensity & Volume, Recovery\n00:10:53 Short-Term Stress, Testosterone & Performance, Mindset\n00:13:24 Deliberate Cold Exposure, Mindset & Recovery\n00:15:33 Tool: Cold Periodization, Recovery & Goals\n00:20:31 Sport, Skill Training & Quality Movement, Fatigue; Mental Fatigue\n00:22:57 High-Intensity Training & Carbohydrates; Exogenous Ketones; Ketogenic Diet\n00:26:10 Metabolic Efficiency, Carbohydrates & Fat Stores, Tool: Nutrition Periodization\n00:29:23 Heat Adaptation, Sauna, Sweating\n00:32:22 Training, Nutrition & Adaptations, Tool: 12 Week Program\n00:34:15 Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2097, "filename" => "/downloads/Andrew Huberman/2025-09-18 Essentials: How to Exercise for Strength Gains & Hormone Optimization | Dr. Duncan French/Essentials: How to Exercise for Strength Gains & Hormone Optimization | Dr. Duncan French [dy_iLCJggO0].mp4", "id" => "dy_iLCJggO0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dy_iLCJggO0", "playlist_index" => 51, "timestamp" => 1758196878, "title" => "Essentials: How to Exercise for Strength Gains & Hormone Optimization | Dr. Duncan French", "upload_date" => "20250918"} 17:12:38.346 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:38.346 [debug] QUERY OK source="sources" db=0.1ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:38.347 [debug] QUERY OK source="media_items" db=0.5ms idle=1003.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-18 12:01:18Z], 4] 17:12:38.349 [debug] QUERY OK source="media_items" db=1.6ms idle=1003.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is Dr. Duncan French, PhD, the vice president of performance at the UFC Performance Institute and a world-class performance specialist.\n\nWe explain how resistance training and acute stress impact hormones and outline specific weight training protocols to increase testosterone to support strength and hypertrophy. We also discuss how to use cold and heat exposure to enhance recovery and performance. Finally, we explain how to match nutrition to training goals and improve metabolic flexibility.\n\nEpisode show notes: https://go.hubermanlab.com/VLuwKLs\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/iMvtHqLmEkI\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Duncan French\n00:00:20 Resistance Training & Hormones, Testosterone, Men vs Women\n00:04:32 Increase Testosterone & Resistance Intensity, Tool: 6 x 10 Protocol\n00:07:53 Rest Periods & Metabolic Stimulus\n00:09:26 Weekly Training Sessions, Varied Intensity & Volume, Recovery\n00:10:53 Short-Term Stress, Testosterone & Performance, Mindset\n00:13:24 Deliberate Cold Exposure, Mindset & Recovery\n00:15:33 Tool: Cold Periodization, Recovery & Goals\n00:20:31 Sport, Skill Training & Quality Movement, Fatigue; Mental Fatigue\n00:22:57 High-Intensity Training & Carbohydrates; Exogenous Ketones; Ketogenic Diet\n00:26:10 Metabolic Efficiency, Carbohydrates & Fat Stores, Tool: Nutrition Periodization\n00:29:23 Heat Adaptation, Sauna, Sweating\n00:32:22 Training, Nutrition & Adaptations, Tool: 12 Week Program\n00:34:15 Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Exercise for Strength Gains & Hormone Optimization | Dr. Duncan French", "e57ed2cf-d51f-4395-9adf-c14bb8bda7c9", 2097, false, "dy_iLCJggO0", "https://www.youtube.com/watch?v=dy_iLCJggO0", 51, "/downloads/Andrew Huberman/2025-09-18 Essentials: How to Exercise for Strength Gains & Hormone Optimization | Dr. Duncan French/Essentials: How to Exercise for Strength Gains & Hormone Optimization | Dr. Duncan French [dy_iLCJggO0].mp4", false, false, false, 4, [], 1, ~U[2025-09-18 12:01:18Z], ~U[2026-09-16 17:12:38Z], ~U[2026-09-16 17:12:38Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is Dr. Duncan French, PhD, the vice president of performance at the UFC Performance Institute and a world-class performance specialist.\n\nWe explain how resistance training and acute stress impact hormones and outline specific weight training protocols to increase testosterone to support strength and hypertrophy. We also discuss how to use cold and heat exposure to enhance recovery and performance. Finally, we explain how to match nutrition to training goals and improve metabolic flexibility.\n\nEpisode show notes: https://go.hubermanlab.com/VLuwKLs\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/iMvtHqLmEkI\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Duncan French\n00:00:20 Resistance Training & Hormones, Testosterone, Men vs Women\n00:04:32 Increase Testosterone & Resistance Intensity, Tool: 6 x 10 Protocol\n00:07:53 Rest Periods & Metabolic Stimulus\n00:09:26 Weekly Training Sessions, Varied Intensity & Volume, Recovery\n00:10:53 Short-Term Stress, Testosterone & Performance, Mindset\n00:13:24 Deliberate Cold Exposure, Mindset & Recovery\n00:15:33 Tool: Cold Periodization, Recovery & Goals\n00:20:31 Sport, Skill Training & Quality Movement, Fatigue; Mental Fatigue\n00:22:57 High-Intensity Training & Carbohydrates; Exogenous Ketones; Ketogenic Diet\n00:26:10 Metabolic Efficiency, Carbohydrates & Fat Stores, Tool: Nutrition Periodization\n00:29:23 Heat Adaptation, Sauna, Sweating\n00:32:22 Training, Nutrition & Adaptations, Tool: 12 Week Program\n00:34:15 Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Exercise for Strength Gains & Hormone Optimization | Dr. Duncan French", 2097, false, "dy_iLCJggO0", "https://www.youtube.com/watch?v=dy_iLCJggO0", "/downloads/Andrew Huberman/2025-09-18 Essentials: How to Exercise for Strength Gains & Hormone Optimization | Dr. Duncan French/Essentials: How to Exercise for Strength Gains & Hormone Optimization | Dr. Duncan French [dy_iLCJggO0].mp4", false, 4, ~U[2025-09-18 12:01:18Z]] 17:12:38.350 [debug] QUERY OK source="sources" db=0.1ms idle=912.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:38.350 [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] 17:12:38.351 [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 [190] 17:12:38.351 [debug] Current batch of media processed. Will check again in 1000ms 17:12:39.352 [debug] Current batch of media processed. Will check again in 1000ms 17:12:40.353 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I discuss science-supported nutrients that directly support brain structure, function and long-term cognitive health.\n\nI highlight specific nutrients, including omega-3 fatty acids, creatine, phosphatidylserine, anthocyanins, choline and glutamine, and discuss their recommended doses and dietary sources. I also describe how taste perception, gut-brain signaling and learned associations shape what foods we prefer and crave. Finally, I share practical behavioral tools to help rewire your food preferences toward healthier choices.\n\nEpisode show notes: https://go.hubermanlab.com/Nyby76Z\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/E7W4OQfJWdw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Food & Brain Health \n00:01:32 Structural Fat & Neurons, Tools: Omega-3s, EPA; Phosphatidylserine\n00:05:11 Acetylcholine & Focus, Tool: Dietary Choline\n00:06:48 Creatine & Brain Health, Tool: Creatine Supplementation\n00:08:26 Anthocyanins & Brain Function, Tool: Blueberries & Berries\n00:09:37 Glutamine & Brain, Tool: Glutamine & Offset Sugar Cravings\n00:11:33 Brain-Boosting Nutrients, Foods & Supplements\n00:13:48 Food Preference; Yum, Yuck or Meh; Mouth, Taste & Palatability \n00:18:15 Gut, Nutrients & Subconscious Signaling\n00:20:41 Learned Food Preferences, Tool: Unpair Artificial Sweeteners\n00:26:34 Belief Effects, Satiety, Tool: Rewiring Food Preferences\n00:31:53 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1954, "filename" => "/downloads/Andrew Huberman/2025-09-11 Food & Supplements for Brain Health & Cognitive Performance | Huberman Lab Essentials/Food & Supplements for Brain Health & Cognitive Performance | Huberman Lab Essentials [cIla9axQRyM].mp4", "id" => "cIla9axQRyM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cIla9axQRyM", "playlist_index" => 52, "timestamp" => 1757592079, "title" => "Food & Supplements for Brain Health & Cognitive Performance | Huberman Lab Essentials", "upload_date" => "20250911"} 17:12:40.354 [debug] QUERY OK source="sources" db=0.3ms idle=912.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:40.354 [debug] QUERY OK source="sources" db=0.1ms idle=606.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:40.355 [debug] QUERY OK source="media_items" db=0.4ms idle=606.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-11 12:01:19Z], 4] 17:12:40.357 [debug] QUERY OK source="media_items" db=1.6ms idle=607.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I discuss science-supported nutrients that directly support brain structure, function and long-term cognitive health.\n\nI highlight specific nutrients, including omega-3 fatty acids, creatine, phosphatidylserine, anthocyanins, choline and glutamine, and discuss their recommended doses and dietary sources. I also describe how taste perception, gut-brain signaling and learned associations shape what foods we prefer and crave. Finally, I share practical behavioral tools to help rewire your food preferences toward healthier choices.\n\nEpisode show notes: https://go.hubermanlab.com/Nyby76Z\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/E7W4OQfJWdw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Food & Brain Health \n00:01:32 Structural Fat & Neurons, Tools: Omega-3s, EPA; Phosphatidylserine\n00:05:11 Acetylcholine & Focus, Tool: Dietary Choline\n00:06:48 Creatine & Brain Health, Tool: Creatine Supplementation\n00:08:26 Anthocyanins & Brain Function, Tool: Blueberries & Berries\n00:09:37 Glutamine & Brain, Tool: Glutamine & Offset Sugar Cravings\n00:11:33 Brain-Boosting Nutrients, Foods & Supplements\n00:13:48 Food Preference; Yum, Yuck or Meh; Mouth, Taste & Palatability \n00:18:15 Gut, Nutrients & Subconscious Signaling\n00:20:41 Learned Food Preferences, Tool: Unpair Artificial Sweeteners\n00:26:34 Belief Effects, Satiety, Tool: Rewiring Food Preferences\n00:31:53 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Food & Supplements for Brain Health & Cognitive Performance | Huberman Lab Essentials", "0ccc67fc-f4c3-4954-8676-f92b11ace9eb", 1954, false, "cIla9axQRyM", "https://www.youtube.com/watch?v=cIla9axQRyM", 52, "/downloads/Andrew Huberman/2025-09-11 Food & Supplements for Brain Health & Cognitive Performance | Huberman Lab Essentials/Food & Supplements for Brain Health & Cognitive Performance | Huberman Lab Essentials [cIla9axQRyM].mp4", false, false, false, 4, [], 1, ~U[2025-09-11 12:01:19Z], ~U[2026-09-16 17:12:40Z], ~U[2026-09-16 17:12:40Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I discuss science-supported nutrients that directly support brain structure, function and long-term cognitive health.\n\nI highlight specific nutrients, including omega-3 fatty acids, creatine, phosphatidylserine, anthocyanins, choline and glutamine, and discuss their recommended doses and dietary sources. I also describe how taste perception, gut-brain signaling and learned associations shape what foods we prefer and crave. Finally, I share practical behavioral tools to help rewire your food preferences toward healthier choices.\n\nEpisode show notes: https://go.hubermanlab.com/Nyby76Z\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/E7W4OQfJWdw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Food & Brain Health \n00:01:32 Structural Fat & Neurons, Tools: Omega-3s, EPA; Phosphatidylserine\n00:05:11 Acetylcholine & Focus, Tool: Dietary Choline\n00:06:48 Creatine & Brain Health, Tool: Creatine Supplementation\n00:08:26 Anthocyanins & Brain Function, Tool: Blueberries & Berries\n00:09:37 Glutamine & Brain, Tool: Glutamine & Offset Sugar Cravings\n00:11:33 Brain-Boosting Nutrients, Foods & Supplements\n00:13:48 Food Preference; Yum, Yuck or Meh; Mouth, Taste & Palatability \n00:18:15 Gut, Nutrients & Subconscious Signaling\n00:20:41 Learned Food Preferences, Tool: Unpair Artificial Sweeteners\n00:26:34 Belief Effects, Satiety, Tool: Rewiring Food Preferences\n00:31:53 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Food & Supplements for Brain Health & Cognitive Performance | Huberman Lab Essentials", 1954, false, "cIla9axQRyM", "https://www.youtube.com/watch?v=cIla9axQRyM", "/downloads/Andrew Huberman/2025-09-11 Food & Supplements for Brain Health & Cognitive Performance | Huberman Lab Essentials/Food & Supplements for Brain Health & Cognitive Performance | Huberman Lab Essentials [cIla9axQRyM].mp4", false, 4, ~U[2025-09-11 12:01:19Z]] 17:12:40.358 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:40.358 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:12:40.359 [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 [191] 17:12:40.359 [debug] Current batch of media processed. Will check again in 1000ms 17:12:41.360 [debug] Current batch of media processed. Will check again in 1000ms 17:12:42.361 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Alia Crum, PhD, professor of psychology at Stanford University and the director of the Stanford Mind & Body Lab.\n\nDr. Crum explains that our mindsets—for example, what we believe about stress, exercise and the food we eat—shape how we feel, behave and even how our bodies respond. We discuss studies showing simply believing a food is indulgent can shift satiety hormones and that viewing your daily activity as real exercise can improve weight loss and health markers. We also discuss how to reframe stress so it becomes a tool for growth and improved performance.\n\nEpisode show notes: https://go.hubermanlab.com/rTtaOnp\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/dFR_wFN23ZY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Alia Crum\n00:00:20 Mindset, Core Beliefs; Examples of Mindset\n00:04:56 Mindset Shapes Body’s Response, Placebo Effects, Tool: Mindset for Weight Loss\n00:10:18 Different Diets & Mindset\n00:11:51 Nocebo Effect\n00:12:45 Exercise Mindsets, Weight Loss & Health Benefits\n00:15:31 Stress, Tool: Stress is Enhancing Mindset, Mental & Physical Benefits\n00:22:43 Mindset, Stress, Motivation & Physiology; Hormones\n00:26:09 Mindsets as Portals to Unconscious, Tool: Stress Mindset Awareness\n00:27:43 Leverage Stress, Tool: Adopt a Stress is Enhancing Mindset\n00:30:47 Mindsets Matter, Athletics\n00:32:35 Resources, Toolkits & Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2052, "filename" => "/downloads/Andrew Huberman/2025-09-04 Essentials: Science of Mindsets for Health & Performance | Dr. Alia Crum/Essentials: Science of Mindsets for Health & Performance | Dr. Alia Crum [alVWRl_X_AA].mp4", "id" => "alVWRl_X_AA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=alVWRl_X_AA", "playlist_index" => 53, "timestamp" => 1756987206, "title" => "Essentials: Science of Mindsets for Health & Performance | Dr. Alia Crum", "upload_date" => "20250904"} 17:12:42.361 [debug] QUERY OK source="sources" db=0.3ms idle=918.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:42.362 [debug] QUERY OK source="sources" db=0.2ms idle=614.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:42.363 [debug] QUERY OK source="media_items" db=0.6ms idle=614.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-04 12:00:06Z], 4] 17:12:42.365 [debug] QUERY OK source="media_items" db=1.7ms idle=615.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Alia Crum, PhD, professor of psychology at Stanford University and the director of the Stanford Mind & Body Lab.\n\nDr. Crum explains that our mindsets—for example, what we believe about stress, exercise and the food we eat—shape how we feel, behave and even how our bodies respond. We discuss studies showing simply believing a food is indulgent can shift satiety hormones and that viewing your daily activity as real exercise can improve weight loss and health markers. We also discuss how to reframe stress so it becomes a tool for growth and improved performance.\n\nEpisode show notes: https://go.hubermanlab.com/rTtaOnp\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/dFR_wFN23ZY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Alia Crum\n00:00:20 Mindset, Core Beliefs; Examples of Mindset\n00:04:56 Mindset Shapes Body’s Response, Placebo Effects, Tool: Mindset for Weight Loss\n00:10:18 Different Diets & Mindset\n00:11:51 Nocebo Effect\n00:12:45 Exercise Mindsets, Weight Loss & Health Benefits\n00:15:31 Stress, Tool: Stress is Enhancing Mindset, Mental & Physical Benefits\n00:22:43 Mindset, Stress, Motivation & Physiology; Hormones\n00:26:09 Mindsets as Portals to Unconscious, Tool: Stress Mindset Awareness\n00:27:43 Leverage Stress, Tool: Adopt a Stress is Enhancing Mindset\n00:30:47 Mindsets Matter, Athletics\n00:32:35 Resources, Toolkits & Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Science of Mindsets for Health & Performance | Dr. Alia Crum", "13d02f1f-8e7f-4d1a-be13-41353e86f804", 2052, false, "alVWRl_X_AA", "https://www.youtube.com/watch?v=alVWRl_X_AA", 53, "/downloads/Andrew Huberman/2025-09-04 Essentials: Science of Mindsets for Health & Performance | Dr. Alia Crum/Essentials: Science of Mindsets for Health & Performance | Dr. Alia Crum [alVWRl_X_AA].mp4", false, false, false, 4, [], 1, ~U[2025-09-04 12:00:06Z], ~U[2026-09-16 17:12:42Z], ~U[2026-09-16 17:12:42Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Alia Crum, PhD, professor of psychology at Stanford University and the director of the Stanford Mind & Body Lab.\n\nDr. Crum explains that our mindsets—for example, what we believe about stress, exercise and the food we eat—shape how we feel, behave and even how our bodies respond. We discuss studies showing simply believing a food is indulgent can shift satiety hormones and that viewing your daily activity as real exercise can improve weight loss and health markers. We also discuss how to reframe stress so it becomes a tool for growth and improved performance.\n\nEpisode show notes: https://go.hubermanlab.com/rTtaOnp\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/dFR_wFN23ZY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Alia Crum\n00:00:20 Mindset, Core Beliefs; Examples of Mindset\n00:04:56 Mindset Shapes Body’s Response, Placebo Effects, Tool: Mindset for Weight Loss\n00:10:18 Different Diets & Mindset\n00:11:51 Nocebo Effect\n00:12:45 Exercise Mindsets, Weight Loss & Health Benefits\n00:15:31 Stress, Tool: Stress is Enhancing Mindset, Mental & Physical Benefits\n00:22:43 Mindset, Stress, Motivation & Physiology; Hormones\n00:26:09 Mindsets as Portals to Unconscious, Tool: Stress Mindset Awareness\n00:27:43 Leverage Stress, Tool: Adopt a Stress is Enhancing Mindset\n00:30:47 Mindsets Matter, Athletics\n00:32:35 Resources, Toolkits & Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Science of Mindsets for Health & Performance | Dr. Alia Crum", 2052, false, "alVWRl_X_AA", "https://www.youtube.com/watch?v=alVWRl_X_AA", "/downloads/Andrew Huberman/2025-09-04 Essentials: Science of Mindsets for Health & Performance | Dr. Alia Crum/Essentials: Science of Mindsets for Health & Performance | Dr. Alia Crum [alVWRl_X_AA].mp4", false, 4, ~U[2025-09-04 12:00:06Z]] 17:12:42.366 [debug] QUERY OK source="sources" db=0.2ms idle=618.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:42.367 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.4ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:12:42.368 [debug] QUERY OK source="media_items" db=0.4ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [192] 17:12:42.368 [debug] Current batch of media processed. Will check again in 1000ms 17:12:43.369 [debug] Current batch of media processed. Will check again in 1000ms 17:12:44.370 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore intermittent fasting and time-restricted eating, highlighting the positive benefits for weight loss, metabolism, organ health, circadian rhythms and cellular repair.\n\nI explain a practical framework for designing a time-restricted eating window that aligns with your lifestyle, exercise schedule and social schedule. I also cover what breaks a fast, how to support fasting with tools like salt intake and post-meal walks, and the use of fasting-related supplements, including berberine and metformin.\n\nEpisode show notes: https://go.hubermanlab.com/CcvKrMh\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/9tRohh0gErM \n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Intermittent Fasting, Time-Restricted Eating (TRE)\n00:00:50 Diet, Weight Loss, Calories & Hormones\n00:05:52 Body’s Response to Eating vs Fasting, Fasting Duration\n00:09:04 Time-Restricted Feeding & Metabolic Benefits, Circadian Gene Rhythm\n00:14:32 Optimal Meal Timing, Tool: Extend Sleep-Related Fasts\n00:19:42 Eating Window Length, Tools: Adjusting TRE for Building Muscle, Regularity\n00:22:34 Accelerate Transition to Fasting, Glucose Clearing, Tool: After-Meal Walk\n00:24:16 Metformin, Berberine, Continuous Glucose Monitors; Cell Growth vs Repair, mTOR\n00:27:25 Gut Microbiome; Transitioning to Intermittent Fasting & Individualization\n00:29:43 Tool: 8-Hour Feeding Window & Weight Loss\n00:31:05 What Breaks a Fast?, Sugar; Tool: Using Salt to Support Fasting\n00:34:08 Tool: Ideal Feeding Window Guidelines; Exercise & Social Considerations\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2302, "filename" => "/downloads/Andrew Huberman/2025-08-28 Effects of Fasting & Time Restricted Eating on Fat Loss & Health | Huberman Lab Essentials/Effects of Fasting & Time Restricted Eating on Fat Loss & Health | Huberman Lab Essentials [D61jJJPIQeo].mp4", "id" => "D61jJJPIQeo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=D61jJJPIQeo", "playlist_index" => 54, "timestamp" => 1756382422, "title" => "Effects of Fasting & Time Restricted Eating on Fat Loss & Health | Huberman Lab Essentials", "upload_date" => "20250828"} 17:12:44.370 [debug] QUERY OK source="sources" db=0.2ms idle=925.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:44.371 [debug] QUERY OK source="sources" db=0.1ms idle=623.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:44.371 [debug] QUERY OK source="media_items" db=0.4ms idle=623.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-28 12:00:22Z], 4] 17:12:44.382 [debug] QUERY OK source="media_items" db=9.8ms idle=624.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore intermittent fasting and time-restricted eating, highlighting the positive benefits for weight loss, metabolism, organ health, circadian rhythms and cellular repair.\n\nI explain a practical framework for designing a time-restricted eating window that aligns with your lifestyle, exercise schedule and social schedule. I also cover what breaks a fast, how to support fasting with tools like salt intake and post-meal walks, and the use of fasting-related supplements, including berberine and metformin.\n\nEpisode show notes: https://go.hubermanlab.com/CcvKrMh\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/9tRohh0gErM \n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Intermittent Fasting, Time-Restricted Eating (TRE)\n00:00:50 Diet, Weight Loss, Calories & Hormones\n00:05:52 Body’s Response to Eating vs Fasting, Fasting Duration\n00:09:04 Time-Restricted Feeding & Metabolic Benefits, Circadian Gene Rhythm\n00:14:32 Optimal Meal Timing, Tool: Extend Sleep-Related Fasts\n00:19:42 Eating Window Length, Tools: Adjusting TRE for Building Muscle, Regularity\n00:22:34 Accelerate Transition to Fasting, Glucose Clearing, Tool: After-Meal Walk\n00:24:16 Metformin, Berberine, Continuous Glucose Monitors; Cell Growth vs Repair, mTOR\n00:27:25 Gut Microbiome; Transitioning to Intermittent Fasting & Individualization\n00:29:43 Tool: 8-Hour Feeding Window & Weight Loss\n00:31:05 What Breaks a Fast?, Sugar; Tool: Using Salt to Support Fasting\n00:34:08 Tool: Ideal Feeding Window Guidelines; Exercise & Social Considerations\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Effects of Fasting & Time Restricted Eating on Fat Loss & Health | Huberman Lab Essentials", "d6e9d175-7f9d-47b4-aede-e9ba07764ff5", 2302, false, "D61jJJPIQeo", "https://www.youtube.com/watch?v=D61jJJPIQeo", 54, "/downloads/Andrew Huberman/2025-08-28 Effects of Fasting & Time Restricted Eating on Fat Loss & Health | Huberman Lab Essentials/Effects of Fasting & Time Restricted Eating on Fat Loss & Health | Huberman Lab Essentials [D61jJJPIQeo].mp4", false, false, false, 4, [], 1, ~U[2025-08-28 12:00:22Z], ~U[2026-09-16 17:12:44Z], ~U[2026-09-16 17:12:44Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore intermittent fasting and time-restricted eating, highlighting the positive benefits for weight loss, metabolism, organ health, circadian rhythms and cellular repair.\n\nI explain a practical framework for designing a time-restricted eating window that aligns with your lifestyle, exercise schedule and social schedule. I also cover what breaks a fast, how to support fasting with tools like salt intake and post-meal walks, and the use of fasting-related supplements, including berberine and metformin.\n\nEpisode show notes: https://go.hubermanlab.com/CcvKrMh\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/9tRohh0gErM \n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Intermittent Fasting, Time-Restricted Eating (TRE)\n00:00:50 Diet, Weight Loss, Calories & Hormones\n00:05:52 Body’s Response to Eating vs Fasting, Fasting Duration\n00:09:04 Time-Restricted Feeding & Metabolic Benefits, Circadian Gene Rhythm\n00:14:32 Optimal Meal Timing, Tool: Extend Sleep-Related Fasts\n00:19:42 Eating Window Length, Tools: Adjusting TRE for Building Muscle, Regularity\n00:22:34 Accelerate Transition to Fasting, Glucose Clearing, Tool: After-Meal Walk\n00:24:16 Metformin, Berberine, Continuous Glucose Monitors; Cell Growth vs Repair, mTOR\n00:27:25 Gut Microbiome; Transitioning to Intermittent Fasting & Individualization\n00:29:43 Tool: 8-Hour Feeding Window & Weight Loss\n00:31:05 What Breaks a Fast?, Sugar; Tool: Using Salt to Support Fasting\n00:34:08 Tool: Ideal Feeding Window Guidelines; Exercise & Social Considerations\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Effects of Fasting & Time Restricted Eating on Fat Loss & Health | Huberman Lab Essentials", 2302, false, "D61jJJPIQeo", "https://www.youtube.com/watch?v=D61jJJPIQeo", "/downloads/Andrew Huberman/2025-08-28 Effects of Fasting & Time Restricted Eating on Fat Loss & Health | Huberman Lab Essentials/Effects of Fasting & Time Restricted Eating on Fat Loss & Health | Huberman Lab Essentials [D61jJJPIQeo].mp4", false, 4, ~U[2025-08-28 12:00:22Z]] 17:12:44.383 [debug] QUERY OK source="sources" db=0.2ms idle=634.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:44.383 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 17:12:44.384 [debug] QUERY OK source="media_items" db=0.2ms 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 [193] 17:12:44.384 [debug] Current batch of media processed. Will check again in 1000ms 17:12:45.385 [debug] Current batch of media processed. Will check again in 1000ms 17:12:46.386 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Samer Hattar, PhD, the Chief of the Section on Light and Circadian Rhythms at the National Institute of Mental Health.\n\nWe discuss how light powerfully shapes mood, sleep, appetite, learning and overall mental health by aligning—or misaligning—our internal circadian clock. We explain practical protocols to support your circadian rhythm, including morning sunlight exposure, dim evening lighting and regular mealtimes. We also discuss strategies to manage jet lag, limit evening screen use, ease seasonal depression and improve focus by syncing light, sleep and food with natural biological rhythms.\n\nEpisode show notes: https://go.hubermanlab.com/dKJ2cZQ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/oUu3f0ETMJQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Samer Hattar*\nX: https://x.com/samerhattar \nInstagram: https://www.instagram.com/samerhattar\n\n*Timestamps*\n00:00:00 Samer Hattar\n00:00:27 Light, Circadian Clock vs Solar Day, Sleep-Wake Cycle\n00:03:20 Eyes, Photoreceptors & Light Entrainment, Blindness, Sleep\n00:06:13 Morning Light, Artificial Lights, Tool: Morning Sunlight Exposure\n00:08:28 Jet Lag Without Traveling, Sleep Issues, Screens, Staying Indoors\n00:09:18 Chronotypes, Intrinsic Circadian Rhythms\n00:11:10 Afternoon & Evening Light, Tools: Dimming Lights, Reduce Screen Use\n00:13:00 Light Exposure & Effects on Stress, Mood & Learning, Tripartite Model\n00:16:33 Light & Appetite, Tool: Regular Meal Times\n00:19:42 Using Light to Improve Sleep, Mood & Mental Health\n00:21:23 Jet Lag, Tools: Temperature Minimum; Eat on Local Schedule, Avoid Mismatched Light Exposure\n00:24:55 Sleep Issues, Light-Dark Cycle\n00:26:29 Seasonality, Seasonal Depression; Daylight Savings Time\n00:29:46 Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1845, "filename" => "/downloads/Andrew Huberman/2025-08-21 Essentials: Timing Light for Better Sleep, Energy & Mood | Dr. Samer Hattar/Essentials: Timing Light for Better Sleep, Energy & Mood | Dr. Samer Hattar [2XMb3MD6g6Q].mp4", "id" => "2XMb3MD6g6Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2XMb3MD6g6Q", "playlist_index" => 55, "timestamp" => 1755777605, "title" => "Essentials: Timing Light for Better Sleep, Energy & Mood | Dr. Samer Hattar", "upload_date" => "20250821"} 17:12:46.386 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=939.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:46.387 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=639.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:46.388 [debug] QUERY OK source="media_items" db=0.4ms idle=639.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-21 12:00:05Z], 4] 17:12:46.391 [debug] QUERY OK source="media_items" db=2.0ms idle=640.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Samer Hattar, PhD, the Chief of the Section on Light and Circadian Rhythms at the National Institute of Mental Health.\n\nWe discuss how light powerfully shapes mood, sleep, appetite, learning and overall mental health by aligning—or misaligning—our internal circadian clock. We explain practical protocols to support your circadian rhythm, including morning sunlight exposure, dim evening lighting and regular mealtimes. We also discuss strategies to manage jet lag, limit evening screen use, ease seasonal depression and improve focus by syncing light, sleep and food with natural biological rhythms.\n\nEpisode show notes: https://go.hubermanlab.com/dKJ2cZQ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/oUu3f0ETMJQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Samer Hattar*\nX: https://x.com/samerhattar \nInstagram: https://www.instagram.com/samerhattar\n\n*Timestamps*\n00:00:00 Samer Hattar\n00:00:27 Light, Circadian Clock vs Solar Day, Sleep-Wake Cycle\n00:03:20 Eyes, Photoreceptors & Light Entrainment, Blindness, Sleep\n00:06:13 Morning Light, Artificial Lights, Tool: Morning Sunlight Exposure\n00:08:28 Jet Lag Without Traveling, Sleep Issues, Screens, Staying Indoors\n00:09:18 Chronotypes, Intrinsic Circadian Rhythms\n00:11:10 Afternoon & Evening Light, Tools: Dimming Lights, Reduce Screen Use\n00:13:00 Light Exposure & Effects on Stress, Mood & Learning, Tripartite Model\n00:16:33 Light & Appetite, Tool: Regular Meal Times\n00:19:42 Using Light to Improve Sleep, Mood & Mental Health\n00:21:23 Jet Lag, Tools: Temperature Minimum; Eat on Local Schedule, Avoid Mismatched Light Exposure\n00:24:55 Sleep Issues, Light-Dark Cycle\n00:26:29 Seasonality, Seasonal Depression; Daylight Savings Time\n00:29:46 Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Timing Light for Better Sleep, Energy & Mood | Dr. Samer Hattar", "227ce991-9e55-4d2b-ad7c-3ef06ff274cc", 1845, false, "2XMb3MD6g6Q", "https://www.youtube.com/watch?v=2XMb3MD6g6Q", 55, "/downloads/Andrew Huberman/2025-08-21 Essentials: Timing Light for Better Sleep, Energy & Mood | Dr. Samer Hattar/Essentials: Timing Light for Better Sleep, Energy & Mood | Dr. Samer Hattar [2XMb3MD6g6Q].mp4", false, false, false, 4, [], 1, ~U[2025-08-21 12:00:05Z], ~U[2026-09-16 17:12:46Z], ~U[2026-09-16 17:12:46Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Samer Hattar, PhD, the Chief of the Section on Light and Circadian Rhythms at the National Institute of Mental Health.\n\nWe discuss how light powerfully shapes mood, sleep, appetite, learning and overall mental health by aligning—or misaligning—our internal circadian clock. We explain practical protocols to support your circadian rhythm, including morning sunlight exposure, dim evening lighting and regular mealtimes. We also discuss strategies to manage jet lag, limit evening screen use, ease seasonal depression and improve focus by syncing light, sleep and food with natural biological rhythms.\n\nEpisode show notes: https://go.hubermanlab.com/dKJ2cZQ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/oUu3f0ETMJQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Samer Hattar*\nX: https://x.com/samerhattar \nInstagram: https://www.instagram.com/samerhattar\n\n*Timestamps*\n00:00:00 Samer Hattar\n00:00:27 Light, Circadian Clock vs Solar Day, Sleep-Wake Cycle\n00:03:20 Eyes, Photoreceptors & Light Entrainment, Blindness, Sleep\n00:06:13 Morning Light, Artificial Lights, Tool: Morning Sunlight Exposure\n00:08:28 Jet Lag Without Traveling, Sleep Issues, Screens, Staying Indoors\n00:09:18 Chronotypes, Intrinsic Circadian Rhythms\n00:11:10 Afternoon & Evening Light, Tools: Dimming Lights, Reduce Screen Use\n00:13:00 Light Exposure & Effects on Stress, Mood & Learning, Tripartite Model\n00:16:33 Light & Appetite, Tool: Regular Meal Times\n00:19:42 Using Light to Improve Sleep, Mood & Mental Health\n00:21:23 Jet Lag, Tools: Temperature Minimum; Eat on Local Schedule, Avoid Mismatched Light Exposure\n00:24:55 Sleep Issues, Light-Dark Cycle\n00:26:29 Seasonality, Seasonal Depression; Daylight Savings Time\n00:29:46 Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Timing Light for Better Sleep, Energy & Mood | Dr. Samer Hattar", 1845, false, "2XMb3MD6g6Q", "https://www.youtube.com/watch?v=2XMb3MD6g6Q", "/downloads/Andrew Huberman/2025-08-21 Essentials: Timing Light for Better Sleep, Energy & Mood | Dr. Samer Hattar/Essentials: Timing Light for Better Sleep, Energy & Mood | Dr. Samer Hattar [2XMb3MD6g6Q].mp4", false, 4, ~U[2025-08-21 12:00:05Z]] 17:12:46.391 [debug] QUERY OK source="sources" db=0.3ms idle=643.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:46.392 [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] 17:12:46.393 [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 [194] 17:12:46.393 [debug] Current batch of media processed. Will check again in 1000ms 17:12:47.394 [debug] Current batch of media processed. Will check again in 1000ms 17:12:48.395 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how dopamine regulates motivation and provide science-based tools to help improve focus, discipline and overall drive.\n\nI explore how particular activities affect dopamine levels and discuss how the highs, lows and baseline levels of dopamine shape your motivation and long-term satisfaction. I also explain practical strategies to boost dopamine levels, such as deliberate cold exposure, caffeine, effort-based rewards and specific supplements. Whether you're looking to enhance motivation for school, work or daily life, this episode explains how to get and stay motivated while supporting healthy dopamine levels.\n\nEpisode show notes: https://go.hubermanlab.com/YnpwniW\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/QmOF0crdyRU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Dopamine & Drive\n00:00:33 Neuromodulator; Dopamine Effects, Parkinson’s Disease; Brain Circuits\n00:03:36 Motivation & Dopamine Levels\n00:04:55 Subjective Experience & Dopamine, Activities that Increase Dopamine\n00:08:21 Dopamine Highs, Lows & Baseline; Evolutionary Context, Addiction\n00:13:42 Dopamine Reward Prediction Error, Tool: Intermittent Rewards\n00:15:41 Caffeine & Dopamine; Tool: Yerba Mate & Protecting Dopamine Neurons\n00:17:05 Amphetamine, Cocaine & Challenges for Learning\n00:18:33 Tool: Increase Dopamine & Deliberate Cold Exposure\n00:21:17 Hard Work & Motivation, Intrinsic vs Extrinsic Rewards, Tool: Growth Mindset\n00:26:36 Experiences & Shifting Perception, Dopamine Balance\n00:27:48 Compounds to Increase Dopamine: Wellbutrin, L-Tyrosine, PEA, Alpha-GPC\n00:31:25 Social Connection; Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1974, "filename" => "/downloads/Andrew Huberman/2025-08-14 Controlling Your Dopamine for Motivation, Focus & Satisfaction | Huberman Lab Essentials/Controlling Your Dopamine for Motivation, Focus & Satisfaction | Huberman Lab Essentials [XeN6eGO6FVQ].mp4", "id" => "XeN6eGO6FVQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XeN6eGO6FVQ", "playlist_index" => 56, "timestamp" => 1755172859, "title" => "Controlling Your Dopamine for Motivation, Focus & Satisfaction | Huberman Lab Essentials", "upload_date" => "20250814"} 17:12:48.417 [debug] QUERY OK source="sources" db=0.2ms idle=968.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:48.417 [debug] QUERY OK source="sources" db=0.1ms idle=669.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:48.418 [debug] QUERY OK source="media_items" db=0.4ms idle=669.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-14 12:00:59Z], 4] 17:12:48.420 [debug] QUERY OK source="media_items" db=1.7ms idle=670.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how dopamine regulates motivation and provide science-based tools to help improve focus, discipline and overall drive.\n\nI explore how particular activities affect dopamine levels and discuss how the highs, lows and baseline levels of dopamine shape your motivation and long-term satisfaction. I also explain practical strategies to boost dopamine levels, such as deliberate cold exposure, caffeine, effort-based rewards and specific supplements. Whether you're looking to enhance motivation for school, work or daily life, this episode explains how to get and stay motivated while supporting healthy dopamine levels.\n\nEpisode show notes: https://go.hubermanlab.com/YnpwniW\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/QmOF0crdyRU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Dopamine & Drive\n00:00:33 Neuromodulator; Dopamine Effects, Parkinson’s Disease; Brain Circuits\n00:03:36 Motivation & Dopamine Levels\n00:04:55 Subjective Experience & Dopamine, Activities that Increase Dopamine\n00:08:21 Dopamine Highs, Lows & Baseline; Evolutionary Context, Addiction\n00:13:42 Dopamine Reward Prediction Error, Tool: Intermittent Rewards\n00:15:41 Caffeine & Dopamine; Tool: Yerba Mate & Protecting Dopamine Neurons\n00:17:05 Amphetamine, Cocaine & Challenges for Learning\n00:18:33 Tool: Increase Dopamine & Deliberate Cold Exposure\n00:21:17 Hard Work & Motivation, Intrinsic vs Extrinsic Rewards, Tool: Growth Mindset\n00:26:36 Experiences & Shifting Perception, Dopamine Balance\n00:27:48 Compounds to Increase Dopamine: Wellbutrin, L-Tyrosine, PEA, Alpha-GPC\n00:31:25 Social Connection; Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Controlling Your Dopamine for Motivation, Focus & Satisfaction | Huberman Lab Essentials", "89b33e47-e8d9-4c68-b553-d6cd6a8df638", 1974, false, "XeN6eGO6FVQ", "https://www.youtube.com/watch?v=XeN6eGO6FVQ", 56, "/downloads/Andrew Huberman/2025-08-14 Controlling Your Dopamine for Motivation, Focus & Satisfaction | Huberman Lab Essentials/Controlling Your Dopamine for Motivation, Focus & Satisfaction | Huberman Lab Essentials [XeN6eGO6FVQ].mp4", false, false, false, 4, [], 1, ~U[2025-08-14 12:00:59Z], ~U[2026-09-16 17:12:48Z], ~U[2026-09-16 17:12:48Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how dopamine regulates motivation and provide science-based tools to help improve focus, discipline and overall drive.\n\nI explore how particular activities affect dopamine levels and discuss how the highs, lows and baseline levels of dopamine shape your motivation and long-term satisfaction. I also explain practical strategies to boost dopamine levels, such as deliberate cold exposure, caffeine, effort-based rewards and specific supplements. Whether you're looking to enhance motivation for school, work or daily life, this episode explains how to get and stay motivated while supporting healthy dopamine levels.\n\nEpisode show notes: https://go.hubermanlab.com/YnpwniW\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/QmOF0crdyRU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Dopamine & Drive\n00:00:33 Neuromodulator; Dopamine Effects, Parkinson’s Disease; Brain Circuits\n00:03:36 Motivation & Dopamine Levels\n00:04:55 Subjective Experience & Dopamine, Activities that Increase Dopamine\n00:08:21 Dopamine Highs, Lows & Baseline; Evolutionary Context, Addiction\n00:13:42 Dopamine Reward Prediction Error, Tool: Intermittent Rewards\n00:15:41 Caffeine & Dopamine; Tool: Yerba Mate & Protecting Dopamine Neurons\n00:17:05 Amphetamine, Cocaine & Challenges for Learning\n00:18:33 Tool: Increase Dopamine & Deliberate Cold Exposure\n00:21:17 Hard Work & Motivation, Intrinsic vs Extrinsic Rewards, Tool: Growth Mindset\n00:26:36 Experiences & Shifting Perception, Dopamine Balance\n00:27:48 Compounds to Increase Dopamine: Wellbutrin, L-Tyrosine, PEA, Alpha-GPC\n00:31:25 Social Connection; Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Controlling Your Dopamine for Motivation, Focus & Satisfaction | Huberman Lab Essentials", 1974, false, "XeN6eGO6FVQ", "https://www.youtube.com/watch?v=XeN6eGO6FVQ", "/downloads/Andrew Huberman/2025-08-14 Controlling Your Dopamine for Motivation, Focus & Satisfaction | Huberman Lab Essentials/Controlling Your Dopamine for Motivation, Focus & Satisfaction | Huberman Lab Essentials [XeN6eGO6FVQ].mp4", false, 4, ~U[2025-08-14 12:00:59Z]] 17:12:48.421 [debug] QUERY OK source="sources" db=0.2ms idle=673.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:48.421 [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] 17:12:48.422 [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 [195] 17:12:48.422 [debug] Current batch of media processed. Will check again in 1000ms 17:12:49.423 [debug] Current batch of media processed. Will check again in 1000ms 17:12:50.424 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Craig Heller, PhD, a professor of biology at Stanford University and a world expert on the science of temperature regulation.\n\nWe discuss how the body and brain regulate temperature in different conditions and why conventional cooling methods, such as placing ice packs on the neck, do not effectively reduce core body temperature. Dr. Heller explains why cooling glabrous skin areas—the palms, soles and upper face—efficiently releases body heat and can significantly enhance physical performance and endurance. We discuss how targeted palmar cooling improves both short-term performance and long-term training adaptation in aerobic and anaerobic exercise.\n\nEpisode show notes: https://go.hubermanlab.com/aERGXSD\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/77CdVSpnUX4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Craig Heller\n00:00:26 Deliberate Cold Exposure, Cold Showers, Ice Baths; Vasoconstriction\n00:02:26 Cold Shower vs Cold Immersion, Boundary Layer, Tool: Improve Aerobic Exercise Performance\n00:04:54 Anerobic Exercise & Overheating, Muscle Failure, Muscle Fatigue\n00:07:19 Anerobic Exercise, Heat, Cool Down with Ice Water or Cold Towel?\n00:09:42 Should You Cool Body/Head to Lower Body Temperature?, Hyperthermia, Heat Stroke\n00:13:30 Body Sites for Quick Cooling: Palms, Soles & Upper Face, Glabrous Surfaces\n00:16:01 Tool: Loosen Grip & Performance; Gloves & Socks\n00:17:33 Cooling Brain via Upper Face; Offset Concussion?\n00:19:50 Enhance Anerobic Performance & Cooling Palms, Heat Loss \n00:23:05 Improve Aerobic Endurance & Cooling Palms\n00:24:00 CoolMitt; Ice Cold Is Too Cold\n00:27:00 Tool: Use Palmer Cooling to Enhance Performance; Cooling Palms, Soles & Face\n00:30:42 Acknowledgments\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1880, "filename" => "/downloads/Andrew Huberman/2025-08-07 Essentials: Increase Strength & Endurance with Cooling Protocols | Dr. Craig Heller/Essentials: Increase Strength & Endurance with Cooling Protocols | Dr. Craig Heller [aZklQpFa2kE].mp4", "id" => "aZklQpFa2kE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aZklQpFa2kE", "playlist_index" => 57, "timestamp" => 1754568003, "title" => "Essentials: Increase Strength & Endurance with Cooling Protocols | Dr. Craig Heller", "upload_date" => "20250807"} 17:12:50.425 [debug] QUERY OK source="sources" db=0.4ms idle=973.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:50.426 [debug] QUERY OK source="sources" db=0.7ms idle=677.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:50.427 [debug] QUERY OK source="media_items" db=0.8ms idle=678.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-07 12:00:03Z], 4] 17:12:50.430 [debug] QUERY OK source="media_items" db=2.1ms idle=679.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Craig Heller, PhD, a professor of biology at Stanford University and a world expert on the science of temperature regulation.\n\nWe discuss how the body and brain regulate temperature in different conditions and why conventional cooling methods, such as placing ice packs on the neck, do not effectively reduce core body temperature. Dr. Heller explains why cooling glabrous skin areas—the palms, soles and upper face—efficiently releases body heat and can significantly enhance physical performance and endurance. We discuss how targeted palmar cooling improves both short-term performance and long-term training adaptation in aerobic and anaerobic exercise.\n\nEpisode show notes: https://go.hubermanlab.com/aERGXSD\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/77CdVSpnUX4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Craig Heller\n00:00:26 Deliberate Cold Exposure, Cold Showers, Ice Baths; Vasoconstriction\n00:02:26 Cold Shower vs Cold Immersion, Boundary Layer, Tool: Improve Aerobic Exercise Performance\n00:04:54 Anerobic Exercise & Overheating, Muscle Failure, Muscle Fatigue\n00:07:19 Anerobic Exercise, Heat, Cool Down with Ice Water or Cold Towel?\n00:09:42 Should You Cool Body/Head to Lower Body Temperature?, Hyperthermia, Heat Stroke\n00:13:30 Body Sites for Quick Cooling: Palms, Soles & Upper Face, Glabrous Surfaces\n00:16:01 Tool: Loosen Grip & Performance; Gloves & Socks\n00:17:33 Cooling Brain via Upper Face; Offset Concussion?\n00:19:50 Enhance Anerobic Performance & Cooling Palms, Heat Loss \n00:23:05 Improve Aerobic Endurance & Cooling Palms\n00:24:00 CoolMitt; Ice Cold Is Too Cold\n00:27:00 Tool: Use Palmer Cooling to Enhance Performance; Cooling Palms, Soles & Face\n00:30:42 Acknowledgments\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Increase Strength & Endurance with Cooling Protocols | Dr. Craig Heller", "73dac32b-0ad4-4f64-b1b5-89e4a4e7ae57", 1880, false, "aZklQpFa2kE", "https://www.youtube.com/watch?v=aZklQpFa2kE", 57, "/downloads/Andrew Huberman/2025-08-07 Essentials: Increase Strength & Endurance with Cooling Protocols | Dr. Craig Heller/Essentials: Increase Strength & Endurance with Cooling Protocols | Dr. Craig Heller [aZklQpFa2kE].mp4", false, false, false, 4, [], 1, ~U[2025-08-07 12:00:03Z], ~U[2026-09-16 17:12:50Z], ~U[2026-09-16 17:12:50Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Craig Heller, PhD, a professor of biology at Stanford University and a world expert on the science of temperature regulation.\n\nWe discuss how the body and brain regulate temperature in different conditions and why conventional cooling methods, such as placing ice packs on the neck, do not effectively reduce core body temperature. Dr. Heller explains why cooling glabrous skin areas—the palms, soles and upper face—efficiently releases body heat and can significantly enhance physical performance and endurance. We discuss how targeted palmar cooling improves both short-term performance and long-term training adaptation in aerobic and anaerobic exercise.\n\nEpisode show notes: https://go.hubermanlab.com/aERGXSD\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/77CdVSpnUX4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Craig Heller\n00:00:26 Deliberate Cold Exposure, Cold Showers, Ice Baths; Vasoconstriction\n00:02:26 Cold Shower vs Cold Immersion, Boundary Layer, Tool: Improve Aerobic Exercise Performance\n00:04:54 Anerobic Exercise & Overheating, Muscle Failure, Muscle Fatigue\n00:07:19 Anerobic Exercise, Heat, Cool Down with Ice Water or Cold Towel?\n00:09:42 Should You Cool Body/Head to Lower Body Temperature?, Hyperthermia, Heat Stroke\n00:13:30 Body Sites for Quick Cooling: Palms, Soles & Upper Face, Glabrous Surfaces\n00:16:01 Tool: Loosen Grip & Performance; Gloves & Socks\n00:17:33 Cooling Brain via Upper Face; Offset Concussion?\n00:19:50 Enhance Anerobic Performance & Cooling Palms, Heat Loss \n00:23:05 Improve Aerobic Endurance & Cooling Palms\n00:24:00 CoolMitt; Ice Cold Is Too Cold\n00:27:00 Tool: Use Palmer Cooling to Enhance Performance; Cooling Palms, Soles & Face\n00:30:42 Acknowledgments\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Increase Strength & Endurance with Cooling Protocols | Dr. Craig Heller", 1880, false, "aZklQpFa2kE", "https://www.youtube.com/watch?v=aZklQpFa2kE", "/downloads/Andrew Huberman/2025-08-07 Essentials: Increase Strength & Endurance with Cooling Protocols | Dr. Craig Heller/Essentials: Increase Strength & Endurance with Cooling Protocols | Dr. Craig Heller [aZklQpFa2kE].mp4", false, 4, ~U[2025-08-07 12:00:03Z]] 17:12:50.431 [debug] QUERY OK source="sources" db=0.2ms idle=682.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:50.431 [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] 17:12:50.432 [debug] QUERY OK source="media_items" db=0.4ms idle=6.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [196] 17:12:50.432 [debug] Current batch of media processed. Will check again in 1000ms 17:12:51.434 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the biology and psychology of attention-deficit/hyperactivity disorder (ADHD), and discuss both prescription and non-prescription treatment options. \n\nI discuss the neural circuits involved in attention and concentration, emphasizing dopamine's role in regulating and coordinating focus. I explain how common prescription stimulants like Ritalin, Adderall, and Modafinil act on the brain to treat ADHD, and discuss non-drug approaches, including supplements and behavioral training to support focus. The episode offers tools and insights beneficial not only for those with ADHD but for anyone seeking to improve attention and focus.\n\nEpisode show notes: https://go.hubermanlab.com/WMbQOmQ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/hFL6qRIJZ_Y\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Attention-Deficit/Hyperactivity Disorder (ADHD)\n00:01:10 ADHD Challenges, Attention, Impulsivity, Hyperfocus, Time Perception, Working Memory\n00:05:22 Dopamine & Focus; Default Mode Network & Task Network\n00:10:15 ADHD & Low-Dopamine Hypothesis, Stimulants, Sugar\n00:14:33 ADHD Prescriptions, Ritalin, Adderall, Stimulants\n00:16:23 Children, Learning to Focus & ADHD Prescriptions\n00:19:31 Attentional Blinks, Tool: Improve Focus, Open-Monitoring, Panoramic Vision\n00:23:31 Blinking, Dopamine & Time Perception, Tool: Visual Focus Training\n00:27:43 Ritalin, Adderall, Modafinil, Side Effects, Tapering \n00:29:32 Omega-3 Fatty Acids, EPA, DHA & Attention Effects; Phosphatidylserine\n00:31:28 Modafinil, Armodafinil\n00:32:18 Acetylcholine, Alpha-GPC\n00:34:21 L-Tyrosine, Dopamine, Preexisting Conditions & Caution\n00:35:18 Smartphones & Focus, Tool: Limiting Smartphone Use\n00:37:23 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2274, "filename" => "/downloads/Andrew Huberman/2025-07-31 ADHD & How Anyone Can Improve Their Focus | Huberman Lab Essentials/ADHD & How Anyone Can Improve Their Focus | Huberman Lab Essentials [LAwBdRR4wQk].mp4", "id" => "LAwBdRR4wQk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LAwBdRR4wQk", "playlist_index" => 58, "timestamp" => 1753963238, "title" => "ADHD & How Anyone Can Improve Their Focus | Huberman Lab Essentials", "upload_date" => "20250731"} 17:12:51.435 [debug] QUERY OK source="sources" db=0.3ms idle=1004.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:51.435 [debug] QUERY OK source="sources" db=0.2ms idle=1004.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:51.436 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1003.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-31 12:00:38Z], 4] 17:12:51.439 [debug] QUERY OK source="media_items" db=1.8ms idle=1004.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the biology and psychology of attention-deficit/hyperactivity disorder (ADHD), and discuss both prescription and non-prescription treatment options. \n\nI discuss the neural circuits involved in attention and concentration, emphasizing dopamine's role in regulating and coordinating focus. I explain how common prescription stimulants like Ritalin, Adderall, and Modafinil act on the brain to treat ADHD, and discuss non-drug approaches, including supplements and behavioral training to support focus. The episode offers tools and insights beneficial not only for those with ADHD but for anyone seeking to improve attention and focus.\n\nEpisode show notes: https://go.hubermanlab.com/WMbQOmQ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/hFL6qRIJZ_Y\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Attention-Deficit/Hyperactivity Disorder (ADHD)\n00:01:10 ADHD Challenges, Attention, Impulsivity, Hyperfocus, Time Perception, Working Memory\n00:05:22 Dopamine & Focus; Default Mode Network & Task Network\n00:10:15 ADHD & Low-Dopamine Hypothesis, Stimulants, Sugar\n00:14:33 ADHD Prescriptions, Ritalin, Adderall, Stimulants\n00:16:23 Children, Learning to Focus & ADHD Prescriptions\n00:19:31 Attentional Blinks, Tool: Improve Focus, Open-Monitoring, Panoramic Vision\n00:23:31 Blinking, Dopamine & Time Perception, Tool: Visual Focus Training\n00:27:43 Ritalin, Adderall, Modafinil, Side Effects, Tapering \n00:29:32 Omega-3 Fatty Acids, EPA, DHA & Attention Effects; Phosphatidylserine\n00:31:28 Modafinil, Armodafinil\n00:32:18 Acetylcholine, Alpha-GPC\n00:34:21 L-Tyrosine, Dopamine, Preexisting Conditions & Caution\n00:35:18 Smartphones & Focus, Tool: Limiting Smartphone Use\n00:37:23 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "ADHD & How Anyone Can Improve Their Focus | Huberman Lab Essentials", "3893fb44-6664-46be-bab0-8fea2ca9f4df", 2274, false, "LAwBdRR4wQk", "https://www.youtube.com/watch?v=LAwBdRR4wQk", 58, "/downloads/Andrew Huberman/2025-07-31 ADHD & How Anyone Can Improve Their Focus | Huberman Lab Essentials/ADHD & How Anyone Can Improve Their Focus | Huberman Lab Essentials [LAwBdRR4wQk].mp4", false, false, false, 4, [], 1, ~U[2025-07-31 12:00:38Z], ~U[2026-09-16 17:12:51Z], ~U[2026-09-16 17:12:51Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the biology and psychology of attention-deficit/hyperactivity disorder (ADHD), and discuss both prescription and non-prescription treatment options. \n\nI discuss the neural circuits involved in attention and concentration, emphasizing dopamine's role in regulating and coordinating focus. I explain how common prescription stimulants like Ritalin, Adderall, and Modafinil act on the brain to treat ADHD, and discuss non-drug approaches, including supplements and behavioral training to support focus. The episode offers tools and insights beneficial not only for those with ADHD but for anyone seeking to improve attention and focus.\n\nEpisode show notes: https://go.hubermanlab.com/WMbQOmQ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/hFL6qRIJZ_Y\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Attention-Deficit/Hyperactivity Disorder (ADHD)\n00:01:10 ADHD Challenges, Attention, Impulsivity, Hyperfocus, Time Perception, Working Memory\n00:05:22 Dopamine & Focus; Default Mode Network & Task Network\n00:10:15 ADHD & Low-Dopamine Hypothesis, Stimulants, Sugar\n00:14:33 ADHD Prescriptions, Ritalin, Adderall, Stimulants\n00:16:23 Children, Learning to Focus & ADHD Prescriptions\n00:19:31 Attentional Blinks, Tool: Improve Focus, Open-Monitoring, Panoramic Vision\n00:23:31 Blinking, Dopamine & Time Perception, Tool: Visual Focus Training\n00:27:43 Ritalin, Adderall, Modafinil, Side Effects, Tapering \n00:29:32 Omega-3 Fatty Acids, EPA, DHA & Attention Effects; Phosphatidylserine\n00:31:28 Modafinil, Armodafinil\n00:32:18 Acetylcholine, Alpha-GPC\n00:34:21 L-Tyrosine, Dopamine, Preexisting Conditions & Caution\n00:35:18 Smartphones & Focus, Tool: Limiting Smartphone Use\n00:37:23 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "ADHD & How Anyone Can Improve Their Focus | Huberman Lab Essentials", 2274, false, "LAwBdRR4wQk", "https://www.youtube.com/watch?v=LAwBdRR4wQk", "/downloads/Andrew Huberman/2025-07-31 ADHD & How Anyone Can Improve Their Focus | Huberman Lab Essentials/ADHD & How Anyone Can Improve Their Focus | Huberman Lab Essentials [LAwBdRR4wQk].mp4", false, 4, ~U[2025-07-31 12:00:38Z]] 17:12:51.439 [debug] QUERY OK source="sources" db=0.3ms idle=987.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:51.440 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:12:51.441 [debug] QUERY OK source="media_items" db=0.4ms 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 [197] 17:12:51.441 [debug] Current batch of media processed. Will check again in 1000ms 17:12:52.442 [debug] Current batch of media processed. Will check again in 1000ms 17:12:53.443 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is \u2060Dr. Matthew Johnson, PhD\u2060, a senior researcher for the Center of Excellence for Psilocybin Research and Treatment at Sheppard Pratt’s Institute for Advanced Diagnostics and Therapeutics.\n\nWe explore the science and therapeutic potential of psychedelic medicine, including psilocybin, MDMA and LSD. We discuss how these substances can profoundly alter perception and self-identity, providing long-lasting relief from depression, addiction and trauma when used in controlled clinical settings. We also discuss microdosing and emerging research on psychedelics’ potential to support recovery from neurological injuries. \n\nEpisode show notes: https://go.hubermanlab.com/yjsDPfV\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/GzvzWO0NU50\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Matthew Johnson; Psychedelics\n00:01:44 Different Classes of Psychedelics\n00:04:33 Psychedelics & Altering Models\n00:06:18 LSD, Psylocibin & Serotonin\n00:08:44 Psychedelic Clinical Trials\n00:12:28 Therapy, Trust, Psychedelics\n00:15:36 Letting Go & Psychedelic Experience, Self-Representation, Lasting Changes\n00:21:19 MDMA, Dopamine & Serotonin; Bad Trips & Transcendental Experience\n00:24:43 Dangers of Psychedelics \n00:27:04 Microdosing Psychedelics, Antidepressant\n00:31:20 Head Injuries, Psychedelics, Depression\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2088, "filename" => "/downloads/Andrew Huberman/2025-07-24 Essentials: Psychedelics for Treating Mental Disorders | Dr. Matthew Johnson/Essentials: Psychedelics for Treating Mental Disorders | Dr. Matthew Johnson [OvHbhzArbfE].mp4", "id" => "OvHbhzArbfE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OvHbhzArbfE", "playlist_index" => 59, "timestamp" => 1753358447, "title" => "Essentials: Psychedelics for Treating Mental Disorders | Dr. Matthew Johnson", "upload_date" => "20250724"} 17:12:53.443 [debug] QUERY OK source="sources" db=0.2ms 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 (?)) [4] 17:12:53.444 [debug] QUERY OK source="sources" db=0.1ms idle=696.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:53.445 [debug] QUERY OK source="media_items" db=0.4ms idle=696.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-24 12:00:47Z], 4] 17:12:53.447 [debug] QUERY OK source="media_items" db=1.5ms idle=697.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is \u2060Dr. Matthew Johnson, PhD\u2060, a senior researcher for the Center of Excellence for Psilocybin Research and Treatment at Sheppard Pratt’s Institute for Advanced Diagnostics and Therapeutics.\n\nWe explore the science and therapeutic potential of psychedelic medicine, including psilocybin, MDMA and LSD. We discuss how these substances can profoundly alter perception and self-identity, providing long-lasting relief from depression, addiction and trauma when used in controlled clinical settings. We also discuss microdosing and emerging research on psychedelics’ potential to support recovery from neurological injuries. \n\nEpisode show notes: https://go.hubermanlab.com/yjsDPfV\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/GzvzWO0NU50\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Matthew Johnson; Psychedelics\n00:01:44 Different Classes of Psychedelics\n00:04:33 Psychedelics & Altering Models\n00:06:18 LSD, Psylocibin & Serotonin\n00:08:44 Psychedelic Clinical Trials\n00:12:28 Therapy, Trust, Psychedelics\n00:15:36 Letting Go & Psychedelic Experience, Self-Representation, Lasting Changes\n00:21:19 MDMA, Dopamine & Serotonin; Bad Trips & Transcendental Experience\n00:24:43 Dangers of Psychedelics \n00:27:04 Microdosing Psychedelics, Antidepressant\n00:31:20 Head Injuries, Psychedelics, Depression\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Psychedelics for Treating Mental Disorders | Dr. Matthew Johnson", "4a68ac1e-bd4c-407f-ae60-ea2e6c771025", 2088, false, "OvHbhzArbfE", "https://www.youtube.com/watch?v=OvHbhzArbfE", 59, "/downloads/Andrew Huberman/2025-07-24 Essentials: Psychedelics for Treating Mental Disorders | Dr. Matthew Johnson/Essentials: Psychedelics for Treating Mental Disorders | Dr. Matthew Johnson [OvHbhzArbfE].mp4", false, false, false, 4, [], 1, ~U[2025-07-24 12:00:47Z], ~U[2026-09-16 17:12:53Z], ~U[2026-09-16 17:12:53Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is \u2060Dr. Matthew Johnson, PhD\u2060, a senior researcher for the Center of Excellence for Psilocybin Research and Treatment at Sheppard Pratt’s Institute for Advanced Diagnostics and Therapeutics.\n\nWe explore the science and therapeutic potential of psychedelic medicine, including psilocybin, MDMA and LSD. We discuss how these substances can profoundly alter perception and self-identity, providing long-lasting relief from depression, addiction and trauma when used in controlled clinical settings. We also discuss microdosing and emerging research on psychedelics’ potential to support recovery from neurological injuries. \n\nEpisode show notes: https://go.hubermanlab.com/yjsDPfV\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/GzvzWO0NU50\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Matthew Johnson; Psychedelics\n00:01:44 Different Classes of Psychedelics\n00:04:33 Psychedelics & Altering Models\n00:06:18 LSD, Psylocibin & Serotonin\n00:08:44 Psychedelic Clinical Trials\n00:12:28 Therapy, Trust, Psychedelics\n00:15:36 Letting Go & Psychedelic Experience, Self-Representation, Lasting Changes\n00:21:19 MDMA, Dopamine & Serotonin; Bad Trips & Transcendental Experience\n00:24:43 Dangers of Psychedelics \n00:27:04 Microdosing Psychedelics, Antidepressant\n00:31:20 Head Injuries, Psychedelics, Depression\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Psychedelics for Treating Mental Disorders | Dr. Matthew Johnson", 2088, false, "OvHbhzArbfE", "https://www.youtube.com/watch?v=OvHbhzArbfE", "/downloads/Andrew Huberman/2025-07-24 Essentials: Psychedelics for Treating Mental Disorders | Dr. Matthew Johnson/Essentials: Psychedelics for Treating Mental Disorders | Dr. Matthew Johnson [OvHbhzArbfE].mp4", false, 4, ~U[2025-07-24 12:00:47Z]] 17:12:53.447 [debug] QUERY OK source="sources" db=0.1ms idle=699.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:53.448 [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] 17:12:53.448 [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 [198] 17:12:53.448 [debug] Current batch of media processed. Will check again in 1000ms 17:12:53.556 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:54.449 [debug] Current batch of media processed. Will check again in 1000ms 17:12:55.450 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss both healthy eating and clinically recognized eating disorders, including anorexia, bulimia and binge eating disorder.\n\nI explain how brain circuits, hormones such as leptin and reward systems interact to regulate appetite, satiety and overall eating behaviors. I also discuss the serious health risks associated with anorexia, explain how disrupted eating habits contribute to its development and highlight evidence-based treatments for anorexia. Finally, I explore binge eating and bulimia, discussing the underlying causes and the pharmacological treatments commonly used to support recovery.\n\nEpisode show notes: https://go.hubermanlab.com/pexmg01\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/2XGREPnlI8U\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Eating Disorders\n00:01:05 Fasting, Intermittent Fasting, Healthy Eating\n00:06:10 Self-Diagnosis Caution\n00:07:20 Eating Disorders, Anorexia Nervosa\n00:11:07 Hunger & Satiety; Appetite, Body Fat & Brain\n00:15:48 Homeostasis & Reward Systems, Eating Disorders\n00:19:40 Anorexia, Puberty, Hyperacuity & Food\n00:22:46 Decision-Making vs Reflexes/Habits, Anorexia \n00:26:20 Anorexia & Breaking Habits, Therapies & Family-Based Models\n00:28:59 Distorted Self-Image & Anorexia\n00:31:53 Bulimia & Binge-Eating Disorder, Impulsivity & Prescription Treatments\n00:35:39 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2372, "filename" => "/downloads/Andrew Huberman/2025-07-17 Healthy Eating & Eating Disorders - Anorexia, Bulimia, Binging | Huberman Lab Essentials/Healthy Eating & Eating Disorders - Anorexia, Bulimia, Binging | Huberman Lab Essentials [mJv1_esiJ8g].mp4", "id" => "mJv1_esiJ8g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mJv1_esiJ8g", "playlist_index" => 60, "timestamp" => 1752753698, "title" => "Healthy Eating & Eating Disorders - Anorexia, Bulimia, Binging | Huberman Lab Essentials", "upload_date" => "20250717"} 17:12:55.450 [debug] QUERY OK source="sources" db=0.2ms idle=992.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:55.451 [debug] QUERY OK source="sources" db=0.1ms idle=703.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:55.452 [debug] QUERY OK source="media_items" db=0.4ms idle=703.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-17 12:01:38Z], 4] 17:12:55.454 [debug] QUERY OK source="media_items" db=1.8ms idle=704.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss both healthy eating and clinically recognized eating disorders, including anorexia, bulimia and binge eating disorder.\n\nI explain how brain circuits, hormones such as leptin and reward systems interact to regulate appetite, satiety and overall eating behaviors. I also discuss the serious health risks associated with anorexia, explain how disrupted eating habits contribute to its development and highlight evidence-based treatments for anorexia. Finally, I explore binge eating and bulimia, discussing the underlying causes and the pharmacological treatments commonly used to support recovery.\n\nEpisode show notes: https://go.hubermanlab.com/pexmg01\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/2XGREPnlI8U\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Eating Disorders\n00:01:05 Fasting, Intermittent Fasting, Healthy Eating\n00:06:10 Self-Diagnosis Caution\n00:07:20 Eating Disorders, Anorexia Nervosa\n00:11:07 Hunger & Satiety; Appetite, Body Fat & Brain\n00:15:48 Homeostasis & Reward Systems, Eating Disorders\n00:19:40 Anorexia, Puberty, Hyperacuity & Food\n00:22:46 Decision-Making vs Reflexes/Habits, Anorexia \n00:26:20 Anorexia & Breaking Habits, Therapies & Family-Based Models\n00:28:59 Distorted Self-Image & Anorexia\n00:31:53 Bulimia & Binge-Eating Disorder, Impulsivity & Prescription Treatments\n00:35:39 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Healthy Eating & Eating Disorders - Anorexia, Bulimia, Binging | Huberman Lab Essentials", "a19cbbce-cf50-4b6e-a64b-e85f3cb5fe01", 2372, false, "mJv1_esiJ8g", "https://www.youtube.com/watch?v=mJv1_esiJ8g", 60, "/downloads/Andrew Huberman/2025-07-17 Healthy Eating & Eating Disorders - Anorexia, Bulimia, Binging | Huberman Lab Essentials/Healthy Eating & Eating Disorders - Anorexia, Bulimia, Binging | Huberman Lab Essentials [mJv1_esiJ8g].mp4", false, false, false, 4, [], 1, ~U[2025-07-17 12:01:38Z], ~U[2026-09-16 17:12:55Z], ~U[2026-09-16 17:12:55Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss both healthy eating and clinically recognized eating disorders, including anorexia, bulimia and binge eating disorder.\n\nI explain how brain circuits, hormones such as leptin and reward systems interact to regulate appetite, satiety and overall eating behaviors. I also discuss the serious health risks associated with anorexia, explain how disrupted eating habits contribute to its development and highlight evidence-based treatments for anorexia. Finally, I explore binge eating and bulimia, discussing the underlying causes and the pharmacological treatments commonly used to support recovery.\n\nEpisode show notes: https://go.hubermanlab.com/pexmg01\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/2XGREPnlI8U\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Eating Disorders\n00:01:05 Fasting, Intermittent Fasting, Healthy Eating\n00:06:10 Self-Diagnosis Caution\n00:07:20 Eating Disorders, Anorexia Nervosa\n00:11:07 Hunger & Satiety; Appetite, Body Fat & Brain\n00:15:48 Homeostasis & Reward Systems, Eating Disorders\n00:19:40 Anorexia, Puberty, Hyperacuity & Food\n00:22:46 Decision-Making vs Reflexes/Habits, Anorexia \n00:26:20 Anorexia & Breaking Habits, Therapies & Family-Based Models\n00:28:59 Distorted Self-Image & Anorexia\n00:31:53 Bulimia & Binge-Eating Disorder, Impulsivity & Prescription Treatments\n00:35:39 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Healthy Eating & Eating Disorders - Anorexia, Bulimia, Binging | Huberman Lab Essentials", 2372, false, "mJv1_esiJ8g", "https://www.youtube.com/watch?v=mJv1_esiJ8g", "/downloads/Andrew Huberman/2025-07-17 Healthy Eating & Eating Disorders - Anorexia, Bulimia, Binging | Huberman Lab Essentials/Healthy Eating & Eating Disorders - Anorexia, Bulimia, Binging | Huberman Lab Essentials [mJv1_esiJ8g].mp4", false, 4, ~U[2025-07-17 12:01:38Z]] 17:12:55.455 [debug] QUERY OK source="sources" db=0.1ms idle=706.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:55.455 [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] 17:12:55.456 [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 [199] 17:12:55.456 [debug] Current batch of media processed. Will check again in 1000ms 17:12:56.457 [debug] Current batch of media processed. Will check again in 1000ms 17:12:57.458 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode my guest is Dr. Robert Sapolsky, PhD, a professor of biology, neurology and neurological sciences at Stanford University. \n\nWe discuss different types of stress and how our perception of stress as harmful or beneficial largely depends on context. He also explains how testosterone amplifies pre-existing behaviors and tendencies, and he highlights the crucial role of estrogen in supporting brain and body health. We also discuss daily cognitive practices for stress mitigation and how modern life, influenced by social media and complex social hierarchies, shapes our responses to stress. \n\nEpisode show notes: https://go.hubermanlab.com/MPalfmV\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/DtmwtjOoSYU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Robert Sapolsky\n00:00:23 Positive & Negative Stress; Excitement, Amygdala \n00:02:47 Testosterone & Brain, Aggression, Hierarchy\n00:06:27 Testosterone, Motivation, Challenge & Confidence\n00:11:01 Dopamine, Testosterone & Motivation\n00:13:28 Estrogen, Brain & Health, Replacement Therapies\n00:15:21 Stress Mitigation\n00:19:17 Cognitive Practices for Stress Mitigation, Individual Variability, Consistency\n00:21:36 Stress, Perception & Individual Differences \n00:23:58 Context, Stress & Brain\n00:27:05 Social Media, Context, Multiple Hierarchies\n00:30:15 Acknowledgments\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1854, "filename" => "/downloads/Andrew Huberman/2025-07-10 Essentials: Science of Stress, Testosterone, Aggression & Motivation | Dr. Robert Sapolsky/Essentials: Science of Stress, Testosterone, Aggression & Motivation | Dr. Robert Sapolsky [WxtxzRdJFTI].mp4", "id" => "WxtxzRdJFTI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WxtxzRdJFTI", "playlist_index" => 61, "timestamp" => 1752148864, "title" => "Essentials: Science of Stress, Testosterone, Aggression & Motivation | Dr. Robert Sapolsky", "upload_date" => "20250710"} 17:12:57.458 [debug] QUERY OK source="sources" db=0.2ms idle=998.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:57.459 [debug] QUERY OK source="sources" db=0.1ms idle=711.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:57.460 [debug] QUERY OK source="media_items" db=0.4ms idle=711.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-10 12:01:04Z], 4] 17:12:57.462 [debug] QUERY OK source="media_items" db=1.9ms idle=712.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode my guest is Dr. Robert Sapolsky, PhD, a professor of biology, neurology and neurological sciences at Stanford University. \n\nWe discuss different types of stress and how our perception of stress as harmful or beneficial largely depends on context. He also explains how testosterone amplifies pre-existing behaviors and tendencies, and he highlights the crucial role of estrogen in supporting brain and body health. We also discuss daily cognitive practices for stress mitigation and how modern life, influenced by social media and complex social hierarchies, shapes our responses to stress. \n\nEpisode show notes: https://go.hubermanlab.com/MPalfmV\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/DtmwtjOoSYU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Robert Sapolsky\n00:00:23 Positive & Negative Stress; Excitement, Amygdala \n00:02:47 Testosterone & Brain, Aggression, Hierarchy\n00:06:27 Testosterone, Motivation, Challenge & Confidence\n00:11:01 Dopamine, Testosterone & Motivation\n00:13:28 Estrogen, Brain & Health, Replacement Therapies\n00:15:21 Stress Mitigation\n00:19:17 Cognitive Practices for Stress Mitigation, Individual Variability, Consistency\n00:21:36 Stress, Perception & Individual Differences \n00:23:58 Context, Stress & Brain\n00:27:05 Social Media, Context, Multiple Hierarchies\n00:30:15 Acknowledgments\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Science of Stress, Testosterone, Aggression & Motivation | Dr. Robert Sapolsky", "d7db0683-cf8a-48f2-ab9e-f6abb3fc72f1", 1854, false, "WxtxzRdJFTI", "https://www.youtube.com/watch?v=WxtxzRdJFTI", 61, "/downloads/Andrew Huberman/2025-07-10 Essentials: Science of Stress, Testosterone, Aggression & Motivation | Dr. Robert Sapolsky/Essentials: Science of Stress, Testosterone, Aggression & Motivation | Dr. Robert Sapolsky [WxtxzRdJFTI].mp4", false, false, false, 4, [], 1, ~U[2025-07-10 12:01:04Z], ~U[2026-09-16 17:12:57Z], ~U[2026-09-16 17:12:57Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode my guest is Dr. Robert Sapolsky, PhD, a professor of biology, neurology and neurological sciences at Stanford University. \n\nWe discuss different types of stress and how our perception of stress as harmful or beneficial largely depends on context. He also explains how testosterone amplifies pre-existing behaviors and tendencies, and he highlights the crucial role of estrogen in supporting brain and body health. We also discuss daily cognitive practices for stress mitigation and how modern life, influenced by social media and complex social hierarchies, shapes our responses to stress. \n\nEpisode show notes: https://go.hubermanlab.com/MPalfmV\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/DtmwtjOoSYU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Robert Sapolsky\n00:00:23 Positive & Negative Stress; Excitement, Amygdala \n00:02:47 Testosterone & Brain, Aggression, Hierarchy\n00:06:27 Testosterone, Motivation, Challenge & Confidence\n00:11:01 Dopamine, Testosterone & Motivation\n00:13:28 Estrogen, Brain & Health, Replacement Therapies\n00:15:21 Stress Mitigation\n00:19:17 Cognitive Practices for Stress Mitigation, Individual Variability, Consistency\n00:21:36 Stress, Perception & Individual Differences \n00:23:58 Context, Stress & Brain\n00:27:05 Social Media, Context, Multiple Hierarchies\n00:30:15 Acknowledgments\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Science of Stress, Testosterone, Aggression & Motivation | Dr. Robert Sapolsky", 1854, false, "WxtxzRdJFTI", "https://www.youtube.com/watch?v=WxtxzRdJFTI", "/downloads/Andrew Huberman/2025-07-10 Essentials: Science of Stress, Testosterone, Aggression & Motivation | Dr. Robert Sapolsky/Essentials: Science of Stress, Testosterone, Aggression & Motivation | Dr. Robert Sapolsky [WxtxzRdJFTI].mp4", false, 4, ~U[2025-07-10 12:01:04Z]] 17:12:57.463 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:57.463 [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] 17:12:57.464 [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 [200] 17:12:57.464 [debug] Current batch of media processed. Will check again in 1000ms 17:12:58.464 [debug] Current batch of media processed. Will check again in 1000ms 17:12:59.466 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore major depression, including its underlying biology and discuss science-based approaches to alleviate symptoms and improve mood.\n\nI describe the wide-ranging symptoms of depression and explain how key neurotransmitters, hormones, stress, genetics and inflammation contribute to its development and persistence. I also cover treatment options, from traditional classes of antidepressant medications to emerging therapies such as ketamine and psilocybin. Finally, I highlight lifestyle-based tools, including exercise, supplementation and dietary strategies that can help manage depressive symptoms and promote mental well-being.\n\nEpisode show notes: https://go.hubermanlab.com/Tg17gmA\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/Xu1FMCxoEFc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Major Depression\n00:01:10 Depression Symptoms\n00:06:14 Pharmaceuticals for Depression, SSRIs; Norepinephrine, Dopamine & Serotonin\n00:13:14 Thyroid Hormone, Cortisol, Stress & Depression, Menstrual Cycle, Genetics\n00:16:23 Increase Norepinephrine, Tools: Deliberate Cold Exposure & Exercise\n00:18:43 Chronic Inflammation & Depression, Tools: Omega-3s (EPA) & Exercise\n00:23:52 Tool: Creatine Monohydrate Supplementation & Improving Depression\n00:25:32 Novel Depression Therapies, Ketamine, Psilocybin \n00:30:41 Ketogenic Diet & Refractory Depression, GABA\n00:33:09 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2140, "filename" => "/downloads/Andrew Huberman/2025-07-03 Understanding & Conquering Depression | Huberman Lab Essentials/Understanding & Conquering Depression | Huberman Lab Essentials [HWcphoKlbxY].mp4", "id" => "HWcphoKlbxY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=HWcphoKlbxY", "playlist_index" => 62, "timestamp" => 1751544030, "title" => "Understanding & Conquering Depression | Huberman Lab Essentials", "upload_date" => "20250703"} 17:12:59.466 [debug] QUERY OK source="sources" db=0.1ms idle=718.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:12:59.467 [debug] QUERY OK source="sources" db=0.1ms idle=718.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:59.467 [debug] QUERY OK source="media_items" db=0.4ms idle=719.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-03 12:00:30Z], 4] 17:12:59.470 [debug] QUERY OK source="media_items" db=1.5ms idle=720.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore major depression, including its underlying biology and discuss science-based approaches to alleviate symptoms and improve mood.\n\nI describe the wide-ranging symptoms of depression and explain how key neurotransmitters, hormones, stress, genetics and inflammation contribute to its development and persistence. I also cover treatment options, from traditional classes of antidepressant medications to emerging therapies such as ketamine and psilocybin. Finally, I highlight lifestyle-based tools, including exercise, supplementation and dietary strategies that can help manage depressive symptoms and promote mental well-being.\n\nEpisode show notes: https://go.hubermanlab.com/Tg17gmA\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/Xu1FMCxoEFc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Major Depression\n00:01:10 Depression Symptoms\n00:06:14 Pharmaceuticals for Depression, SSRIs; Norepinephrine, Dopamine & Serotonin\n00:13:14 Thyroid Hormone, Cortisol, Stress & Depression, Menstrual Cycle, Genetics\n00:16:23 Increase Norepinephrine, Tools: Deliberate Cold Exposure & Exercise\n00:18:43 Chronic Inflammation & Depression, Tools: Omega-3s (EPA) & Exercise\n00:23:52 Tool: Creatine Monohydrate Supplementation & Improving Depression\n00:25:32 Novel Depression Therapies, Ketamine, Psilocybin \n00:30:41 Ketogenic Diet & Refractory Depression, GABA\n00:33:09 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Understanding & Conquering Depression | Huberman Lab Essentials", "3c479246-70a3-4c03-ab6a-8a8b6a222bde", 2140, false, "HWcphoKlbxY", "https://www.youtube.com/watch?v=HWcphoKlbxY", 62, "/downloads/Andrew Huberman/2025-07-03 Understanding & Conquering Depression | Huberman Lab Essentials/Understanding & Conquering Depression | Huberman Lab Essentials [HWcphoKlbxY].mp4", false, false, false, 4, [], 1, ~U[2025-07-03 12:00:30Z], ~U[2026-09-16 17:12:59Z], ~U[2026-09-16 17:12:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore major depression, including its underlying biology and discuss science-based approaches to alleviate symptoms and improve mood.\n\nI describe the wide-ranging symptoms of depression and explain how key neurotransmitters, hormones, stress, genetics and inflammation contribute to its development and persistence. I also cover treatment options, from traditional classes of antidepressant medications to emerging therapies such as ketamine and psilocybin. Finally, I highlight lifestyle-based tools, including exercise, supplementation and dietary strategies that can help manage depressive symptoms and promote mental well-being.\n\nEpisode show notes: https://go.hubermanlab.com/Tg17gmA\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/Xu1FMCxoEFc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Major Depression\n00:01:10 Depression Symptoms\n00:06:14 Pharmaceuticals for Depression, SSRIs; Norepinephrine, Dopamine & Serotonin\n00:13:14 Thyroid Hormone, Cortisol, Stress & Depression, Menstrual Cycle, Genetics\n00:16:23 Increase Norepinephrine, Tools: Deliberate Cold Exposure & Exercise\n00:18:43 Chronic Inflammation & Depression, Tools: Omega-3s (EPA) & Exercise\n00:23:52 Tool: Creatine Monohydrate Supplementation & Improving Depression\n00:25:32 Novel Depression Therapies, Ketamine, Psilocybin \n00:30:41 Ketogenic Diet & Refractory Depression, GABA\n00:33:09 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Understanding & Conquering Depression | Huberman Lab Essentials", 2140, false, "HWcphoKlbxY", "https://www.youtube.com/watch?v=HWcphoKlbxY", "/downloads/Andrew Huberman/2025-07-03 Understanding & Conquering Depression | Huberman Lab Essentials/Understanding & Conquering Depression | Huberman Lab Essentials [HWcphoKlbxY].mp4", false, 4, ~U[2025-07-03 12:00:30Z]] 17:12:59.470 [debug] QUERY OK source="sources" db=0.1ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:12:59.471 [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] 17:12:59.471 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [201] 17:12:59.471 [debug] Current batch of media processed. Will check again in 1000ms 17:13:00.040 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:13:00.473 [debug] Current batch of media processed. Will check again in 1000ms 17:13:01.474 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Anna Lembke, MD, Chief of the Stanford Addiction Medicine Dual Diagnosis Clinic at Stanford University School of Medicine.\n\nWe discuss how dopamine drives reward, motivation and addictive behaviors. Dr. Lembke explains the concept of the pleasure-pain balance of dopamine and how this cycle plays a key role in the development and persistence of addiction. We also discuss some of the challenges of addiction recovery, including withdrawal, relapses and the potential benefits of psychedelic-assisted therapy.\n\nEpisode show notes: https://go.hubermanlab.com/xbtub2m\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/p3JLaF_4Tz8\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Anna Lembke*\nWebsite: https://www.annalembke.com\n\n*Timestamps*\n00:00:00 Anna Lembke\n00:00:15 Dopamine, Reward & Movement\n00:01:54 Baseline Dopamine; Genetics, Temperament & Addiction\n00:05:24 Addiction, Modern Life & Boredom\n00:07:18 Pleasure-Pain Balance, Dopamine, Addiction\n00:12:39 Resetting Dopamine, Substance or Behavior Recovery, Tool: 30-Day Abstinence\n00:14:26 Relapse, Addiction, Reflexive Behavior, Empathy\n00:18:39 Triggers, Relapse, Dopamine\n00:21:37 Shame, Truth Telling & Recovery\n00:23:58 Addiction, Psychedelic-Assisted Therapy, Psilocybin, MDMA\n00:29:01 Social Media & Addiction, Tool: Intentionality\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1911, "filename" => "/downloads/Andrew Huberman/2025-06-26 Essentials: Understanding & Treating Addiction | Dr. Anna Lembke/Essentials: Understanding & Treating Addiction | Dr. Anna Lembke [i4gvIeA3RcI].mp4", "id" => "i4gvIeA3RcI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i4gvIeA3RcI", "playlist_index" => 63, "timestamp" => 1750939276, "title" => "Essentials: Understanding & Treating Addiction | Dr. Anna Lembke", "upload_date" => "20250626"} 17:13:01.474 [debug] QUERY OK source="sources" db=0.1ms idle=1009.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:01.475 [debug] QUERY OK source="sources" db=0.1ms idle=726.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:01.475 [debug] QUERY OK source="media_items" db=0.4ms idle=727.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-26 12:01:16Z], 4] 17:13:01.478 [debug] QUERY OK source="media_items" db=1.5ms idle=728.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Anna Lembke, MD, Chief of the Stanford Addiction Medicine Dual Diagnosis Clinic at Stanford University School of Medicine.\n\nWe discuss how dopamine drives reward, motivation and addictive behaviors. Dr. Lembke explains the concept of the pleasure-pain balance of dopamine and how this cycle plays a key role in the development and persistence of addiction. We also discuss some of the challenges of addiction recovery, including withdrawal, relapses and the potential benefits of psychedelic-assisted therapy.\n\nEpisode show notes: https://go.hubermanlab.com/xbtub2m\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/p3JLaF_4Tz8\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Anna Lembke*\nWebsite: https://www.annalembke.com\n\n*Timestamps*\n00:00:00 Anna Lembke\n00:00:15 Dopamine, Reward & Movement\n00:01:54 Baseline Dopamine; Genetics, Temperament & Addiction\n00:05:24 Addiction, Modern Life & Boredom\n00:07:18 Pleasure-Pain Balance, Dopamine, Addiction\n00:12:39 Resetting Dopamine, Substance or Behavior Recovery, Tool: 30-Day Abstinence\n00:14:26 Relapse, Addiction, Reflexive Behavior, Empathy\n00:18:39 Triggers, Relapse, Dopamine\n00:21:37 Shame, Truth Telling & Recovery\n00:23:58 Addiction, Psychedelic-Assisted Therapy, Psilocybin, MDMA\n00:29:01 Social Media & Addiction, Tool: Intentionality\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Understanding & Treating Addiction | Dr. Anna Lembke", "6a939151-c71a-4812-84e5-a8ffa1642307", 1911, false, "i4gvIeA3RcI", "https://www.youtube.com/watch?v=i4gvIeA3RcI", 63, "/downloads/Andrew Huberman/2025-06-26 Essentials: Understanding & Treating Addiction | Dr. Anna Lembke/Essentials: Understanding & Treating Addiction | Dr. Anna Lembke [i4gvIeA3RcI].mp4", false, false, false, 4, [], 1, ~U[2025-06-26 12:01:16Z], ~U[2026-09-16 17:13:01Z], ~U[2026-09-16 17:13:01Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Anna Lembke, MD, Chief of the Stanford Addiction Medicine Dual Diagnosis Clinic at Stanford University School of Medicine.\n\nWe discuss how dopamine drives reward, motivation and addictive behaviors. Dr. Lembke explains the concept of the pleasure-pain balance of dopamine and how this cycle plays a key role in the development and persistence of addiction. We also discuss some of the challenges of addiction recovery, including withdrawal, relapses and the potential benefits of psychedelic-assisted therapy.\n\nEpisode show notes: https://go.hubermanlab.com/xbtub2m\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/p3JLaF_4Tz8\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Anna Lembke*\nWebsite: https://www.annalembke.com\n\n*Timestamps*\n00:00:00 Anna Lembke\n00:00:15 Dopamine, Reward & Movement\n00:01:54 Baseline Dopamine; Genetics, Temperament & Addiction\n00:05:24 Addiction, Modern Life & Boredom\n00:07:18 Pleasure-Pain Balance, Dopamine, Addiction\n00:12:39 Resetting Dopamine, Substance or Behavior Recovery, Tool: 30-Day Abstinence\n00:14:26 Relapse, Addiction, Reflexive Behavior, Empathy\n00:18:39 Triggers, Relapse, Dopamine\n00:21:37 Shame, Truth Telling & Recovery\n00:23:58 Addiction, Psychedelic-Assisted Therapy, Psilocybin, MDMA\n00:29:01 Social Media & Addiction, Tool: Intentionality\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Understanding & Treating Addiction | Dr. Anna Lembke", 1911, false, "i4gvIeA3RcI", "https://www.youtube.com/watch?v=i4gvIeA3RcI", "/downloads/Andrew Huberman/2025-06-26 Essentials: Understanding & Treating Addiction | Dr. Anna Lembke/Essentials: Understanding & Treating Addiction | Dr. Anna Lembke [i4gvIeA3RcI].mp4", false, 4, ~U[2025-06-26 12:01:16Z]] 17:13:01.478 [debug] QUERY OK source="sources" db=0.1ms idle=12.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:01.478 [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" = ?) [2] 17:13:01.479 [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 [202] 17:13:01.479 [debug] Current batch of media processed. Will check again in 1000ms 17:13:02.480 [debug] Current batch of media processed. Will check again in 1000ms 17:13:03.481 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the sensations of pain and pleasure, explaining how they are sensed in the body and interpreted by the brain as well as methods to control their intensity.\n\nI discuss both the hardwired mechanisms and subjective factors that shape an individual’s perception of pain and pleasure. I also explain why pain thresholds vary from person to person and discuss various treatments for pain management such as acupuncture and supplements. Finally, I explain the role of key neurochemicals like dopamine and serotonin in mediating our experience of pain and pleasure.\n\nEpisode show notes: https://go.hubermanlab.com/NiHdOrb\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/xmhsWAqP_0Y?si=uqKQb1YZDs4jb56I\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Pain & Pleasure\n00:00:39 Skin, Appetitive vs Aversive Behaviors \n00:02:10 Skin, Neurons & Brain\n00:04:46 Brain Interpretation, Homunculus, Two-Point Discrimination Test\n00:07:43 Pain & Pleasure, Subjective Interpretation\n00:09:53 Tool: Pain & Expectation\n00:11:31 Pain Threshold \n00:13:09 Heat & Cold, Tool: Moving into Cold or Hot Environments\n00:15:00 Subjective Pain, Psychosomatic, Fibromyalgia, Whole Body Pain, Acetyl-L-carnitine\n00:19:17 Acupuncture, Electroacupuncture, Pain Management\n00:22:07 Red Heads & Pain Threshold, Endorphins\n00:24:02 Improving Pain Threshold, Dopamine \n00:25:30 Pleasure, Dopamine, Serotonin; Depression, Anti-depressants\n00:29:41 Pleasure & Pain Balance, Dopamine, Addiction\n00:31:37 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1964, "filename" => "/downloads/Andrew Huberman/2025-06-19 How to Control Your Sense of Pain & Pleasure | Huberman Lab Essentials/How to Control Your Sense of Pain & Pleasure | Huberman Lab Essentials [vm1GbSPx48g].mp4", "id" => "vm1GbSPx48g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vm1GbSPx48g", "playlist_index" => 64, "timestamp" => 1750334503, "title" => "How to Control Your Sense of Pain & Pleasure | Huberman Lab Essentials", "upload_date" => "20250619"} 17:13:03.481 [debug] QUERY OK source="sources" db=0.2ms idle=733.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:03.482 [debug] QUERY OK source="sources" db=0.1ms idle=733.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:03.482 [debug] QUERY OK source="media_items" db=0.4ms idle=734.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-19 12:01:43Z], 4] 17:13:03.485 [debug] QUERY OK source="media_items" db=1.5ms idle=735.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the sensations of pain and pleasure, explaining how they are sensed in the body and interpreted by the brain as well as methods to control their intensity.\n\nI discuss both the hardwired mechanisms and subjective factors that shape an individual’s perception of pain and pleasure. I also explain why pain thresholds vary from person to person and discuss various treatments for pain management such as acupuncture and supplements. Finally, I explain the role of key neurochemicals like dopamine and serotonin in mediating our experience of pain and pleasure.\n\nEpisode show notes: https://go.hubermanlab.com/NiHdOrb\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/xmhsWAqP_0Y?si=uqKQb1YZDs4jb56I\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Pain & Pleasure\n00:00:39 Skin, Appetitive vs Aversive Behaviors \n00:02:10 Skin, Neurons & Brain\n00:04:46 Brain Interpretation, Homunculus, Two-Point Discrimination Test\n00:07:43 Pain & Pleasure, Subjective Interpretation\n00:09:53 Tool: Pain & Expectation\n00:11:31 Pain Threshold \n00:13:09 Heat & Cold, Tool: Moving into Cold or Hot Environments\n00:15:00 Subjective Pain, Psychosomatic, Fibromyalgia, Whole Body Pain, Acetyl-L-carnitine\n00:19:17 Acupuncture, Electroacupuncture, Pain Management\n00:22:07 Red Heads & Pain Threshold, Endorphins\n00:24:02 Improving Pain Threshold, Dopamine \n00:25:30 Pleasure, Dopamine, Serotonin; Depression, Anti-depressants\n00:29:41 Pleasure & Pain Balance, Dopamine, Addiction\n00:31:37 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Control Your Sense of Pain & Pleasure | Huberman Lab Essentials", "3676cd51-6115-4f30-9c11-74dee5cff602", 1964, false, "vm1GbSPx48g", "https://www.youtube.com/watch?v=vm1GbSPx48g", 64, "/downloads/Andrew Huberman/2025-06-19 How to Control Your Sense of Pain & Pleasure | Huberman Lab Essentials/How to Control Your Sense of Pain & Pleasure | Huberman Lab Essentials [vm1GbSPx48g].mp4", false, false, false, 4, [], 1, ~U[2025-06-19 12:01:43Z], ~U[2026-09-16 17:13:03Z], ~U[2026-09-16 17:13:03Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the sensations of pain and pleasure, explaining how they are sensed in the body and interpreted by the brain as well as methods to control their intensity.\n\nI discuss both the hardwired mechanisms and subjective factors that shape an individual’s perception of pain and pleasure. I also explain why pain thresholds vary from person to person and discuss various treatments for pain management such as acupuncture and supplements. Finally, I explain the role of key neurochemicals like dopamine and serotonin in mediating our experience of pain and pleasure.\n\nEpisode show notes: https://go.hubermanlab.com/NiHdOrb\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/xmhsWAqP_0Y?si=uqKQb1YZDs4jb56I\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Pain & Pleasure\n00:00:39 Skin, Appetitive vs Aversive Behaviors \n00:02:10 Skin, Neurons & Brain\n00:04:46 Brain Interpretation, Homunculus, Two-Point Discrimination Test\n00:07:43 Pain & Pleasure, Subjective Interpretation\n00:09:53 Tool: Pain & Expectation\n00:11:31 Pain Threshold \n00:13:09 Heat & Cold, Tool: Moving into Cold or Hot Environments\n00:15:00 Subjective Pain, Psychosomatic, Fibromyalgia, Whole Body Pain, Acetyl-L-carnitine\n00:19:17 Acupuncture, Electroacupuncture, Pain Management\n00:22:07 Red Heads & Pain Threshold, Endorphins\n00:24:02 Improving Pain Threshold, Dopamine \n00:25:30 Pleasure, Dopamine, Serotonin; Depression, Anti-depressants\n00:29:41 Pleasure & Pain Balance, Dopamine, Addiction\n00:31:37 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Control Your Sense of Pain & Pleasure | Huberman Lab Essentials", 1964, false, "vm1GbSPx48g", "https://www.youtube.com/watch?v=vm1GbSPx48g", "/downloads/Andrew Huberman/2025-06-19 How to Control Your Sense of Pain & Pleasure | Huberman Lab Essentials/How to Control Your Sense of Pain & Pleasure | Huberman Lab Essentials [vm1GbSPx48g].mp4", false, 4, ~U[2025-06-19 12:01:43Z]] 17:13:03.485 [debug] QUERY OK source="sources" db=0.1ms idle=16.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:03.486 [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] 17:13:03.486 [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 [203] 17:13:03.486 [debug] Current batch of media processed. Will check again in 1000ms 17:13:04.487 [debug] Current batch of media processed. Will check again in 1000ms 17:13:05.488 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode my guest is Dr. Matt Walker, PhD, Professor of Neuroscience and Psychology at the University of California, Berkeley and host of The Matt Walker Podcast, which focuses on the science and impact of sleep.\n\nWe explore the importance of sleep and how its nightly structure, including REM and non-REM stages, helps rejuvenate the mind and body. We also discuss how caffeine, alcohol, cannabis and melatonin supplements affect your ability to fall asleep and overall sleep quality. Additionally, Matt highlights the benefits of naps and shares a variety of unconventional tips to promote healthier, more restorative sleep.\n\nEpisode show notes: https://go.hubermanlab.com/Dl8HreY\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/gbQFSMayJxk?si=wvPSlCQQdZxffsk0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Matt Walker*\nWebsite: https://www.sleepdiplomat.com\nThe Matt Walker Podcast: https://themattwalkerpodcast.buzzsprout.com\n\"Why We Sleep\": https://amzlink.to/az0k3XjUOQ8ZI\nAcademic profile: https://psychology.berkeley.edu/people/matthew-p-walker\nX: https://twitter.com/sleepdiplomat\nInstagram: https://www.instagram.com/drmattwalker\nLinkedIn: https://www.linkedin.com/in/sleepdiplomat\nMasterClass: https://www.masterclass.com/classes/matthew-walker-teaches-the-science-of-better-sleep\n\n*Timestamps*\n00:00:00 Matt Walker, Sleep\n00:00:25 Rapid Eye Movement (REM) & Non-REM Sleep, Paralysis\n00:02:05 Sleep Cycles, Nighttime Sleep Structure, Hormones\n00:07:08 Nighttime Waking Up, Fragmented Sleep\n00:09:20 Sunlight Exposure & Sleep \n00:10:43 Caffeine & Sleep Effects, Tool: Timing Caffeine\n00:13:42 Alcohol & Sleep Effects\n00:16:23 Cannabis; THC, Alcohol, REM Sleep & Dreams\n00:18:38 Melatonin, Supplementation?, Dose\n00:24:44 Prescription Sleep Aids, Cognitive Behavioral Therapy (CBT) & Sleep\n00:27:02 Naps, Benefits, Insomnia, Tool: Nap Length\n00:30:34 Sleep Tips, Tools: “Do Nothing”; Winddown Routine; Worry Journal; Clocks\n00:34:45 Acknowledgments \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2137, "filename" => "/downloads/Andrew Huberman/2025-06-12 The Science & Practice of Perfecting Your Sleep | Huberman Lab Essentials/The Science & Practice of Perfecting Your Sleep | Huberman Lab Essentials [JaRGJVrJBQ8].mp4", "id" => "JaRGJVrJBQ8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JaRGJVrJBQ8", "playlist_index" => 65, "timestamp" => 1749729629, "title" => "The Science & Practice of Perfecting Your Sleep | Huberman Lab Essentials", "upload_date" => "20250612"} 17:13:05.488 [debug] QUERY OK source="sources" db=0.2ms idle=740.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:05.489 [debug] QUERY OK source="sources" db=0.1ms idle=741.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:05.490 [debug] QUERY OK source="media_items" db=0.4ms idle=741.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-12 12:00:29Z], 4] 17:13:05.493 [debug] QUERY OK source="media_items" db=1.8ms idle=742.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode my guest is Dr. Matt Walker, PhD, Professor of Neuroscience and Psychology at the University of California, Berkeley and host of The Matt Walker Podcast, which focuses on the science and impact of sleep.\n\nWe explore the importance of sleep and how its nightly structure, including REM and non-REM stages, helps rejuvenate the mind and body. We also discuss how caffeine, alcohol, cannabis and melatonin supplements affect your ability to fall asleep and overall sleep quality. Additionally, Matt highlights the benefits of naps and shares a variety of unconventional tips to promote healthier, more restorative sleep.\n\nEpisode show notes: https://go.hubermanlab.com/Dl8HreY\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/gbQFSMayJxk?si=wvPSlCQQdZxffsk0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Matt Walker*\nWebsite: https://www.sleepdiplomat.com\nThe Matt Walker Podcast: https://themattwalkerpodcast.buzzsprout.com\n\"Why We Sleep\": https://amzlink.to/az0k3XjUOQ8ZI\nAcademic profile: https://psychology.berkeley.edu/people/matthew-p-walker\nX: https://twitter.com/sleepdiplomat\nInstagram: https://www.instagram.com/drmattwalker\nLinkedIn: https://www.linkedin.com/in/sleepdiplomat\nMasterClass: https://www.masterclass.com/classes/matthew-walker-teaches-the-science-of-better-sleep\n\n*Timestamps*\n00:00:00 Matt Walker, Sleep\n00:00:25 Rapid Eye Movement (REM) & Non-REM Sleep, Paralysis\n00:02:05 Sleep Cycles, Nighttime Sleep Structure, Hormones\n00:07:08 Nighttime Waking Up, Fragmented Sleep\n00:09:20 Sunlight Exposure & Sleep \n00:10:43 Caffeine & Sleep Effects, Tool: Timing Caffeine\n00:13:42 Alcohol & Sleep Effects\n00:16:23 Cannabis; THC, Alcohol, REM Sleep & Dreams\n00:18:38 Melatonin, Supplementation?, Dose\n00:24:44 Prescription Sleep Aids, Cognitive Behavioral Therapy (CBT) & Sleep\n00:27:02 Naps, Benefits, Insomnia, Tool: Nap Length\n00:30:34 Sleep Tips, Tools: “Do Nothing”; Winddown Routine; Worry Journal; Clocks\n00:34:45 Acknowledgments \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science & Practice of Perfecting Your Sleep | Huberman Lab Essentials", "e7f36895-a557-4007-b3de-197b0ecc38f0", 2137, false, "JaRGJVrJBQ8", "https://www.youtube.com/watch?v=JaRGJVrJBQ8", 65, "/downloads/Andrew Huberman/2025-06-12 The Science & Practice of Perfecting Your Sleep | Huberman Lab Essentials/The Science & Practice of Perfecting Your Sleep | Huberman Lab Essentials [JaRGJVrJBQ8].mp4", false, false, false, 4, [], 1, ~U[2025-06-12 12:00:29Z], ~U[2026-09-16 17:13:05Z], ~U[2026-09-16 17:13:05Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode my guest is Dr. Matt Walker, PhD, Professor of Neuroscience and Psychology at the University of California, Berkeley and host of The Matt Walker Podcast, which focuses on the science and impact of sleep.\n\nWe explore the importance of sleep and how its nightly structure, including REM and non-REM stages, helps rejuvenate the mind and body. We also discuss how caffeine, alcohol, cannabis and melatonin supplements affect your ability to fall asleep and overall sleep quality. Additionally, Matt highlights the benefits of naps and shares a variety of unconventional tips to promote healthier, more restorative sleep.\n\nEpisode show notes: https://go.hubermanlab.com/Dl8HreY\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/gbQFSMayJxk?si=wvPSlCQQdZxffsk0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Matt Walker*\nWebsite: https://www.sleepdiplomat.com\nThe Matt Walker Podcast: https://themattwalkerpodcast.buzzsprout.com\n\"Why We Sleep\": https://amzlink.to/az0k3XjUOQ8ZI\nAcademic profile: https://psychology.berkeley.edu/people/matthew-p-walker\nX: https://twitter.com/sleepdiplomat\nInstagram: https://www.instagram.com/drmattwalker\nLinkedIn: https://www.linkedin.com/in/sleepdiplomat\nMasterClass: https://www.masterclass.com/classes/matthew-walker-teaches-the-science-of-better-sleep\n\n*Timestamps*\n00:00:00 Matt Walker, Sleep\n00:00:25 Rapid Eye Movement (REM) & Non-REM Sleep, Paralysis\n00:02:05 Sleep Cycles, Nighttime Sleep Structure, Hormones\n00:07:08 Nighttime Waking Up, Fragmented Sleep\n00:09:20 Sunlight Exposure & Sleep \n00:10:43 Caffeine & Sleep Effects, Tool: Timing Caffeine\n00:13:42 Alcohol & Sleep Effects\n00:16:23 Cannabis; THC, Alcohol, REM Sleep & Dreams\n00:18:38 Melatonin, Supplementation?, Dose\n00:24:44 Prescription Sleep Aids, Cognitive Behavioral Therapy (CBT) & Sleep\n00:27:02 Naps, Benefits, Insomnia, Tool: Nap Length\n00:30:34 Sleep Tips, Tools: “Do Nothing”; Winddown Routine; Worry Journal; Clocks\n00:34:45 Acknowledgments \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science & Practice of Perfecting Your Sleep | Huberman Lab Essentials", 2137, false, "JaRGJVrJBQ8", "https://www.youtube.com/watch?v=JaRGJVrJBQ8", "/downloads/Andrew Huberman/2025-06-12 The Science & Practice of Perfecting Your Sleep | Huberman Lab Essentials/The Science & Practice of Perfecting Your Sleep | Huberman Lab Essentials [JaRGJVrJBQ8].mp4", false, 4, ~U[2025-06-12 12:00:29Z]] 17:13:05.493 [debug] QUERY OK source="sources" db=0.2ms idle=22.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:05.494 [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] 17:13:05.494 [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 [204] 17:13:05.494 [debug] Current batch of media processed. Will check again in 1000ms 17:13:06.495 [debug] Current batch of media processed. Will check again in 1000ms 17:13:07.496 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss interoception, the brain’s ability to sense and interpret signals from the body, which shapes our sense of self and underlies vital functions like focus, sleep, healing and emotions.\n\nI explain how the body communicates different types of information to the brain, influencing processes like digestion, heart rate and immune function.\n\nI also describe practical tools such as breathwork to regulate alertness, strategies to support gut health and reduce sugar cravings, and awareness practices to enhance interoception. By understanding and applying these tools, you can strengthen the brain-body connection to improve mood, overall health and performance.\n\nEpisode show notes: https://go.hubermanlab.com/EQY6djP\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/rW9QKc-iFoY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&feature=shared\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Sense of Self, Interoception \n00:01:25 Brain & Body Communication, Vagus Nerve, Mechanical & Chemical Information\n00:04:43 Lungs & Diaphragm, Tool: Breathwork for Alert or Calm\n00:09:47 Brain & Gut Communication, Tool: Reduce Sugar Cravings\n00:15:00 Brain, Gut Chemistry, Inflammation & Gut Microbiome, Tool: Fermented Foods\n00:18:53 Vomiting, Brain; Tool: Reduce Nausea\n00:23:52 Fever, Brain Chemistry, Tool: Cooling Body\n00:28:20 Vagus Nerve, Emotions, Mood, Tool: Heart Awareness\n00:34:29 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2121, "filename" => "/downloads/Andrew Huberman/2025-06-05 Improving Health With Stronger Brain-Body Connection | Huberman Lab Essentials/Improving Health With Stronger Brain-Body Connection | Huberman Lab Essentials [2ZkJtIouKzE].mp4", "id" => "2ZkJtIouKzE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2ZkJtIouKzE", "playlist_index" => 66, "timestamp" => 1749124807, "title" => "Improving Health With Stronger Brain-Body Connection | Huberman Lab Essentials", "upload_date" => "20250605"} 17:13:07.497 [debug] QUERY OK source="sources" db=0.3ms 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" IN (?)) [4] 17:13:07.497 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=749.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:07.498 [debug] QUERY OK source="media_items" db=0.4ms idle=749.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-05 12:00:07Z], 4] 17:13:07.500 [debug] QUERY OK source="media_items" db=1.5ms idle=750.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss interoception, the brain’s ability to sense and interpret signals from the body, which shapes our sense of self and underlies vital functions like focus, sleep, healing and emotions.\n\nI explain how the body communicates different types of information to the brain, influencing processes like digestion, heart rate and immune function.\n\nI also describe practical tools such as breathwork to regulate alertness, strategies to support gut health and reduce sugar cravings, and awareness practices to enhance interoception. By understanding and applying these tools, you can strengthen the brain-body connection to improve mood, overall health and performance.\n\nEpisode show notes: https://go.hubermanlab.com/EQY6djP\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/rW9QKc-iFoY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&feature=shared\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Sense of Self, Interoception \n00:01:25 Brain & Body Communication, Vagus Nerve, Mechanical & Chemical Information\n00:04:43 Lungs & Diaphragm, Tool: Breathwork for Alert or Calm\n00:09:47 Brain & Gut Communication, Tool: Reduce Sugar Cravings\n00:15:00 Brain, Gut Chemistry, Inflammation & Gut Microbiome, Tool: Fermented Foods\n00:18:53 Vomiting, Brain; Tool: Reduce Nausea\n00:23:52 Fever, Brain Chemistry, Tool: Cooling Body\n00:28:20 Vagus Nerve, Emotions, Mood, Tool: Heart Awareness\n00:34:29 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Improving Health With Stronger Brain-Body Connection | Huberman Lab Essentials", "73e89a3b-0f10-4dbb-87ac-cb0e989d4f5b", 2121, false, "2ZkJtIouKzE", "https://www.youtube.com/watch?v=2ZkJtIouKzE", 66, "/downloads/Andrew Huberman/2025-06-05 Improving Health With Stronger Brain-Body Connection | Huberman Lab Essentials/Improving Health With Stronger Brain-Body Connection | Huberman Lab Essentials [2ZkJtIouKzE].mp4", false, false, false, 4, [], 1, ~U[2025-06-05 12:00:07Z], ~U[2026-09-16 17:13:07Z], ~U[2026-09-16 17:13:07Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss interoception, the brain’s ability to sense and interpret signals from the body, which shapes our sense of self and underlies vital functions like focus, sleep, healing and emotions.\n\nI explain how the body communicates different types of information to the brain, influencing processes like digestion, heart rate and immune function.\n\nI also describe practical tools such as breathwork to regulate alertness, strategies to support gut health and reduce sugar cravings, and awareness practices to enhance interoception. By understanding and applying these tools, you can strengthen the brain-body connection to improve mood, overall health and performance.\n\nEpisode show notes: https://go.hubermanlab.com/EQY6djP\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/rW9QKc-iFoY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&feature=shared\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Sense of Self, Interoception \n00:01:25 Brain & Body Communication, Vagus Nerve, Mechanical & Chemical Information\n00:04:43 Lungs & Diaphragm, Tool: Breathwork for Alert or Calm\n00:09:47 Brain & Gut Communication, Tool: Reduce Sugar Cravings\n00:15:00 Brain, Gut Chemistry, Inflammation & Gut Microbiome, Tool: Fermented Foods\n00:18:53 Vomiting, Brain; Tool: Reduce Nausea\n00:23:52 Fever, Brain Chemistry, Tool: Cooling Body\n00:28:20 Vagus Nerve, Emotions, Mood, Tool: Heart Awareness\n00:34:29 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Improving Health With Stronger Brain-Body Connection | Huberman Lab Essentials", 2121, false, "2ZkJtIouKzE", "https://www.youtube.com/watch?v=2ZkJtIouKzE", "/downloads/Andrew Huberman/2025-06-05 Improving Health With Stronger Brain-Body Connection | Huberman Lab Essentials/Improving Health With Stronger Brain-Body Connection | Huberman Lab Essentials [2ZkJtIouKzE].mp4", false, 4, ~U[2025-06-05 12:00:07Z]] 17:13:07.501 [debug] QUERY OK source="sources" db=0.1ms idle=28.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:07.502 [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" = ?) [2] 17:13:07.502 [debug] QUERY OK source="media_items" db=0.4ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [205] 17:13:07.502 [debug] Current batch of media processed. Will check again in 1000ms 17:13:08.504 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode my guest is Lex Fridman, PhD (@lexfridman), a research scientist at the Massachusetts Institute of Technology (MIT), an expert in robotics and host of the Lex Fridman Podcast. \n\nWe discuss the development of artificial intelligence through machine learning, deep learning and self-supervised techniques. We also examine the growing significance of interactions between humans and robots, including their potential for companionship and emotional connection. This episode explores how AI is shifting from a technical tool into something that could reshape human relationships, emotions and society.\n\nEpisode show notes: https://go.hubermanlab.com/7DRbMcU\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/VRvn3Oj5r3E\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Lex Fridman; Artificial Intelligence (AI), Machine Learning, Deep Learning\n00:02:23 Supervised vs Self-Supervised Learning, Self-Play Mechanism\n00:09:06 Tesla Autopilot, Autonomous Driving, Robot & Human Interaction\n00:14:26 Human & Robot Relationship, Loneliness, Time\n00:19:18 Authenticity, Robot Companion, Emotions\n00:24:34 Robot & Human Relationship, Manipulation, Rights\n00:29:19 Dogs, Homer, Companion, Cancer, Death \n00:33:18 Dogs, Costello, Decline, Joy, Loss\n00:41:07 Closing\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2537, "filename" => "/downloads/Andrew Huberman/2025-05-29 Essentials: Machines, Creativity & Love | Dr. Lex Fridman/Essentials: Machines, Creativity & Love | Dr. Lex Fridman [SCzecagKBjY].mp4", "id" => "SCzecagKBjY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SCzecagKBjY", "playlist_index" => 67, "timestamp" => 1748520052, "title" => "Essentials: Machines, Creativity & Love | Dr. Lex Fridman", "upload_date" => "20250529"} 17:13:08.504 [debug] QUERY OK source="sources" db=0.2ms idle=1004.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:08.505 [debug] QUERY OK source="sources" db=0.1ms idle=1003.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:08.505 [debug] QUERY OK source="media_items" db=0.4ms idle=1003.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-29 12:00:52Z], 4] 17:13:08.507 [debug] QUERY OK source="media_items" db=1.3ms idle=1003.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode my guest is Lex Fridman, PhD (@lexfridman), a research scientist at the Massachusetts Institute of Technology (MIT), an expert in robotics and host of the Lex Fridman Podcast. \n\nWe discuss the development of artificial intelligence through machine learning, deep learning and self-supervised techniques. We also examine the growing significance of interactions between humans and robots, including their potential for companionship and emotional connection. This episode explores how AI is shifting from a technical tool into something that could reshape human relationships, emotions and society.\n\nEpisode show notes: https://go.hubermanlab.com/7DRbMcU\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/VRvn3Oj5r3E\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Lex Fridman; Artificial Intelligence (AI), Machine Learning, Deep Learning\n00:02:23 Supervised vs Self-Supervised Learning, Self-Play Mechanism\n00:09:06 Tesla Autopilot, Autonomous Driving, Robot & Human Interaction\n00:14:26 Human & Robot Relationship, Loneliness, Time\n00:19:18 Authenticity, Robot Companion, Emotions\n00:24:34 Robot & Human Relationship, Manipulation, Rights\n00:29:19 Dogs, Homer, Companion, Cancer, Death \n00:33:18 Dogs, Costello, Decline, Joy, Loss\n00:41:07 Closing\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Machines, Creativity & Love | Dr. Lex Fridman", "b733077e-054c-4efa-8304-11d56bdeb953", 2537, false, "SCzecagKBjY", "https://www.youtube.com/watch?v=SCzecagKBjY", 67, "/downloads/Andrew Huberman/2025-05-29 Essentials: Machines, Creativity & Love | Dr. Lex Fridman/Essentials: Machines, Creativity & Love | Dr. Lex Fridman [SCzecagKBjY].mp4", false, false, false, 4, [], 1, ~U[2025-05-29 12:00:52Z], ~U[2026-09-16 17:13:08Z], ~U[2026-09-16 17:13:08Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode my guest is Lex Fridman, PhD (@lexfridman), a research scientist at the Massachusetts Institute of Technology (MIT), an expert in robotics and host of the Lex Fridman Podcast. \n\nWe discuss the development of artificial intelligence through machine learning, deep learning and self-supervised techniques. We also examine the growing significance of interactions between humans and robots, including their potential for companionship and emotional connection. This episode explores how AI is shifting from a technical tool into something that could reshape human relationships, emotions and society.\n\nEpisode show notes: https://go.hubermanlab.com/7DRbMcU\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/VRvn3Oj5r3E\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Lex Fridman; Artificial Intelligence (AI), Machine Learning, Deep Learning\n00:02:23 Supervised vs Self-Supervised Learning, Self-Play Mechanism\n00:09:06 Tesla Autopilot, Autonomous Driving, Robot & Human Interaction\n00:14:26 Human & Robot Relationship, Loneliness, Time\n00:19:18 Authenticity, Robot Companion, Emotions\n00:24:34 Robot & Human Relationship, Manipulation, Rights\n00:29:19 Dogs, Homer, Companion, Cancer, Death \n00:33:18 Dogs, Costello, Decline, Joy, Loss\n00:41:07 Closing\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Machines, Creativity & Love | Dr. Lex Fridman", 2537, false, "SCzecagKBjY", "https://www.youtube.com/watch?v=SCzecagKBjY", "/downloads/Andrew Huberman/2025-05-29 Essentials: Machines, Creativity & Love | Dr. Lex Fridman/Essentials: Machines, Creativity & Love | Dr. Lex Fridman [SCzecagKBjY].mp4", false, 4, ~U[2025-05-29 12:00:52Z]] 17:13:08.508 [debug] QUERY OK source="sources" db=0.1ms idle=34.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:08.508 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:13:08.509 [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 [206] 17:13:08.509 [debug] Current batch of media processed. Will check again in 1000ms 17:13:09.510 [debug] Current batch of media processed. Will check again in 1000ms 17:13:10.511 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I provide a science-based daily protocol designed to enhance performance, mood and overall health by strategically timing simple yet powerful tools and behaviors.\n\nI explain how to increase energy and alertness in the morning, optimize your workspace and work sessions for maximum focus, and structure your day for sustained productivity. I also discuss the roles of fasting, meal and caffeine timing, and key nutrients, as well as how to leverage exercise to sharpen alertness and cognitive performance. Additionally, I describe evening practices and supplements that help you fall asleep quickly and promote quality sleep.\n\nEpisode show notes: https://go.hubermanlab.com/4RPwGcJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/aXvDEmo6uS4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Office Hours, Example Daily Protocol\n00:01:48 Morning, Tools: Temperature Minimum, Walk, Sunlight & Cortisol\n00:05:30 Hydration, Electrolytes, Tool: Delay Caffeine\n00:07:39 Morning Focus, Fasting\n00:08:27 Tools: Optimize Workspace, Screen Position, Work Bouts\n00:11:38 Tool: Timing Work Bouts, Temperature Minimum\n00:13:55 Exercise, Strength & Hypertrophy, Endurance Training, Tool: 80/20 Workouts\n00:16:55 Afternoon, Meal Timing, Carbs, Omega-3s, Tool: Afternoon Walks & Light\n00:21:40 Dinner, Sleep Transition, Carbs, Serotonin\n00:24:51 Accelerate Sleep, Tool: Reduce Temperature & Hot Baths\n00:26:41 Sleep Supplements, Magnesium, Apigenin, Theanine; Waking at Night\n00:29:41 Example Daily Routine, Work Blocks\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1913, "filename" => "/downloads/Andrew Huberman/2025-05-22 Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials/Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials [Pmd6knanPKw].mp4", "id" => "Pmd6knanPKw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Pmd6knanPKw", "playlist_index" => 68, "timestamp" => 1747915247, "title" => "Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials", "upload_date" => "20250522"} 17:13:10.511 [debug] QUERY OK source="sources" db=0.2ms idle=763.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:10.512 [debug] QUERY OK source="sources" db=0.1ms idle=763.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:10.513 [debug] QUERY OK source="media_items" db=0.4ms idle=764.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-22 12:00:47Z], 4] 17:13:10.516 [debug] QUERY OK source="media_items" db=2.6ms idle=765.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I provide a science-based daily protocol designed to enhance performance, mood and overall health by strategically timing simple yet powerful tools and behaviors.\n\nI explain how to increase energy and alertness in the morning, optimize your workspace and work sessions for maximum focus, and structure your day for sustained productivity. I also discuss the roles of fasting, meal and caffeine timing, and key nutrients, as well as how to leverage exercise to sharpen alertness and cognitive performance. Additionally, I describe evening practices and supplements that help you fall asleep quickly and promote quality sleep.\n\nEpisode show notes: https://go.hubermanlab.com/4RPwGcJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/aXvDEmo6uS4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Office Hours, Example Daily Protocol\n00:01:48 Morning, Tools: Temperature Minimum, Walk, Sunlight & Cortisol\n00:05:30 Hydration, Electrolytes, Tool: Delay Caffeine\n00:07:39 Morning Focus, Fasting\n00:08:27 Tools: Optimize Workspace, Screen Position, Work Bouts\n00:11:38 Tool: Timing Work Bouts, Temperature Minimum\n00:13:55 Exercise, Strength & Hypertrophy, Endurance Training, Tool: 80/20 Workouts\n00:16:55 Afternoon, Meal Timing, Carbs, Omega-3s, Tool: Afternoon Walks & Light\n00:21:40 Dinner, Sleep Transition, Carbs, Serotonin\n00:24:51 Accelerate Sleep, Tool: Reduce Temperature & Hot Baths\n00:26:41 Sleep Supplements, Magnesium, Apigenin, Theanine; Waking at Night\n00:29:41 Example Daily Routine, Work Blocks\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials", "89d79f92-1ed5-45fb-85e9-08d42d411f09", 1913, false, "Pmd6knanPKw", "https://www.youtube.com/watch?v=Pmd6knanPKw", 68, "/downloads/Andrew Huberman/2025-05-22 Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials/Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials [Pmd6knanPKw].mp4", false, false, false, 4, [], 1, ~U[2025-05-22 12:00:47Z], ~U[2026-09-16 17:13:10Z], ~U[2026-09-16 17:13:10Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I provide a science-based daily protocol designed to enhance performance, mood and overall health by strategically timing simple yet powerful tools and behaviors.\n\nI explain how to increase energy and alertness in the morning, optimize your workspace and work sessions for maximum focus, and structure your day for sustained productivity. I also discuss the roles of fasting, meal and caffeine timing, and key nutrients, as well as how to leverage exercise to sharpen alertness and cognitive performance. Additionally, I describe evening practices and supplements that help you fall asleep quickly and promote quality sleep.\n\nEpisode show notes: https://go.hubermanlab.com/4RPwGcJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/aXvDEmo6uS4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Office Hours, Example Daily Protocol\n00:01:48 Morning, Tools: Temperature Minimum, Walk, Sunlight & Cortisol\n00:05:30 Hydration, Electrolytes, Tool: Delay Caffeine\n00:07:39 Morning Focus, Fasting\n00:08:27 Tools: Optimize Workspace, Screen Position, Work Bouts\n00:11:38 Tool: Timing Work Bouts, Temperature Minimum\n00:13:55 Exercise, Strength & Hypertrophy, Endurance Training, Tool: 80/20 Workouts\n00:16:55 Afternoon, Meal Timing, Carbs, Omega-3s, Tool: Afternoon Walks & Light\n00:21:40 Dinner, Sleep Transition, Carbs, Serotonin\n00:24:51 Accelerate Sleep, Tool: Reduce Temperature & Hot Baths\n00:26:41 Sleep Supplements, Magnesium, Apigenin, Theanine; Waking at Night\n00:29:41 Example Daily Routine, Work Blocks\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials", 1913, false, "Pmd6knanPKw", "https://www.youtube.com/watch?v=Pmd6knanPKw", "/downloads/Andrew Huberman/2025-05-22 Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials/Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials [Pmd6knanPKw].mp4", false, 4, ~U[2025-05-22 12:00:47Z]] 17:13:10.516 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [4] 17:13:10.517 [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] 17:13:10.517 [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 [207] 17:13:10.518 [debug] Current batch of media processed. Will check again in 1000ms 17:13:11.519 [debug] Current batch of media processed. Will check again in 1000ms 17:13:12.520 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode of Huberman Lab Essentials, my guest is \u2060Dr. Karl Deisseroth, M.D., Ph.D.\u2060, a clinical psychiatrist and professor of bioengineering and of psychiatry and behavioral sciences at Stanford University.\n\nWe discuss his experiences as a clinician treating complex psychiatric conditions and his lab’s pioneering work in developing transformative therapies for mental illness. He explains the complexities of mental illness and how emerging technologies—such as optogenetics and brain-machine interfaces—could revolutionize care. We also explore promising new therapies, including psychedelics and MDMA, for conditions like depression and PTSD.\n\nEpisode show notes: https://go.hubermanlab.com/0M1gSQ0\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/w9MXqXBZy9U\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Karl Deisseroth*\nStanford academic profile: https://profiles.stanford.edu/karl-deisseroth \nWebsite: http://deisseroth.com \nLab website: https://dlab.stanford.edu \nProjections: A Story of Human Emotions (book): https://amzlink.to/az0jxcLUA11Dj\nX: https://x.com/KarlDeisseroth \n\n*Timestamps*\n00:00:00 Karl Deisseroth; Neurology vs Psychiatry\n00:01:36 Speech; Blood Test?; Seeking Help\n00:04:20 Feelings, Jargon; Psychiatric Treatment\n00:09:40 Future Treatment; Vagus Nerve Stimulation, Depression, Optogenetics\n00:18:24 Brain-Machine Interfaces\n00:19:37 ADHD Symptoms, Lifestyle, Technology\n00:26:10 Psychedelics, Depression Treatment, Risks\n00:32:19 MDMA (Ecstasy), Trauma & Post-Traumatic Stress Disorder (PTSD) Treatment\n00:35:21 Projections: A Story of Human Emotions Book, Optimism\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2314, "filename" => "/downloads/Andrew Huberman/2025-05-15 Essentials: Understanding & Healing the Mind | Dr. Karl Deisseroth/Essentials: Understanding & Healing the Mind | Dr. Karl Deisseroth [RSnol_TVrzQ].mp4", "id" => "RSnol_TVrzQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RSnol_TVrzQ", "playlist_index" => 69, "timestamp" => 1747310450, "title" => "Essentials: Understanding & Healing the Mind | Dr. Karl Deisseroth", "upload_date" => "20250515"} 17:13:12.521 [debug] QUERY OK source="sources" db=0.7ms idle=772.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:12.521 [debug] QUERY OK source="sources" db=0.2ms idle=773.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:12.522 [debug] QUERY OK source="media_items" db=0.7ms idle=774.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-15 12:00:50Z], 4] 17:13:12.525 [debug] QUERY OK source="media_items" db=1.7ms idle=775.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode of Huberman Lab Essentials, my guest is \u2060Dr. Karl Deisseroth, M.D., Ph.D.\u2060, a clinical psychiatrist and professor of bioengineering and of psychiatry and behavioral sciences at Stanford University.\n\nWe discuss his experiences as a clinician treating complex psychiatric conditions and his lab’s pioneering work in developing transformative therapies for mental illness. He explains the complexities of mental illness and how emerging technologies—such as optogenetics and brain-machine interfaces—could revolutionize care. We also explore promising new therapies, including psychedelics and MDMA, for conditions like depression and PTSD.\n\nEpisode show notes: https://go.hubermanlab.com/0M1gSQ0\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/w9MXqXBZy9U\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Karl Deisseroth*\nStanford academic profile: https://profiles.stanford.edu/karl-deisseroth \nWebsite: http://deisseroth.com \nLab website: https://dlab.stanford.edu \nProjections: A Story of Human Emotions (book): https://amzlink.to/az0jxcLUA11Dj\nX: https://x.com/KarlDeisseroth \n\n*Timestamps*\n00:00:00 Karl Deisseroth; Neurology vs Psychiatry\n00:01:36 Speech; Blood Test?; Seeking Help\n00:04:20 Feelings, Jargon; Psychiatric Treatment\n00:09:40 Future Treatment; Vagus Nerve Stimulation, Depression, Optogenetics\n00:18:24 Brain-Machine Interfaces\n00:19:37 ADHD Symptoms, Lifestyle, Technology\n00:26:10 Psychedelics, Depression Treatment, Risks\n00:32:19 MDMA (Ecstasy), Trauma & Post-Traumatic Stress Disorder (PTSD) Treatment\n00:35:21 Projections: A Story of Human Emotions Book, Optimism\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Understanding & Healing the Mind | Dr. Karl Deisseroth", "3b128f0d-5149-4059-9cc4-42b1611d99e4", 2314, false, "RSnol_TVrzQ", "https://www.youtube.com/watch?v=RSnol_TVrzQ", 69, "/downloads/Andrew Huberman/2025-05-15 Essentials: Understanding & Healing the Mind | Dr. Karl Deisseroth/Essentials: Understanding & Healing the Mind | Dr. Karl Deisseroth [RSnol_TVrzQ].mp4", false, false, false, 4, [], 1, ~U[2025-05-15 12:00:50Z], ~U[2026-09-16 17:13:12Z], ~U[2026-09-16 17:13:12Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode of Huberman Lab Essentials, my guest is \u2060Dr. Karl Deisseroth, M.D., Ph.D.\u2060, a clinical psychiatrist and professor of bioengineering and of psychiatry and behavioral sciences at Stanford University.\n\nWe discuss his experiences as a clinician treating complex psychiatric conditions and his lab’s pioneering work in developing transformative therapies for mental illness. He explains the complexities of mental illness and how emerging technologies—such as optogenetics and brain-machine interfaces—could revolutionize care. We also explore promising new therapies, including psychedelics and MDMA, for conditions like depression and PTSD.\n\nEpisode show notes: https://go.hubermanlab.com/0M1gSQ0\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/w9MXqXBZy9U\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Karl Deisseroth*\nStanford academic profile: https://profiles.stanford.edu/karl-deisseroth \nWebsite: http://deisseroth.com \nLab website: https://dlab.stanford.edu \nProjections: A Story of Human Emotions (book): https://amzlink.to/az0jxcLUA11Dj\nX: https://x.com/KarlDeisseroth \n\n*Timestamps*\n00:00:00 Karl Deisseroth; Neurology vs Psychiatry\n00:01:36 Speech; Blood Test?; Seeking Help\n00:04:20 Feelings, Jargon; Psychiatric Treatment\n00:09:40 Future Treatment; Vagus Nerve Stimulation, Depression, Optogenetics\n00:18:24 Brain-Machine Interfaces\n00:19:37 ADHD Symptoms, Lifestyle, Technology\n00:26:10 Psychedelics, Depression Treatment, Risks\n00:32:19 MDMA (Ecstasy), Trauma & Post-Traumatic Stress Disorder (PTSD) Treatment\n00:35:21 Projections: A Story of Human Emotions Book, Optimism\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Understanding & Healing the Mind | Dr. Karl Deisseroth", 2314, false, "RSnol_TVrzQ", "https://www.youtube.com/watch?v=RSnol_TVrzQ", "/downloads/Andrew Huberman/2025-05-15 Essentials: Understanding & Healing the Mind | Dr. Karl Deisseroth/Essentials: Understanding & Healing the Mind | Dr. Karl Deisseroth [RSnol_TVrzQ].mp4", false, 4, ~U[2025-05-15 12:00:50Z]] 17:13:12.526 [debug] QUERY OK source="sources" db=0.7ms idle=46.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:12.527 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.5ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:13:12.529 [debug] QUERY OK source="media_items" db=0.7ms 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 [208] 17:13:12.529 [debug] Current batch of media processed. Will check again in 1000ms 17:13:13.530 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how the auditory and vestibular (balance) systems are essential for enhancing learning and improving focus.\n\nI explain how the auditory system captures sound waves and how the brain interprets these signals to make sense of the environment. I also discuss the use of white noise and binaural beats to support brain states conducive to learning, focus and relaxation. Additionally, I explain how the vestibular system helps maintain balance and examine practical tools to enhance auditory learning, cognitive performance and mood.\n\nEpisode show notes: https://go.hubermanlab.com/slXpCbc\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/JVRyzYB9JSY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hearing & Balance\n00:00:55 Ears, Sound Waves, Cochlea\n00:04:42 Sound & Direction, Ventriloquism Effect, Cupping Ears\n00:08:09 Binaural Beats, Alertness, Calmness, Learning, Anxiety\n00:12:27 Tool: White Noise & Learning\n00:15:54 White Noise, Hearing Loss & Child Development\n00:20:02 Auditory Learning, Cocktail Party Effect, Tool: Remember New Names\n00:24:06 Balance, Ears, Vestibular System\n00:29:17 Improve Dynamic Balance, Tool: Improve Mood & Learning, Tilted Exercise\n00:32:11 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1990, "filename" => "/downloads/Andrew Huberman/2025-05-08 How Hearing & Balance Enhance Focus & Learning | Huberman Lab Essentials/How Hearing & Balance Enhance Focus & Learning | Huberman Lab Essentials [fSBgDq2ttCw].mp4", "id" => "fSBgDq2ttCw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fSBgDq2ttCw", "playlist_index" => 70, "timestamp" => 1746705672, "title" => "How Hearing & Balance Enhance Focus & Learning | Huberman Lab Essentials", "upload_date" => "20250508"} 17:13:13.531 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1005.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:13.531 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1004.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:13.532 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1003.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-08 12:01:12Z], 4] 17:13:13.539 [debug] QUERY OK source="media_items" db=5.8ms idle=1003.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how the auditory and vestibular (balance) systems are essential for enhancing learning and improving focus.\n\nI explain how the auditory system captures sound waves and how the brain interprets these signals to make sense of the environment. I also discuss the use of white noise and binaural beats to support brain states conducive to learning, focus and relaxation. Additionally, I explain how the vestibular system helps maintain balance and examine practical tools to enhance auditory learning, cognitive performance and mood.\n\nEpisode show notes: https://go.hubermanlab.com/slXpCbc\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/JVRyzYB9JSY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hearing & Balance\n00:00:55 Ears, Sound Waves, Cochlea\n00:04:42 Sound & Direction, Ventriloquism Effect, Cupping Ears\n00:08:09 Binaural Beats, Alertness, Calmness, Learning, Anxiety\n00:12:27 Tool: White Noise & Learning\n00:15:54 White Noise, Hearing Loss & Child Development\n00:20:02 Auditory Learning, Cocktail Party Effect, Tool: Remember New Names\n00:24:06 Balance, Ears, Vestibular System\n00:29:17 Improve Dynamic Balance, Tool: Improve Mood & Learning, Tilted Exercise\n00:32:11 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Hearing & Balance Enhance Focus & Learning | Huberman Lab Essentials", "a51d52b8-419c-4568-92d7-f0084fa502f2", 1990, false, "fSBgDq2ttCw", "https://www.youtube.com/watch?v=fSBgDq2ttCw", 70, "/downloads/Andrew Huberman/2025-05-08 How Hearing & Balance Enhance Focus & Learning | Huberman Lab Essentials/How Hearing & Balance Enhance Focus & Learning | Huberman Lab Essentials [fSBgDq2ttCw].mp4", false, false, false, 4, [], 1, ~U[2025-05-08 12:01:12Z], ~U[2026-09-16 17:13:13Z], ~U[2026-09-16 17:13:13Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how the auditory and vestibular (balance) systems are essential for enhancing learning and improving focus.\n\nI explain how the auditory system captures sound waves and how the brain interprets these signals to make sense of the environment. I also discuss the use of white noise and binaural beats to support brain states conducive to learning, focus and relaxation. Additionally, I explain how the vestibular system helps maintain balance and examine practical tools to enhance auditory learning, cognitive performance and mood.\n\nEpisode show notes: https://go.hubermanlab.com/slXpCbc\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/JVRyzYB9JSY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hearing & Balance\n00:00:55 Ears, Sound Waves, Cochlea\n00:04:42 Sound & Direction, Ventriloquism Effect, Cupping Ears\n00:08:09 Binaural Beats, Alertness, Calmness, Learning, Anxiety\n00:12:27 Tool: White Noise & Learning\n00:15:54 White Noise, Hearing Loss & Child Development\n00:20:02 Auditory Learning, Cocktail Party Effect, Tool: Remember New Names\n00:24:06 Balance, Ears, Vestibular System\n00:29:17 Improve Dynamic Balance, Tool: Improve Mood & Learning, Tilted Exercise\n00:32:11 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Hearing & Balance Enhance Focus & Learning | Huberman Lab Essentials", 1990, false, "fSBgDq2ttCw", "https://www.youtube.com/watch?v=fSBgDq2ttCw", "/downloads/Andrew Huberman/2025-05-08 How Hearing & Balance Enhance Focus & Learning | Huberman Lab Essentials/How Hearing & Balance Enhance Focus & Learning | Huberman Lab Essentials [fSBgDq2ttCw].mp4", false, 4, ~U[2025-05-08 12:01:12Z]] 17:13:13.539 [debug] QUERY OK source="sources" db=0.2ms idle=58.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:13.540 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 17:13:13.541 [debug] QUERY OK source="media_items" db=0.5ms idle=9.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [209] 17:13:13.541 [debug] Current batch of media processed. Will check again in 1000ms 17:13:14.542 [debug] Current batch of media processed. Will check again in 1000ms 17:13:15.545 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how your sense of smell (olfaction), taste, and chemical sensing influence memory, alertness, focus, and even communication between people.\n\nI explain how these senses help us detect chemicals in the environment and respond to a variety of environmental cues. I discuss the connection between the olfactory system and cognitive performance, and I provide practical tools to enhance learning, sensory function, and brain health. Additionally, I examine how chemical signals exchanged between people subtly influence emotions, biology, and social bonds.\n\nHuberman Lab Essentials episodes are approximately 30 minutes long and focus on key science and protocol takeaways from past Huberman Lab episodes. Essentials are released every Thursday, while full-length episodes continue to air every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/kMvy0Rh\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/Mwz8JprPeMc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Smell & Taste\n00:02:04 Tears, Biological Response & Communication\n00:05:05 Smell, Innate vs Learned Response, Memory\n00:08:31 Accessory Olfactory Pathway, Pheromones, Vandenbergh effect\n00:10:41 Smell & Alertness, Smelling Salts, Tool: Nasal Breathing & Learning\n00:14:06 Tool: Increase Sense of Smell; Brain Health, Olfactory Neurons\n00:16:54 Traumatic Brain Injury & Olfactory Dysfunction\n00:19:07 Smell, Alertness, Smelling Salts, Tool: Peppermint\n00:21:15 Taste Modalities & Functions; Taste & Digestive System\n00:27:30 Pheromones, Coolidge Effect, Humans & Chemical Communication\n00:33:34 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2068, "filename" => "/downloads/Andrew Huberman/2025-05-01 How Smell, Taste & Pheromones Shape Behavior | Huberman Lab Essentials/How Smell, Taste & Pheromones Shape Behavior | Huberman Lab Essentials [_eDg9yOvvrQ].mp4", "id" => "_eDg9yOvvrQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_eDg9yOvvrQ", "playlist_index" => 71, "timestamp" => 1746100860, "title" => "How Smell, Taste & Pheromones Shape Behavior | Huberman Lab Essentials", "upload_date" => "20250501"} 17:13:15.550 [debug] QUERY OK source="sources" db=1.9ms queue=2.4ms idle=797.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:15.551 [debug] QUERY OK source="sources" db=0.7ms queue=0.3ms idle=802.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:15.553 [debug] QUERY OK source="media_items" db=1.6ms idle=803.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-01 12:01:00Z], 4] 17:13:15.558 [debug] QUERY OK source="media_items" db=4.2ms idle=805.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how your sense of smell (olfaction), taste, and chemical sensing influence memory, alertness, focus, and even communication between people.\n\nI explain how these senses help us detect chemicals in the environment and respond to a variety of environmental cues. I discuss the connection between the olfactory system and cognitive performance, and I provide practical tools to enhance learning, sensory function, and brain health. Additionally, I examine how chemical signals exchanged between people subtly influence emotions, biology, and social bonds.\n\nHuberman Lab Essentials episodes are approximately 30 minutes long and focus on key science and protocol takeaways from past Huberman Lab episodes. Essentials are released every Thursday, while full-length episodes continue to air every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/kMvy0Rh\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/Mwz8JprPeMc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Smell & Taste\n00:02:04 Tears, Biological Response & Communication\n00:05:05 Smell, Innate vs Learned Response, Memory\n00:08:31 Accessory Olfactory Pathway, Pheromones, Vandenbergh effect\n00:10:41 Smell & Alertness, Smelling Salts, Tool: Nasal Breathing & Learning\n00:14:06 Tool: Increase Sense of Smell; Brain Health, Olfactory Neurons\n00:16:54 Traumatic Brain Injury & Olfactory Dysfunction\n00:19:07 Smell, Alertness, Smelling Salts, Tool: Peppermint\n00:21:15 Taste Modalities & Functions; Taste & Digestive System\n00:27:30 Pheromones, Coolidge Effect, Humans & Chemical Communication\n00:33:34 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Smell, Taste & Pheromones Shape Behavior | Huberman Lab Essentials", "4617e31f-d299-4bbb-a4da-124e6139916d", 2068, false, "_eDg9yOvvrQ", "https://www.youtube.com/watch?v=_eDg9yOvvrQ", 71, "/downloads/Andrew Huberman/2025-05-01 How Smell, Taste & Pheromones Shape Behavior | Huberman Lab Essentials/How Smell, Taste & Pheromones Shape Behavior | Huberman Lab Essentials [_eDg9yOvvrQ].mp4", false, false, false, 4, [], 1, ~U[2025-05-01 12:01:00Z], ~U[2026-09-16 17:13:15Z], ~U[2026-09-16 17:13:15Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how your sense of smell (olfaction), taste, and chemical sensing influence memory, alertness, focus, and even communication between people.\n\nI explain how these senses help us detect chemicals in the environment and respond to a variety of environmental cues. I discuss the connection between the olfactory system and cognitive performance, and I provide practical tools to enhance learning, sensory function, and brain health. Additionally, I examine how chemical signals exchanged between people subtly influence emotions, biology, and social bonds.\n\nHuberman Lab Essentials episodes are approximately 30 minutes long and focus on key science and protocol takeaways from past Huberman Lab episodes. Essentials are released every Thursday, while full-length episodes continue to air every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/kMvy0Rh\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/Mwz8JprPeMc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Smell & Taste\n00:02:04 Tears, Biological Response & Communication\n00:05:05 Smell, Innate vs Learned Response, Memory\n00:08:31 Accessory Olfactory Pathway, Pheromones, Vandenbergh effect\n00:10:41 Smell & Alertness, Smelling Salts, Tool: Nasal Breathing & Learning\n00:14:06 Tool: Increase Sense of Smell; Brain Health, Olfactory Neurons\n00:16:54 Traumatic Brain Injury & Olfactory Dysfunction\n00:19:07 Smell, Alertness, Smelling Salts, Tool: Peppermint\n00:21:15 Taste Modalities & Functions; Taste & Digestive System\n00:27:30 Pheromones, Coolidge Effect, Humans & Chemical Communication\n00:33:34 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Smell, Taste & Pheromones Shape Behavior | Huberman Lab Essentials", 2068, false, "_eDg9yOvvrQ", "https://www.youtube.com/watch?v=_eDg9yOvvrQ", "/downloads/Andrew Huberman/2025-05-01 How Smell, Taste & Pheromones Shape Behavior | Huberman Lab Essentials/How Smell, Taste & Pheromones Shape Behavior | Huberman Lab Essentials [_eDg9yOvvrQ].mp4", false, 4, ~U[2025-05-01 12:01:00Z]] 17:13:15.560 [debug] QUERY OK source="sources" db=0.9ms queue=0.8ms idle=75.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:15.564 [debug] QUERY OK source="media_profiles" db=2.8ms 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] 17:13:15.566 [debug] QUERY OK source="media_items" db=1.6ms idle=12.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 [210] 17:13:15.567 [debug] Current batch of media processed. Will check again in 1000ms 17:13:16.568 [debug] Current batch of media processed. Will check again in 1000ms 17:13:17.569 [debug] Current batch of media processed. Will check again in 1000ms 17:13:18.570 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the science of vision and share simple, effective tools to enhance eyesight and preserve eye health.\n\nI explain how the eyes and brain work together to process light, color and motion using specialized structures such as the retina and photoreceptors, and why conditions like nearsightedness, visual hallucinations and lazy eye occur. I also cover specific visual protocols to increase alertness and focus during work, improve sleep, and support visual health. Additionally, I highlight key vitamins essential for vision and discuss supplements such as lutein and astaxanthin for maintaining long-term eye health.\n\nEpisode show notes: https://go.hubermanlab.com/FYmmr1L\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/ObtW353d5i0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Improve Vision\n00:01:01 Eyes, Lens, Eyelashes\n00:02:40 Retina, Photoreceptors & Brain\n00:06:34 Eyesight & Subconscious Vision Effects\n00:07:25 Time of Day & Retina, Tool: Morning Sunlight Exposure\n00:10:25 Tool: Reduce Nearsightedness & Outdoor Time\n00:10:56 Accommodation, Focus, Tools: Panoramic Vision; Upward Gaze\n00:14:43 Improve Vision, Tools: View Distances; Smooth Pursuit; Accommodation\n00:17:36 Binocular Vision, Lazy Eye, Children\n00:20:25 Hallucinations & Visual System \n00:21:38 Improve & Test Vision, Tool: Snellen Chart\n00:23:44 Support Vision, Tool: Vitamin A & Vegetables\n00:25:11 Supplements, Lutein, Astaxanthin\n00:27:32 Recap & Key Takeaways; Cardiovascular System\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1770, "filename" => "/downloads/Andrew Huberman/2025-04-24 Protocols to Improve Vision & Eyesight | Huberman Lab Essentials/Protocols to Improve Vision & Eyesight | Huberman Lab Essentials [ssmwxKPFMFU].mp4", "id" => "ssmwxKPFMFU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ssmwxKPFMFU", "playlist_index" => 72, "timestamp" => 1745496099, "title" => "Protocols to Improve Vision & Eyesight | Huberman Lab Essentials", "upload_date" => "20250424"} 17:13:18.571 [debug] QUERY OK source="sources" db=0.4ms idle=1822.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:18.571 [debug] QUERY OK source="sources" db=0.2ms idle=1823.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:18.572 [debug] QUERY OK source="media_items" db=0.5ms idle=1823.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-24 12:01:39Z], 4] 17:13:18.576 [debug] QUERY OK source="media_items" db=3.3ms idle=1087.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the science of vision and share simple, effective tools to enhance eyesight and preserve eye health.\n\nI explain how the eyes and brain work together to process light, color and motion using specialized structures such as the retina and photoreceptors, and why conditions like nearsightedness, visual hallucinations and lazy eye occur. I also cover specific visual protocols to increase alertness and focus during work, improve sleep, and support visual health. Additionally, I highlight key vitamins essential for vision and discuss supplements such as lutein and astaxanthin for maintaining long-term eye health.\n\nEpisode show notes: https://go.hubermanlab.com/FYmmr1L\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/ObtW353d5i0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Improve Vision\n00:01:01 Eyes, Lens, Eyelashes\n00:02:40 Retina, Photoreceptors & Brain\n00:06:34 Eyesight & Subconscious Vision Effects\n00:07:25 Time of Day & Retina, Tool: Morning Sunlight Exposure\n00:10:25 Tool: Reduce Nearsightedness & Outdoor Time\n00:10:56 Accommodation, Focus, Tools: Panoramic Vision; Upward Gaze\n00:14:43 Improve Vision, Tools: View Distances; Smooth Pursuit; Accommodation\n00:17:36 Binocular Vision, Lazy Eye, Children\n00:20:25 Hallucinations & Visual System \n00:21:38 Improve & Test Vision, Tool: Snellen Chart\n00:23:44 Support Vision, Tool: Vitamin A & Vegetables\n00:25:11 Supplements, Lutein, Astaxanthin\n00:27:32 Recap & Key Takeaways; Cardiovascular System\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Protocols to Improve Vision & Eyesight | Huberman Lab Essentials", "25b20bad-0960-4fee-9056-efb2a4141ad0", 1770, false, "ssmwxKPFMFU", "https://www.youtube.com/watch?v=ssmwxKPFMFU", 72, "/downloads/Andrew Huberman/2025-04-24 Protocols to Improve Vision & Eyesight | Huberman Lab Essentials/Protocols to Improve Vision & Eyesight | Huberman Lab Essentials [ssmwxKPFMFU].mp4", false, false, false, 4, [], 1, ~U[2025-04-24 12:01:39Z], ~U[2026-09-16 17:13:18Z], ~U[2026-09-16 17:13:18Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the science of vision and share simple, effective tools to enhance eyesight and preserve eye health.\n\nI explain how the eyes and brain work together to process light, color and motion using specialized structures such as the retina and photoreceptors, and why conditions like nearsightedness, visual hallucinations and lazy eye occur. I also cover specific visual protocols to increase alertness and focus during work, improve sleep, and support visual health. Additionally, I highlight key vitamins essential for vision and discuss supplements such as lutein and astaxanthin for maintaining long-term eye health.\n\nEpisode show notes: https://go.hubermanlab.com/FYmmr1L\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/ObtW353d5i0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Improve Vision\n00:01:01 Eyes, Lens, Eyelashes\n00:02:40 Retina, Photoreceptors & Brain\n00:06:34 Eyesight & Subconscious Vision Effects\n00:07:25 Time of Day & Retina, Tool: Morning Sunlight Exposure\n00:10:25 Tool: Reduce Nearsightedness & Outdoor Time\n00:10:56 Accommodation, Focus, Tools: Panoramic Vision; Upward Gaze\n00:14:43 Improve Vision, Tools: View Distances; Smooth Pursuit; Accommodation\n00:17:36 Binocular Vision, Lazy Eye, Children\n00:20:25 Hallucinations & Visual System \n00:21:38 Improve & Test Vision, Tool: Snellen Chart\n00:23:44 Support Vision, Tool: Vitamin A & Vegetables\n00:25:11 Supplements, Lutein, Astaxanthin\n00:27:32 Recap & Key Takeaways; Cardiovascular System\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Protocols to Improve Vision & Eyesight | Huberman Lab Essentials", 1770, false, "ssmwxKPFMFU", "https://www.youtube.com/watch?v=ssmwxKPFMFU", "/downloads/Andrew Huberman/2025-04-24 Protocols to Improve Vision & Eyesight | Huberman Lab Essentials/Protocols to Improve Vision & Eyesight | Huberman Lab Essentials [ssmwxKPFMFU].mp4", false, 4, ~U[2025-04-24 12:01:39Z]] 17:13:18.577 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=89.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:18.578 [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] 17:13:18.578 [debug] QUERY OK source="media_items" db=0.4ms idle=6.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [211] 17:13:18.578 [debug] Current batch of media processed. Will check again in 1000ms 17:13:19.580 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to build endurance and describe targeted protocols to enhance different types of endurance.\n\nI discuss how endurance—the ability to sustain effort—requires the coordination of physical and mental systems driven by energy availability, brain willpower, and specific training adaptations in the muscles, heart, lungs and neurons. I explain conditioning protocols designed to enhance four types of endurance, from long-duration steady state to muscular endurance and high-intensity intervals, and how each training style triggers unique adaptations in the body and brain, such as improved mitochondrial function and oxygen utilization. Additionally, I highlight the crucial role of hydration and electrolytes, which are essential for neural function and influence the brain’s willpower to sustain effort.\n\nEpisode show notes: https://go.hubermanlab.com/PH5df16\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/VQLU7gpk_X8\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Build Endurance\n00:00:50 Energy Sources, ATP, Oxygen \n00:04:14 Neurons & Willpower, Glucose & Electrolytes\n00:09:19 Heart, Lungs; Physiology & Performance Limiting Factors\n00:10:35 Muscular Endurance, Protocol, Concentric Movements, Mitochondria\n00:17:14 Long-Duration Endurance, Efficiency, Mitochondria, Capillaries\n00:21:07 High-Intensity Interval Training (HIIT), Anaerobic Endurance, Protocol\n00:27:47 High-Intensity Aerobic Endurance, Adaptations\n00:30:06 Brain & Body Adaptations, Heart\n00:33:57 Hydration, Tool: Galpin Equation\n00:35:38 Supplements, Stimulants, Magnesium Malate\n00:36:27 Recap & Key Takeaways\n\n#HubermanLab #Science #Health #Endurance \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2246, "filename" => "/downloads/Andrew Huberman/2025-04-17 How to Build Endurance | Huberman Lab Essentials/How to Build Endurance | Huberman Lab Essentials [7MEhDlw1e9k].mp4", "id" => "7MEhDlw1e9k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7MEhDlw1e9k", "playlist_index" => 73, "timestamp" => 1744891221, "title" => "How to Build Endurance | Huberman Lab Essentials", "upload_date" => "20250417"} 17:13:19.582 [debug] QUERY OK source="sources" db=1.8ms idle=1004.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:19.584 [debug] QUERY OK source="sources" db=0.4ms idle=1006.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:19.587 [debug] QUERY OK source="media_items" db=1.9ms idle=1006.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-17 12:00:21Z], 4] 17:13:19.625 [debug] QUERY OK source="media_items" db=37.3ms idle=1009.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to build endurance and describe targeted protocols to enhance different types of endurance.\n\nI discuss how endurance—the ability to sustain effort—requires the coordination of physical and mental systems driven by energy availability, brain willpower, and specific training adaptations in the muscles, heart, lungs and neurons. I explain conditioning protocols designed to enhance four types of endurance, from long-duration steady state to muscular endurance and high-intensity intervals, and how each training style triggers unique adaptations in the body and brain, such as improved mitochondrial function and oxygen utilization. Additionally, I highlight the crucial role of hydration and electrolytes, which are essential for neural function and influence the brain’s willpower to sustain effort.\n\nEpisode show notes: https://go.hubermanlab.com/PH5df16\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/VQLU7gpk_X8\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Build Endurance\n00:00:50 Energy Sources, ATP, Oxygen \n00:04:14 Neurons & Willpower, Glucose & Electrolytes\n00:09:19 Heart, Lungs; Physiology & Performance Limiting Factors\n00:10:35 Muscular Endurance, Protocol, Concentric Movements, Mitochondria\n00:17:14 Long-Duration Endurance, Efficiency, Mitochondria, Capillaries\n00:21:07 High-Intensity Interval Training (HIIT), Anaerobic Endurance, Protocol\n00:27:47 High-Intensity Aerobic Endurance, Adaptations\n00:30:06 Brain & Body Adaptations, Heart\n00:33:57 Hydration, Tool: Galpin Equation\n00:35:38 Supplements, Stimulants, Magnesium Malate\n00:36:27 Recap & Key Takeaways\n\n#HubermanLab #Science #Health #Endurance \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Build Endurance | Huberman Lab Essentials", "28ef8a25-1687-43b8-b53b-5f01ff5cc44d", 2246, false, "7MEhDlw1e9k", "https://www.youtube.com/watch?v=7MEhDlw1e9k", 73, "/downloads/Andrew Huberman/2025-04-17 How to Build Endurance | Huberman Lab Essentials/How to Build Endurance | Huberman Lab Essentials [7MEhDlw1e9k].mp4", false, false, false, 4, [], 1, ~U[2025-04-17 12:00:21Z], ~U[2026-09-16 17:13:19Z], ~U[2026-09-16 17:13:19Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to build endurance and describe targeted protocols to enhance different types of endurance.\n\nI discuss how endurance—the ability to sustain effort—requires the coordination of physical and mental systems driven by energy availability, brain willpower, and specific training adaptations in the muscles, heart, lungs and neurons. I explain conditioning protocols designed to enhance four types of endurance, from long-duration steady state to muscular endurance and high-intensity intervals, and how each training style triggers unique adaptations in the body and brain, such as improved mitochondrial function and oxygen utilization. Additionally, I highlight the crucial role of hydration and electrolytes, which are essential for neural function and influence the brain’s willpower to sustain effort.\n\nEpisode show notes: https://go.hubermanlab.com/PH5df16\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/VQLU7gpk_X8\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Build Endurance\n00:00:50 Energy Sources, ATP, Oxygen \n00:04:14 Neurons & Willpower, Glucose & Electrolytes\n00:09:19 Heart, Lungs; Physiology & Performance Limiting Factors\n00:10:35 Muscular Endurance, Protocol, Concentric Movements, Mitochondria\n00:17:14 Long-Duration Endurance, Efficiency, Mitochondria, Capillaries\n00:21:07 High-Intensity Interval Training (HIIT), Anaerobic Endurance, Protocol\n00:27:47 High-Intensity Aerobic Endurance, Adaptations\n00:30:06 Brain & Body Adaptations, Heart\n00:33:57 Hydration, Tool: Galpin Equation\n00:35:38 Supplements, Stimulants, Magnesium Malate\n00:36:27 Recap & Key Takeaways\n\n#HubermanLab #Science #Health #Endurance \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Build Endurance | Huberman Lab Essentials", 2246, false, "7MEhDlw1e9k", "https://www.youtube.com/watch?v=7MEhDlw1e9k", "/downloads/Andrew Huberman/2025-04-17 How to Build Endurance | Huberman Lab Essentials/How to Build Endurance | Huberman Lab Essentials [7MEhDlw1e9k].mp4", false, 4, ~U[2025-04-17 12:00:21Z]] 17:13:19.626 [debug] QUERY OK source="sources" db=0.2ms idle=135.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:19.626 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=43.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] 17:13:19.627 [debug] QUERY OK source="media_items" db=0.2ms idle=43.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 [212] 17:13:19.627 [debug] Current batch of media processed. Will check again in 1000ms 17:13:20.629 [debug] Current batch of media processed. Will check again in 1000ms 17:13:21.630 [debug] Current batch of media processed. Will check again in 1000ms 17:13:22.631 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss how to build muscle strength and size (hypertrophy) and cover key training principles to enhance athletic performance and offset age-related muscle decline.\n\nI explain how the nervous system drives muscle movement, the key differences between training for hypertrophy or strength, and resistance training protocols to build muscle for performance and healthy aging. Additionally, I discuss tools for assessing recovery and the role of key nutrients—such as creatine and electrolytes—in supporting muscle development and performance. This episode provides actionable, science-backed strategies to enhance movement, preserve strength with age, and boost energy levels.\n\nEpisode show notes: https://go.hubermanlab.com/sPY0glv\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/XLr2RKoD-oY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Muscle\n00:02:02 Muscle & Nervous System\n00:03:24 Strength & Aging, Henneman's Size Principle, Use Heavy Weights?\n00:07:30 3 Stimuli, Muscle Strength vs Muscle Growth (Hypertrophy)\n00:09:31 Tool: Resistance Training Protocol, Increase Muscle Strength\n00:13:16 Tool: Advanced Resistance Training & Volume; Speed, Rest\n00:16:17 Testing for Recovery, Heart Rate Variability, Grip Strength\n00:19:54 Testing for Recovery, Carbon Dioxide Tolerance\n00:22:51 Ice Bath Timing; NSAIDs & Exercise\n00:24:06 Salt & Electrolytes; Creatine; Leucine\n\n#HubermanLab #Science #MuscleGrowth #Strength\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1669, "filename" => "/downloads/Andrew Huberman/2025-04-10 Build Muscle Size, Increase Strength & Improve Recovery | Huberman Lab Essentials/Build Muscle Size, Increase Strength & Improve Recovery | Huberman Lab Essentials [jgaoLdS82vw].mp4", "id" => "jgaoLdS82vw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jgaoLdS82vw", "playlist_index" => 74, "timestamp" => 1744286471, "title" => "Build Muscle Size, Increase Strength & Improve Recovery | Huberman Lab Essentials", "upload_date" => "20250410"} 17:13:22.631 [debug] QUERY OK source="sources" db=0.2ms idle=1883.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:22.632 [debug] QUERY OK source="sources" db=0.1ms idle=1884.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:22.633 [debug] QUERY OK source="media_items" db=0.4ms idle=1884.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-10 12:01:11Z], 4] 17:13:22.640 [debug] QUERY OK source="media_items" db=6.2ms idle=1139.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss how to build muscle strength and size (hypertrophy) and cover key training principles to enhance athletic performance and offset age-related muscle decline.\n\nI explain how the nervous system drives muscle movement, the key differences between training for hypertrophy or strength, and resistance training protocols to build muscle for performance and healthy aging. Additionally, I discuss tools for assessing recovery and the role of key nutrients—such as creatine and electrolytes—in supporting muscle development and performance. This episode provides actionable, science-backed strategies to enhance movement, preserve strength with age, and boost energy levels.\n\nEpisode show notes: https://go.hubermanlab.com/sPY0glv\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/XLr2RKoD-oY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Muscle\n00:02:02 Muscle & Nervous System\n00:03:24 Strength & Aging, Henneman's Size Principle, Use Heavy Weights?\n00:07:30 3 Stimuli, Muscle Strength vs Muscle Growth (Hypertrophy)\n00:09:31 Tool: Resistance Training Protocol, Increase Muscle Strength\n00:13:16 Tool: Advanced Resistance Training & Volume; Speed, Rest\n00:16:17 Testing for Recovery, Heart Rate Variability, Grip Strength\n00:19:54 Testing for Recovery, Carbon Dioxide Tolerance\n00:22:51 Ice Bath Timing; NSAIDs & Exercise\n00:24:06 Salt & Electrolytes; Creatine; Leucine\n\n#HubermanLab #Science #MuscleGrowth #Strength\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Build Muscle Size, Increase Strength & Improve Recovery | Huberman Lab Essentials", "33dcc857-5b40-4e4d-9e38-9423c2217c94", 1669, false, "jgaoLdS82vw", "https://www.youtube.com/watch?v=jgaoLdS82vw", 74, "/downloads/Andrew Huberman/2025-04-10 Build Muscle Size, Increase Strength & Improve Recovery | Huberman Lab Essentials/Build Muscle Size, Increase Strength & Improve Recovery | Huberman Lab Essentials [jgaoLdS82vw].mp4", false, false, false, 4, [], 1, ~U[2025-04-10 12:01:11Z], ~U[2026-09-16 17:13:22Z], ~U[2026-09-16 17:13:22Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss how to build muscle strength and size (hypertrophy) and cover key training principles to enhance athletic performance and offset age-related muscle decline.\n\nI explain how the nervous system drives muscle movement, the key differences between training for hypertrophy or strength, and resistance training protocols to build muscle for performance and healthy aging. Additionally, I discuss tools for assessing recovery and the role of key nutrients—such as creatine and electrolytes—in supporting muscle development and performance. This episode provides actionable, science-backed strategies to enhance movement, preserve strength with age, and boost energy levels.\n\nEpisode show notes: https://go.hubermanlab.com/sPY0glv\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/XLr2RKoD-oY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Muscle\n00:02:02 Muscle & Nervous System\n00:03:24 Strength & Aging, Henneman's Size Principle, Use Heavy Weights?\n00:07:30 3 Stimuli, Muscle Strength vs Muscle Growth (Hypertrophy)\n00:09:31 Tool: Resistance Training Protocol, Increase Muscle Strength\n00:13:16 Tool: Advanced Resistance Training & Volume; Speed, Rest\n00:16:17 Testing for Recovery, Heart Rate Variability, Grip Strength\n00:19:54 Testing for Recovery, Carbon Dioxide Tolerance\n00:22:51 Ice Bath Timing; NSAIDs & Exercise\n00:24:06 Salt & Electrolytes; Creatine; Leucine\n\n#HubermanLab #Science #MuscleGrowth #Strength\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Build Muscle Size, Increase Strength & Improve Recovery | Huberman Lab Essentials", 1669, false, "jgaoLdS82vw", "https://www.youtube.com/watch?v=jgaoLdS82vw", "/downloads/Andrew Huberman/2025-04-10 Build Muscle Size, Increase Strength & Improve Recovery | Huberman Lab Essentials/Build Muscle Size, Increase Strength & Improve Recovery | Huberman Lab Essentials [jgaoLdS82vw].mp4", false, 4, ~U[2025-04-10 12:01:11Z]] 17:13:22.640 [debug] QUERY OK source="sources" db=0.3ms idle=145.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:22.641 [debug] QUERY OK source="media_profiles" db=0.3ms idle=9.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:13:22.641 [debug] QUERY OK source="media_items" db=0.2ms idle=9.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [213] 17:13:22.642 [debug] Current batch of media processed. Will check again in 1000ms 17:13:23.557 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:23.643 [debug] Current batch of media processed. Will check again in 1000ms 17:13:24.644 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how the nervous system impacts fat loss and how certain behaviors and supplements can accelerate fat burning.\n\nI explain how non-exercise movements like fidgeting and shivering trigger adrenaline to boost fat metabolism. I also examine the impact of exercise intensity and fasted workouts on fat burning, and how supplements such as caffeine, GLP-1 and berberine can further support fat loss. These science-based tools go beyond traditional calorie counting to enhance metabolism and improve body composition.\n\nEpisode show notes: https://go.hubermanlab.com/7L1cxrW\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/GqPGXG5TlZw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Fat Loss\n00:01:00 Calories In, Calories Out; Nervous System\n00:02:57 Fat Burning, Nervous System & Adrenaline\n00:06:21 Increase Adrenaline, Shivering, Tool: Fidgeting \n00:10:10 Shivering & Fat Loss, White & Brown Fat\n00:13:27 Tool: Deliberate Cold Exposure Protocol\n00:15:28 High, Medium vs Low-Intensity Exercise, Exercise Fasted?\n00:21:21 Tool: Exercise for Fat Loss; Adrenaline\n00:23:15 Caffeine, Dose, Exercise & Fat Loss\n00:25:50 GLP-1, Yerba Mate, Exercise; Semaglutide\n00:28:49 Berberine, Metformin, Insulin\n00:29:46 Diet, Adherence, Carbohydrates & Insulin\n00:31:25 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2016, "filename" => "/downloads/Andrew Huberman/2025-04-03 Lose Fat With Science-Based Tools | Huberman Lab Essentials/Lose Fat With Science-Based Tools | Huberman Lab Essentials [f4cdu-QiKHo].mp4", "id" => "f4cdu-QiKHo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=f4cdu-QiKHo", "playlist_index" => 75, "timestamp" => 1743681658, "title" => "Lose Fat With Science-Based Tools | Huberman Lab Essentials", "upload_date" => "20250403"} 17:13:24.645 [debug] QUERY OK source="sources" db=0.4ms idle=1086.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:24.645 [debug] QUERY OK source="sources" db=0.1ms idle=897.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:24.646 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=897.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-03 12:00:58Z], 4] 17:13:24.649 [debug] QUERY OK source="media_items" db=2.3ms idle=898.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how the nervous system impacts fat loss and how certain behaviors and supplements can accelerate fat burning.\n\nI explain how non-exercise movements like fidgeting and shivering trigger adrenaline to boost fat metabolism. I also examine the impact of exercise intensity and fasted workouts on fat burning, and how supplements such as caffeine, GLP-1 and berberine can further support fat loss. These science-based tools go beyond traditional calorie counting to enhance metabolism and improve body composition.\n\nEpisode show notes: https://go.hubermanlab.com/7L1cxrW\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/GqPGXG5TlZw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Fat Loss\n00:01:00 Calories In, Calories Out; Nervous System\n00:02:57 Fat Burning, Nervous System & Adrenaline\n00:06:21 Increase Adrenaline, Shivering, Tool: Fidgeting \n00:10:10 Shivering & Fat Loss, White & Brown Fat\n00:13:27 Tool: Deliberate Cold Exposure Protocol\n00:15:28 High, Medium vs Low-Intensity Exercise, Exercise Fasted?\n00:21:21 Tool: Exercise for Fat Loss; Adrenaline\n00:23:15 Caffeine, Dose, Exercise & Fat Loss\n00:25:50 GLP-1, Yerba Mate, Exercise; Semaglutide\n00:28:49 Berberine, Metformin, Insulin\n00:29:46 Diet, Adherence, Carbohydrates & Insulin\n00:31:25 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Lose Fat With Science-Based Tools | Huberman Lab Essentials", "b6dcb02f-8055-425d-aa3d-c04eb62238cd", 2016, false, "f4cdu-QiKHo", "https://www.youtube.com/watch?v=f4cdu-QiKHo", 75, "/downloads/Andrew Huberman/2025-04-03 Lose Fat With Science-Based Tools | Huberman Lab Essentials/Lose Fat With Science-Based Tools | Huberman Lab Essentials [f4cdu-QiKHo].mp4", false, false, false, 4, [], 1, ~U[2025-04-03 12:00:58Z], ~U[2026-09-16 17:13:24Z], ~U[2026-09-16 17:13:24Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how the nervous system impacts fat loss and how certain behaviors and supplements can accelerate fat burning.\n\nI explain how non-exercise movements like fidgeting and shivering trigger adrenaline to boost fat metabolism. I also examine the impact of exercise intensity and fasted workouts on fat burning, and how supplements such as caffeine, GLP-1 and berberine can further support fat loss. These science-based tools go beyond traditional calorie counting to enhance metabolism and improve body composition.\n\nEpisode show notes: https://go.hubermanlab.com/7L1cxrW\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/GqPGXG5TlZw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Fat Loss\n00:01:00 Calories In, Calories Out; Nervous System\n00:02:57 Fat Burning, Nervous System & Adrenaline\n00:06:21 Increase Adrenaline, Shivering, Tool: Fidgeting \n00:10:10 Shivering & Fat Loss, White & Brown Fat\n00:13:27 Tool: Deliberate Cold Exposure Protocol\n00:15:28 High, Medium vs Low-Intensity Exercise, Exercise Fasted?\n00:21:21 Tool: Exercise for Fat Loss; Adrenaline\n00:23:15 Caffeine, Dose, Exercise & Fat Loss\n00:25:50 GLP-1, Yerba Mate, Exercise; Semaglutide\n00:28:49 Berberine, Metformin, Insulin\n00:29:46 Diet, Adherence, Carbohydrates & Insulin\n00:31:25 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Lose Fat With Science-Based Tools | Huberman Lab Essentials", 2016, false, "f4cdu-QiKHo", "https://www.youtube.com/watch?v=f4cdu-QiKHo", "/downloads/Andrew Huberman/2025-04-03 Lose Fat With Science-Based Tools | Huberman Lab Essentials/Lose Fat With Science-Based Tools | Huberman Lab Essentials [f4cdu-QiKHo].mp4", false, 4, ~U[2025-04-03 12:00:58Z]] 17:13:24.650 [debug] QUERY OK source="sources" db=0.3ms idle=152.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:24.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" = ?) [2] 17:13:24.651 [debug] QUERY OK source="media_items" db=0.4ms 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 [214] 17:13:24.651 [debug] Current batch of media processed. Will check again in 1000ms 17:13:25.653 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how to improve motor skill learning and proficiency—whether for athletic performance, learning an instrument or refining any physical skill.\n\nI explain practical tools to build skills, including how to structure learning sessions to focus on repetitions, use internal feedback systems and learn from errors—key elements for accelerating progress. I also discuss strategies such as visualization, metronoming, idle time and the impact of supplements like alpha-GPC and caffeine on performance. This episode provides valuable insights for anyone looking to accelerate and optimize their motor skill development.\n\nEpisode show notes: https://go.hubermanlab.com/RTVzwhG\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/xJ0IBzCjEPk\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Learning Motor Skills\n00:01:10 Building New Skills, Tools: Open vs Closed Loop; Focus\n00:03:58 Skills & Realistic Expectations, Super Mario Effect\n00:08:17 Tube Test & Brain, Tool: Increase Repetitions\n00:11:01 Importance of Errors, Framing Effect, Neuroplasticity\n00:13:23 Learning Session Protocol, Tool: Idle Time Post-Learning\n00:17:23 Movement Speed, Ultra-Slow Movements\n00:19:28 Skill Proficiency & Errors, Tool: Metronoming\n00:21:56 Mental Rehearsal & Limits, Tool: Visualization\n00:24:38 Skill Learning & Supplements, Alpha-GPC, Caffeine\n00:28:26 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1840, "filename" => "/downloads/Andrew Huberman/2025-03-27 How to Learn Skills Faster | Huberman Lab Essentials/How to Learn Skills Faster | Huberman Lab Essentials [VnEy78RL2YY].mp4", "id" => "VnEy78RL2YY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VnEy78RL2YY", "playlist_index" => 76, "timestamp" => 1743076846, "title" => "How to Learn Skills Faster | Huberman Lab Essentials", "upload_date" => "20250327"} 17:13:25.654 [debug] QUERY OK source="sources" db=0.3ms idle=1004.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:25.654 [debug] QUERY OK source="sources" db=0.1ms idle=1004.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:25.655 [debug] QUERY OK source="media_items" db=0.5ms idle=1003.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-27 12:00:46Z], 4] 17:13:25.658 [debug] QUERY OK source="media_items" db=2.3ms idle=1003.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how to improve motor skill learning and proficiency—whether for athletic performance, learning an instrument or refining any physical skill.\n\nI explain practical tools to build skills, including how to structure learning sessions to focus on repetitions, use internal feedback systems and learn from errors—key elements for accelerating progress. I also discuss strategies such as visualization, metronoming, idle time and the impact of supplements like alpha-GPC and caffeine on performance. This episode provides valuable insights for anyone looking to accelerate and optimize their motor skill development.\n\nEpisode show notes: https://go.hubermanlab.com/RTVzwhG\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/xJ0IBzCjEPk\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Learning Motor Skills\n00:01:10 Building New Skills, Tools: Open vs Closed Loop; Focus\n00:03:58 Skills & Realistic Expectations, Super Mario Effect\n00:08:17 Tube Test & Brain, Tool: Increase Repetitions\n00:11:01 Importance of Errors, Framing Effect, Neuroplasticity\n00:13:23 Learning Session Protocol, Tool: Idle Time Post-Learning\n00:17:23 Movement Speed, Ultra-Slow Movements\n00:19:28 Skill Proficiency & Errors, Tool: Metronoming\n00:21:56 Mental Rehearsal & Limits, Tool: Visualization\n00:24:38 Skill Learning & Supplements, Alpha-GPC, Caffeine\n00:28:26 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Learn Skills Faster | Huberman Lab Essentials", "ce196786-b250-484d-adb2-9a2dfe084e27", 1840, false, "VnEy78RL2YY", "https://www.youtube.com/watch?v=VnEy78RL2YY", 76, "/downloads/Andrew Huberman/2025-03-27 How to Learn Skills Faster | Huberman Lab Essentials/How to Learn Skills Faster | Huberman Lab Essentials [VnEy78RL2YY].mp4", false, false, false, 4, [], 1, ~U[2025-03-27 12:00:46Z], ~U[2026-09-16 17:13:25Z], ~U[2026-09-16 17:13:25Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how to improve motor skill learning and proficiency—whether for athletic performance, learning an instrument or refining any physical skill.\n\nI explain practical tools to build skills, including how to structure learning sessions to focus on repetitions, use internal feedback systems and learn from errors—key elements for accelerating progress. I also discuss strategies such as visualization, metronoming, idle time and the impact of supplements like alpha-GPC and caffeine on performance. This episode provides valuable insights for anyone looking to accelerate and optimize their motor skill development.\n\nEpisode show notes: https://go.hubermanlab.com/RTVzwhG\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/xJ0IBzCjEPk\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Learning Motor Skills\n00:01:10 Building New Skills, Tools: Open vs Closed Loop; Focus\n00:03:58 Skills & Realistic Expectations, Super Mario Effect\n00:08:17 Tube Test & Brain, Tool: Increase Repetitions\n00:11:01 Importance of Errors, Framing Effect, Neuroplasticity\n00:13:23 Learning Session Protocol, Tool: Idle Time Post-Learning\n00:17:23 Movement Speed, Ultra-Slow Movements\n00:19:28 Skill Proficiency & Errors, Tool: Metronoming\n00:21:56 Mental Rehearsal & Limits, Tool: Visualization\n00:24:38 Skill Learning & Supplements, Alpha-GPC, Caffeine\n00:28:26 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Learn Skills Faster | Huberman Lab Essentials", 1840, false, "VnEy78RL2YY", "https://www.youtube.com/watch?v=VnEy78RL2YY", "/downloads/Andrew Huberman/2025-03-27 How to Learn Skills Faster | Huberman Lab Essentials/How to Learn Skills Faster | Huberman Lab Essentials [VnEy78RL2YY].mp4", false, 4, ~U[2025-03-27 12:00:46Z]] 17:13:25.658 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=159.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:25.659 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:13:25.659 [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 [215] 17:13:25.660 [debug] Current batch of media processed. Will check again in 1000ms 17:13:26.661 [debug] Current batch of media processed. Will check again in 1000ms 17:13:27.662 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the critical role of temperature regulation in optimizing athletic and physical performance.\n\nI explain why overheating can hinder performance and endurance and how techniques like palmar cooling can help extend physical effort by aiding temperature regulation. I also highlight how specific body areas, such as the palms and face, are key targets for regulating temperature, allowing heat to dissipate efficiently. Lastly, I discuss how temperature can support training recovery while cautioning that extreme cold, such as ice baths immediately after training, can block adaptations.\n\nEpisode show notes: https://go.hubermanlab.com/ZYC4CTc\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/xaE9XyMMAHY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Physical Performance & Skills, Temperature\n00:03:03 Temperature Homeostasis, Vasoconstriction & Vasodilation\n00:05:38 Elevated Heat & Performance Barrier\n00:07:21 Regulating Temperature, Glabrous Skin, “AVAs”\n00:11:16 Strength Training & Heat Effects, Tool: Palmar Cooling\n00:14:47 Endurance, Temperature & Willpower\n00:18:21 Tool: Resistance Training, Running, Palmar Cooling & Water Temperature\n00:21:49 Ice Bath & Blocking Training Adaptations; Tool: Glabrous Skin & Recovery\n00:25:10 NSAIDs (Tylenol) & Training\n00:27:35 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1741, "filename" => "/downloads/Andrew Huberman/2025-03-20 Supercharge Exercise Performance & Recovery with Cooling | Huberman Lab Essentials/Supercharge Exercise Performance & Recovery with Cooling | Huberman Lab Essentials [5--yogtN6oM].mp4", "id" => "5--yogtN6oM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5--yogtN6oM", "playlist_index" => 77, "timestamp" => 1742472007, "title" => "Supercharge Exercise Performance & Recovery with Cooling | Huberman Lab Essentials", "upload_date" => "20250320"} 17:13:27.662 [debug] QUERY OK source="sources" db=0.2ms idle=914.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:27.663 [debug] QUERY OK source="sources" db=0.3ms idle=915.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:27.664 [debug] QUERY OK source="media_items" db=0.7ms idle=915.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-20 12:00:07Z], 4] 17:13:27.666 [debug] QUERY OK source="media_items" db=1.3ms idle=916.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the critical role of temperature regulation in optimizing athletic and physical performance.\n\nI explain why overheating can hinder performance and endurance and how techniques like palmar cooling can help extend physical effort by aiding temperature regulation. I also highlight how specific body areas, such as the palms and face, are key targets for regulating temperature, allowing heat to dissipate efficiently. Lastly, I discuss how temperature can support training recovery while cautioning that extreme cold, such as ice baths immediately after training, can block adaptations.\n\nEpisode show notes: https://go.hubermanlab.com/ZYC4CTc\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/xaE9XyMMAHY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Physical Performance & Skills, Temperature\n00:03:03 Temperature Homeostasis, Vasoconstriction & Vasodilation\n00:05:38 Elevated Heat & Performance Barrier\n00:07:21 Regulating Temperature, Glabrous Skin, “AVAs”\n00:11:16 Strength Training & Heat Effects, Tool: Palmar Cooling\n00:14:47 Endurance, Temperature & Willpower\n00:18:21 Tool: Resistance Training, Running, Palmar Cooling & Water Temperature\n00:21:49 Ice Bath & Blocking Training Adaptations; Tool: Glabrous Skin & Recovery\n00:25:10 NSAIDs (Tylenol) & Training\n00:27:35 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Supercharge Exercise Performance & Recovery with Cooling | Huberman Lab Essentials", "f0582a7f-99e4-45c5-86f9-4aa460baf0ed", 1741, false, "5--yogtN6oM", "https://www.youtube.com/watch?v=5--yogtN6oM", 77, "/downloads/Andrew Huberman/2025-03-20 Supercharge Exercise Performance & Recovery with Cooling | Huberman Lab Essentials/Supercharge Exercise Performance & Recovery with Cooling | Huberman Lab Essentials [5--yogtN6oM].mp4", false, false, false, 4, [], 1, ~U[2025-03-20 12:00:07Z], ~U[2026-09-16 17:13:27Z], ~U[2026-09-16 17:13:27Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the critical role of temperature regulation in optimizing athletic and physical performance.\n\nI explain why overheating can hinder performance and endurance and how techniques like palmar cooling can help extend physical effort by aiding temperature regulation. I also highlight how specific body areas, such as the palms and face, are key targets for regulating temperature, allowing heat to dissipate efficiently. Lastly, I discuss how temperature can support training recovery while cautioning that extreme cold, such as ice baths immediately after training, can block adaptations.\n\nEpisode show notes: https://go.hubermanlab.com/ZYC4CTc\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/xaE9XyMMAHY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Physical Performance & Skills, Temperature\n00:03:03 Temperature Homeostasis, Vasoconstriction & Vasodilation\n00:05:38 Elevated Heat & Performance Barrier\n00:07:21 Regulating Temperature, Glabrous Skin, “AVAs”\n00:11:16 Strength Training & Heat Effects, Tool: Palmar Cooling\n00:14:47 Endurance, Temperature & Willpower\n00:18:21 Tool: Resistance Training, Running, Palmar Cooling & Water Temperature\n00:21:49 Ice Bath & Blocking Training Adaptations; Tool: Glabrous Skin & Recovery\n00:25:10 NSAIDs (Tylenol) & Training\n00:27:35 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Supercharge Exercise Performance & Recovery with Cooling | Huberman Lab Essentials", 1741, false, "5--yogtN6oM", "https://www.youtube.com/watch?v=5--yogtN6oM", "/downloads/Andrew Huberman/2025-03-20 Supercharge Exercise Performance & Recovery with Cooling | Huberman Lab Essentials/Supercharge Exercise Performance & Recovery with Cooling | Huberman Lab Essentials [5--yogtN6oM].mp4", false, 4, ~U[2025-03-20 12:00:07Z]] 17:13:27.666 [debug] QUERY OK source="sources" db=0.1ms idle=165.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:27.667 [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] 17:13:27.667 [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 [216] 17:13:27.667 [debug] Current batch of media processed. Will check again in 1000ms 17:13:28.669 [debug] Current batch of media processed. Will check again in 1000ms 17:13:29.670 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how specific hormones influence both energy levels and the immune system and discuss practical tools for increasing energy throughout the day and managing stress.\n\nI discuss the mechanism through which cortisol and epinephrine (adrenaline) impact the brain and body and why it’s important to regulate their levels, considering factors like time of day or stress levels. I also cover the positive benefits of short-term stress and behavioral protocols to increase energy and enhance stress resilience. Additionally, I explain how to optimize hormone levels through tools like sunlight exposure, meal timing, and supplements such as ashwagandha.\n\nEpisode show notes: https://go.hubermanlab.com/IcLrgLk\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/JPX8g8ibKFc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Immunity & Energy\n00:01:34 Cortisol, Epinephrine (Adrenaline)\n00:03:32 Cortisol & Epinephrine Biology\n00:05:20 Timing Cortisol Release, Tool: Morning Sunlight Exposure\n00:07:36 Daytime Stress, Learning & Cortisol\n00:08:59 Tool: Increase Energy, Ice Baths, Cyclic Breathing, HIIT\n00:13:52 Tool: Building Resilience; Cortisol vs. Epinephrine Effects, Immune System\n00:17:55 Brief Stressors & Immune System\n00:21:37 Chronic Stress, Cortisol, Hunger & Food Choice\n00:23:56 Stress & Gray Hair?\n00:24:33 Reduce Cortisol & Supplements, Ashwagandha, Apigenin\n00:26:18 Optimizing Cortisol & Epinephrine, Tool: Meals, Circadian Eating, Fasting\n00:28:54 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1847, "filename" => "/downloads/Andrew Huberman/2025-03-13 Boost Your Energy & Immune System with Cortisol & Adrenaline | Huberman Lab Essentials/Boost Your Energy & Immune System with Cortisol & Adrenaline | Huberman Lab Essentials [wFucddupQlk].mp4", "id" => "wFucddupQlk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wFucddupQlk", "playlist_index" => 78, "timestamp" => 1741867291, "title" => "Boost Your Energy & Immune System with Cortisol & Adrenaline | Huberman Lab Essentials", "upload_date" => "20250313"} 17:13:29.670 [debug] QUERY OK source="sources" db=0.2ms idle=922.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:29.671 [debug] QUERY OK source="sources" db=0.1ms idle=923.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:29.672 [debug] QUERY OK source="media_items" db=0.6ms idle=923.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-13 12:01:31Z], 4] 17:13:29.676 [debug] QUERY OK source="media_items" db=3.2ms idle=924.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how specific hormones influence both energy levels and the immune system and discuss practical tools for increasing energy throughout the day and managing stress.\n\nI discuss the mechanism through which cortisol and epinephrine (adrenaline) impact the brain and body and why it’s important to regulate their levels, considering factors like time of day or stress levels. I also cover the positive benefits of short-term stress and behavioral protocols to increase energy and enhance stress resilience. Additionally, I explain how to optimize hormone levels through tools like sunlight exposure, meal timing, and supplements such as ashwagandha.\n\nEpisode show notes: https://go.hubermanlab.com/IcLrgLk\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/JPX8g8ibKFc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Immunity & Energy\n00:01:34 Cortisol, Epinephrine (Adrenaline)\n00:03:32 Cortisol & Epinephrine Biology\n00:05:20 Timing Cortisol Release, Tool: Morning Sunlight Exposure\n00:07:36 Daytime Stress, Learning & Cortisol\n00:08:59 Tool: Increase Energy, Ice Baths, Cyclic Breathing, HIIT\n00:13:52 Tool: Building Resilience; Cortisol vs. Epinephrine Effects, Immune System\n00:17:55 Brief Stressors & Immune System\n00:21:37 Chronic Stress, Cortisol, Hunger & Food Choice\n00:23:56 Stress & Gray Hair?\n00:24:33 Reduce Cortisol & Supplements, Ashwagandha, Apigenin\n00:26:18 Optimizing Cortisol & Epinephrine, Tool: Meals, Circadian Eating, Fasting\n00:28:54 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Boost Your Energy & Immune System with Cortisol & Adrenaline | Huberman Lab Essentials", "b49dc562-11bb-4ab9-88ba-7c08b36e9294", 1847, false, "wFucddupQlk", "https://www.youtube.com/watch?v=wFucddupQlk", 78, "/downloads/Andrew Huberman/2025-03-13 Boost Your Energy & Immune System with Cortisol & Adrenaline | Huberman Lab Essentials/Boost Your Energy & Immune System with Cortisol & Adrenaline | Huberman Lab Essentials [wFucddupQlk].mp4", false, false, false, 4, [], 1, ~U[2025-03-13 12:01:31Z], ~U[2026-09-16 17:13:29Z], ~U[2026-09-16 17:13:29Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how specific hormones influence both energy levels and the immune system and discuss practical tools for increasing energy throughout the day and managing stress.\n\nI discuss the mechanism through which cortisol and epinephrine (adrenaline) impact the brain and body and why it’s important to regulate their levels, considering factors like time of day or stress levels. I also cover the positive benefits of short-term stress and behavioral protocols to increase energy and enhance stress resilience. Additionally, I explain how to optimize hormone levels through tools like sunlight exposure, meal timing, and supplements such as ashwagandha.\n\nEpisode show notes: https://go.hubermanlab.com/IcLrgLk\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/JPX8g8ibKFc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Immunity & Energy\n00:01:34 Cortisol, Epinephrine (Adrenaline)\n00:03:32 Cortisol & Epinephrine Biology\n00:05:20 Timing Cortisol Release, Tool: Morning Sunlight Exposure\n00:07:36 Daytime Stress, Learning & Cortisol\n00:08:59 Tool: Increase Energy, Ice Baths, Cyclic Breathing, HIIT\n00:13:52 Tool: Building Resilience; Cortisol vs. Epinephrine Effects, Immune System\n00:17:55 Brief Stressors & Immune System\n00:21:37 Chronic Stress, Cortisol, Hunger & Food Choice\n00:23:56 Stress & Gray Hair?\n00:24:33 Reduce Cortisol & Supplements, Ashwagandha, Apigenin\n00:26:18 Optimizing Cortisol & Epinephrine, Tool: Meals, Circadian Eating, Fasting\n00:28:54 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Boost Your Energy & Immune System with Cortisol & Adrenaline | Huberman Lab Essentials", 1847, false, "wFucddupQlk", "https://www.youtube.com/watch?v=wFucddupQlk", "/downloads/Andrew Huberman/2025-03-13 Boost Your Energy & Immune System with Cortisol & Adrenaline | Huberman Lab Essentials/Boost Your Energy & Immune System with Cortisol & Adrenaline | Huberman Lab Essentials [wFucddupQlk].mp4", false, 4, ~U[2025-03-13 12:01:31Z]] 17:13:29.676 [debug] QUERY OK source="sources" db=0.2ms idle=172.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:29.677 [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] 17:13:29.677 [debug] QUERY OK source="media_items" db=0.2ms idle=6.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [217] 17:13:29.677 [debug] Current batch of media processed. Will check again in 1000ms 17:13:30.679 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how two key hormones control metabolism and discuss tools to enhance their levels to improve metabolic health. \n\nI discuss the pathways through which the brain and body interact to produce thyroid hormone and growth hormone, and how these hormones influence essential processes like tissue growth and repair, body composition, and energy production. I explain how thyroid hormone levels are influenced by key nutrients, such as iodine, selenium, and L-tyrosine. I also explain how practices such as exercise, sleep, meditation and sauna can offset age-related declines in growth hormone, to optimize overall hormone health and metabolism. \n\nEpisode show notes: https://go.hubermanlab.com/NiHUHED\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/x7qbJeRxWGw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones & Metabolism\n00:01:41 Hypothalamus, Pituitary, Thyroid\n00:03:22 Thyroid Hormone Functions, Tools: Iodine, Selenium, L-Tyrosine\n00:07:55 Thyroid Hormone, Glucose & Metabolism; Thyroid Hormone Disorders\n00:10:14 Growth Hormone Functions, Prescription Growth Hormone\n00:13:10 Growth Hormone Release, Tools: Sleep & Bedtime Fasting\n00:14:35 Growth Hormone Release, Tools: Meditation; Exercise, Warm-Up, Glucose, Cool Down\n00:19:30 Growth Hormone Supplements, Arginine\n00:21:31 Offsetting Age-Related Growth Hormone Decline\n00:22:30 Temperature & Growth Hormone, Tool: Sauna Protocol\n00:26:49 Peptides, Sermorelin, Secretagogues, Risk\n00:29:37 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1886, "filename" => "/downloads/Andrew Huberman/2025-03-06 How to Control Your Metabolism by Thyroid & Growth Hormone | Huberman Lab Essentials/How to Control Your Metabolism by Thyroid & Growth Hormone | Huberman Lab Essentials [Nmo4bxfFzM0].mp4", "id" => "Nmo4bxfFzM0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Nmo4bxfFzM0", "playlist_index" => 79, "timestamp" => 1741266036, "title" => "How to Control Your Metabolism by Thyroid & Growth Hormone | Huberman Lab Essentials", "upload_date" => "20250306"} 17:13:30.679 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:30.680 [debug] QUERY OK source="sources" db=0.3ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:30.681 [debug] QUERY OK source="media_items" db=0.4ms idle=1003.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-06 13:00:36Z], 4] 17:13:30.683 [debug] QUERY OK source="media_items" db=1.4ms idle=1003.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how two key hormones control metabolism and discuss tools to enhance their levels to improve metabolic health. \n\nI discuss the pathways through which the brain and body interact to produce thyroid hormone and growth hormone, and how these hormones influence essential processes like tissue growth and repair, body composition, and energy production. I explain how thyroid hormone levels are influenced by key nutrients, such as iodine, selenium, and L-tyrosine. I also explain how practices such as exercise, sleep, meditation and sauna can offset age-related declines in growth hormone, to optimize overall hormone health and metabolism. \n\nEpisode show notes: https://go.hubermanlab.com/NiHUHED\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/x7qbJeRxWGw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones & Metabolism\n00:01:41 Hypothalamus, Pituitary, Thyroid\n00:03:22 Thyroid Hormone Functions, Tools: Iodine, Selenium, L-Tyrosine\n00:07:55 Thyroid Hormone, Glucose & Metabolism; Thyroid Hormone Disorders\n00:10:14 Growth Hormone Functions, Prescription Growth Hormone\n00:13:10 Growth Hormone Release, Tools: Sleep & Bedtime Fasting\n00:14:35 Growth Hormone Release, Tools: Meditation; Exercise, Warm-Up, Glucose, Cool Down\n00:19:30 Growth Hormone Supplements, Arginine\n00:21:31 Offsetting Age-Related Growth Hormone Decline\n00:22:30 Temperature & Growth Hormone, Tool: Sauna Protocol\n00:26:49 Peptides, Sermorelin, Secretagogues, Risk\n00:29:37 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Control Your Metabolism by Thyroid & Growth Hormone | Huberman Lab Essentials", "6ef29628-795d-4918-b8a2-86cdc3d3d528", 1886, false, "Nmo4bxfFzM0", "https://www.youtube.com/watch?v=Nmo4bxfFzM0", 79, "/downloads/Andrew Huberman/2025-03-06 How to Control Your Metabolism by Thyroid & Growth Hormone | Huberman Lab Essentials/How to Control Your Metabolism by Thyroid & Growth Hormone | Huberman Lab Essentials [Nmo4bxfFzM0].mp4", false, false, false, 4, [], 1, ~U[2025-03-06 13:00:36Z], ~U[2026-09-16 17:13:30Z], ~U[2026-09-16 17:13:30Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how two key hormones control metabolism and discuss tools to enhance their levels to improve metabolic health. \n\nI discuss the pathways through which the brain and body interact to produce thyroid hormone and growth hormone, and how these hormones influence essential processes like tissue growth and repair, body composition, and energy production. I explain how thyroid hormone levels are influenced by key nutrients, such as iodine, selenium, and L-tyrosine. I also explain how practices such as exercise, sleep, meditation and sauna can offset age-related declines in growth hormone, to optimize overall hormone health and metabolism. \n\nEpisode show notes: https://go.hubermanlab.com/NiHUHED\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/x7qbJeRxWGw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones & Metabolism\n00:01:41 Hypothalamus, Pituitary, Thyroid\n00:03:22 Thyroid Hormone Functions, Tools: Iodine, Selenium, L-Tyrosine\n00:07:55 Thyroid Hormone, Glucose & Metabolism; Thyroid Hormone Disorders\n00:10:14 Growth Hormone Functions, Prescription Growth Hormone\n00:13:10 Growth Hormone Release, Tools: Sleep & Bedtime Fasting\n00:14:35 Growth Hormone Release, Tools: Meditation; Exercise, Warm-Up, Glucose, Cool Down\n00:19:30 Growth Hormone Supplements, Arginine\n00:21:31 Offsetting Age-Related Growth Hormone Decline\n00:22:30 Temperature & Growth Hormone, Tool: Sauna Protocol\n00:26:49 Peptides, Sermorelin, Secretagogues, Risk\n00:29:37 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Control Your Metabolism by Thyroid & Growth Hormone | Huberman Lab Essentials", 1886, false, "Nmo4bxfFzM0", "https://www.youtube.com/watch?v=Nmo4bxfFzM0", "/downloads/Andrew Huberman/2025-03-06 How to Control Your Metabolism by Thyroid & Growth Hormone | Huberman Lab Essentials/How to Control Your Metabolism by Thyroid & Growth Hormone | Huberman Lab Essentials [Nmo4bxfFzM0].mp4", false, 4, ~U[2025-03-06 13:00:36Z]] 17:13:30.683 [debug] QUERY OK source="sources" db=0.1ms idle=178.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:30.684 [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" = ?) [2] 17:13:30.684 [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 [218] 17:13:30.684 [debug] Current batch of media processed. Will check again in 1000ms 17:13:31.686 [debug] Current batch of media processed. Will check again in 1000ms 17:13:32.687 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how hormones regulate hunger, appetite and feelings of satiety (fullness), along with strategies to help control appetite.\n\nI describe how the body senses nutrient levels and how the brain processes these signals to stimulate hunger or suppress appetite. I also discuss how certain foods can help curb hunger, while processed foods and emulsifiers can interfere with satiety signals, leading to overeating. Additionally, I cover how lifestyle factors such as exercise and meal timing regulate blood glucose levels, which in turn impact hunger and appetite.\n\nEpisode show notes: https://go.hubermanlab.com/Ao6Skcc\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/17O5mgXZ9ZU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones, Sexual Development\n00:00:56 Hunger, Hypothalamus, Cortex & Mouth\n00:04:40 Melanocyte-Stimulating Hormone, AgRP Neurons, Ghrelin, Tool: Regular Meal Timing\n00:08:56 Cholecystokinin (CCK), Tool: Omega-3s, Amino Acids & Blunting Appetite\n00:12:09 Highly-Processed Foods, Emulsifiers, Tool: Whole Foods & Satiety Signals\n00:16:49 Insulin, Glucose, Type 1 & 2 Diabetes\n00:19:55 Insulin & Glucagon, Tools: Food Order, Movement & Blood Glucose\n00:23:01 Tool: Exercise & Stable Blood Sugar\n00:25:51 Metformin, Ketogenic Diet, Blood Glucose\n00:28:13 Diabetes, Urine & Blood Sugar\n00:30:37 Caffeine, Tool: Yerba Mate, Glucagon-Like Peptide -1 (GLP-1), Appetite\n00:33:45 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2093, "filename" => "/downloads/Andrew Huberman/2025-02-27 How to Control Hunger, Eating & Satiety | Huberman Lab Essentials/How to Control Hunger, Eating & Satiety | Huberman Lab Essentials [c9JmHOUp6VU].mp4", "id" => "c9JmHOUp6VU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=c9JmHOUp6VU", "playlist_index" => 80, "timestamp" => 1740661261, "title" => "How to Control Hunger, Eating & Satiety | Huberman Lab Essentials", "upload_date" => "20250227"} 17:13:32.687 [debug] QUERY OK source="sources" db=0.2ms idle=939.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:32.688 [debug] QUERY OK source="sources" db=0.1ms idle=940.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:32.689 [debug] QUERY OK source="media_items" db=0.5ms idle=940.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-27 13:01:01Z], 4] 17:13:32.691 [debug] QUERY OK source="media_items" db=1.6ms idle=941.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how hormones regulate hunger, appetite and feelings of satiety (fullness), along with strategies to help control appetite.\n\nI describe how the body senses nutrient levels and how the brain processes these signals to stimulate hunger or suppress appetite. I also discuss how certain foods can help curb hunger, while processed foods and emulsifiers can interfere with satiety signals, leading to overeating. Additionally, I cover how lifestyle factors such as exercise and meal timing regulate blood glucose levels, which in turn impact hunger and appetite.\n\nEpisode show notes: https://go.hubermanlab.com/Ao6Skcc\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/17O5mgXZ9ZU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones, Sexual Development\n00:00:56 Hunger, Hypothalamus, Cortex & Mouth\n00:04:40 Melanocyte-Stimulating Hormone, AgRP Neurons, Ghrelin, Tool: Regular Meal Timing\n00:08:56 Cholecystokinin (CCK), Tool: Omega-3s, Amino Acids & Blunting Appetite\n00:12:09 Highly-Processed Foods, Emulsifiers, Tool: Whole Foods & Satiety Signals\n00:16:49 Insulin, Glucose, Type 1 & 2 Diabetes\n00:19:55 Insulin & Glucagon, Tools: Food Order, Movement & Blood Glucose\n00:23:01 Tool: Exercise & Stable Blood Sugar\n00:25:51 Metformin, Ketogenic Diet, Blood Glucose\n00:28:13 Diabetes, Urine & Blood Sugar\n00:30:37 Caffeine, Tool: Yerba Mate, Glucagon-Like Peptide -1 (GLP-1), Appetite\n00:33:45 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Control Hunger, Eating & Satiety | Huberman Lab Essentials", "1c15889c-0694-408f-bed4-6c1b39e8d3e7", 2093, false, "c9JmHOUp6VU", "https://www.youtube.com/watch?v=c9JmHOUp6VU", 80, "/downloads/Andrew Huberman/2025-02-27 How to Control Hunger, Eating & Satiety | Huberman Lab Essentials/How to Control Hunger, Eating & Satiety | Huberman Lab Essentials [c9JmHOUp6VU].mp4", false, false, false, 4, [], 1, ~U[2025-02-27 13:01:01Z], ~U[2026-09-16 17:13:32Z], ~U[2026-09-16 17:13:32Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how hormones regulate hunger, appetite and feelings of satiety (fullness), along with strategies to help control appetite.\n\nI describe how the body senses nutrient levels and how the brain processes these signals to stimulate hunger or suppress appetite. I also discuss how certain foods can help curb hunger, while processed foods and emulsifiers can interfere with satiety signals, leading to overeating. Additionally, I cover how lifestyle factors such as exercise and meal timing regulate blood glucose levels, which in turn impact hunger and appetite.\n\nEpisode show notes: https://go.hubermanlab.com/Ao6Skcc\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/17O5mgXZ9ZU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones, Sexual Development\n00:00:56 Hunger, Hypothalamus, Cortex & Mouth\n00:04:40 Melanocyte-Stimulating Hormone, AgRP Neurons, Ghrelin, Tool: Regular Meal Timing\n00:08:56 Cholecystokinin (CCK), Tool: Omega-3s, Amino Acids & Blunting Appetite\n00:12:09 Highly-Processed Foods, Emulsifiers, Tool: Whole Foods & Satiety Signals\n00:16:49 Insulin, Glucose, Type 1 & 2 Diabetes\n00:19:55 Insulin & Glucagon, Tools: Food Order, Movement & Blood Glucose\n00:23:01 Tool: Exercise & Stable Blood Sugar\n00:25:51 Metformin, Ketogenic Diet, Blood Glucose\n00:28:13 Diabetes, Urine & Blood Sugar\n00:30:37 Caffeine, Tool: Yerba Mate, Glucagon-Like Peptide -1 (GLP-1), Appetite\n00:33:45 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Control Hunger, Eating & Satiety | Huberman Lab Essentials", 2093, false, "c9JmHOUp6VU", "https://www.youtube.com/watch?v=c9JmHOUp6VU", "/downloads/Andrew Huberman/2025-02-27 How to Control Hunger, Eating & Satiety | Huberman Lab Essentials/How to Control Hunger, Eating & Satiety | Huberman Lab Essentials [c9JmHOUp6VU].mp4", false, 4, ~U[2025-02-27 13:01:01Z]] 17:13:32.692 [debug] QUERY OK source="sources" db=0.2ms idle=185.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:32.692 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 17:13:32.693 [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 [219] 17:13:32.693 [debug] Current batch of media processed. Will check again in 1000ms 17:13:33.694 [debug] Current batch of media processed. Will check again in 1000ms 17:13:34.695 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to optimize hormones—particularly testosterone, estrogen, and related sex steroids—to enhance fertility and overall well-being.\n\nI discuss the sources of testosterone and estrogen and how their levels fluctuate with age in both males and females. I also cover how behaviors such as exercise, cold and heat exposure, light exposure, illness, and breathing patterns affect hormones. Additionally, I examine specific supplements and replacement therapies, highlighting important precautions to consider when adjusting hormone levels.\n\nEpisode show notes: https://go.hubermanlab.com/srZp7sJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/qJXKhu5UZwk\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones, Sexual Development\n00:01:15 Testosterone & Estrogen Sources & Age, Adrenals \n00:03:34 Competition, Males & Testosterone; Dopamine\n00:07:56 Testosterone Decreases, Expectant Fathers, Illness\n00:09:59 Sleep Apnea, Testosterone, Estrogen, Cortisol, Tool: Nasal Breathing\n00:14:25 Dopamine, Cortisol, Fertility, Tool: Light Viewing Behavior\n00:16:56 Heat, Cold & Hormone Levels\n00:18:39 Resistance & Endurance Training, Testosterone, Tool: Exercise Order\n00:20:51 Estrogen, Menopause, Hormone Therapy\n00:22:31 Vitamins, Opioids, Supplements, Tongkat Ali, Cancer Risk\n00:27:02 Luteinizing Hormone, hCG, Fadogia Agrestis, Tool: Blood Tests\n00:31:37 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1960, "filename" => "/downloads/Andrew Huberman/2025-02-20 How to Optimize Testosterone & Estrogen | Huberman Lab Essentials/How to Optimize Testosterone & Estrogen | Huberman Lab Essentials [v4HRWgwjP_k].mp4", "id" => "v4HRWgwjP_k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=v4HRWgwjP_k", "playlist_index" => 81, "timestamp" => 1740056490, "title" => "How to Optimize Testosterone & Estrogen | Huberman Lab Essentials", "upload_date" => "20250220"} 17:13:34.695 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:34.696 [debug] QUERY OK source="sources" db=0.1ms idle=948.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:34.697 [debug] QUERY OK source="media_items" db=0.4ms idle=948.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-20 13:01:30Z], 4] 17:13:34.699 [debug] QUERY OK source="media_items" db=1.5ms idle=949.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to optimize hormones—particularly testosterone, estrogen, and related sex steroids—to enhance fertility and overall well-being.\n\nI discuss the sources of testosterone and estrogen and how their levels fluctuate with age in both males and females. I also cover how behaviors such as exercise, cold and heat exposure, light exposure, illness, and breathing patterns affect hormones. Additionally, I examine specific supplements and replacement therapies, highlighting important precautions to consider when adjusting hormone levels.\n\nEpisode show notes: https://go.hubermanlab.com/srZp7sJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/qJXKhu5UZwk\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones, Sexual Development\n00:01:15 Testosterone & Estrogen Sources & Age, Adrenals \n00:03:34 Competition, Males & Testosterone; Dopamine\n00:07:56 Testosterone Decreases, Expectant Fathers, Illness\n00:09:59 Sleep Apnea, Testosterone, Estrogen, Cortisol, Tool: Nasal Breathing\n00:14:25 Dopamine, Cortisol, Fertility, Tool: Light Viewing Behavior\n00:16:56 Heat, Cold & Hormone Levels\n00:18:39 Resistance & Endurance Training, Testosterone, Tool: Exercise Order\n00:20:51 Estrogen, Menopause, Hormone Therapy\n00:22:31 Vitamins, Opioids, Supplements, Tongkat Ali, Cancer Risk\n00:27:02 Luteinizing Hormone, hCG, Fadogia Agrestis, Tool: Blood Tests\n00:31:37 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Optimize Testosterone & Estrogen | Huberman Lab Essentials", "c3ce8440-c2f1-4c12-957a-963915ccbaa8", 1960, false, "v4HRWgwjP_k", "https://www.youtube.com/watch?v=v4HRWgwjP_k", 81, "/downloads/Andrew Huberman/2025-02-20 How to Optimize Testosterone & Estrogen | Huberman Lab Essentials/How to Optimize Testosterone & Estrogen | Huberman Lab Essentials [v4HRWgwjP_k].mp4", false, false, false, 4, [], 1, ~U[2025-02-20 13:01:30Z], ~U[2026-09-16 17:13:34Z], ~U[2026-09-16 17:13:34Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to optimize hormones—particularly testosterone, estrogen, and related sex steroids—to enhance fertility and overall well-being.\n\nI discuss the sources of testosterone and estrogen and how their levels fluctuate with age in both males and females. I also cover how behaviors such as exercise, cold and heat exposure, light exposure, illness, and breathing patterns affect hormones. Additionally, I examine specific supplements and replacement therapies, highlighting important precautions to consider when adjusting hormone levels.\n\nEpisode show notes: https://go.hubermanlab.com/srZp7sJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/qJXKhu5UZwk\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones, Sexual Development\n00:01:15 Testosterone & Estrogen Sources & Age, Adrenals \n00:03:34 Competition, Males & Testosterone; Dopamine\n00:07:56 Testosterone Decreases, Expectant Fathers, Illness\n00:09:59 Sleep Apnea, Testosterone, Estrogen, Cortisol, Tool: Nasal Breathing\n00:14:25 Dopamine, Cortisol, Fertility, Tool: Light Viewing Behavior\n00:16:56 Heat, Cold & Hormone Levels\n00:18:39 Resistance & Endurance Training, Testosterone, Tool: Exercise Order\n00:20:51 Estrogen, Menopause, Hormone Therapy\n00:22:31 Vitamins, Opioids, Supplements, Tongkat Ali, Cancer Risk\n00:27:02 Luteinizing Hormone, hCG, Fadogia Agrestis, Tool: Blood Tests\n00:31:37 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Optimize Testosterone & Estrogen | Huberman Lab Essentials", 1960, false, "v4HRWgwjP_k", "https://www.youtube.com/watch?v=v4HRWgwjP_k", "/downloads/Andrew Huberman/2025-02-20 How to Optimize Testosterone & Estrogen | Huberman Lab Essentials/How to Optimize Testosterone & Estrogen | Huberman Lab Essentials [v4HRWgwjP_k].mp4", false, 4, ~U[2025-02-20 13:01:30Z]] 17:13:34.699 [debug] QUERY OK source="sources" db=0.2ms idle=190.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:34.700 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:13:34.700 [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 [220] 17:13:34.701 [debug] Current batch of media processed. Will check again in 1000ms 17:13:35.702 [debug] Current batch of media processed. Will check again in 1000ms 17:13:36.703 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the crucial role hormones play in shaping the sexual development of both the brain and body.\n\nI discuss how biological masculinization and feminization depend on factors such as genetics, hormone ratios, and receptor availability. I also explore how hormones like testosterone, estrogen, and other steroid hormones influence sexual characteristics and brain development. Additionally, I examine the impact of environmental factors—such as herbicides like atrazine, cannabis, alcohol, and even cell phones—on hormone function and reproductive health.\n\nEpisode show notes: https://go.hubermanlab.com/Do6MuHz\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/J7SrAEacyf8\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones, Sexual Development\n00:01:25 Chromosomal Sex, Gonadal Sex, Hormonal Sex, Morphology\n00:06:06 Steroid Hormones, Sexual Characteristics\n00:09:10 Primary & Secondary Sexual Characteristics, Dihydrotestosterone (DHT), Kisspeptin\n00:13:23 Masculinization of Brain, Estrogen\n00:14:41 Herbicides, Atrazine, Hormone Effects, Sperm Counts\n00:20:29 Female Sexual Development, Androgen Insensitivity Syndrome\n00:24:03 Cannabis & Aromatase Activity, Gynecomastia; Alcohol & Estrogen Activity\n00:27:00 Cell Phones & Gonads\n00:29:46 Beard & Hair Growth, DHT\n00:33:04 Hyenas, Hormones, Androstenedione; Plants \n00:38:06 Recap & Key Takeaways \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2362, "filename" => "/downloads/Andrew Huberman/2025-02-13 How Hormones Shape Sexual Development | Huberman Lab Essentials/How Hormones Shape Sexual Development | Huberman Lab Essentials [FCFQx3cA0Lg].mp4", "id" => "FCFQx3cA0Lg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FCFQx3cA0Lg", "playlist_index" => 82, "timestamp" => 1739451619, "title" => "How Hormones Shape Sexual Development | Huberman Lab Essentials", "upload_date" => "20250213"} 17:13:36.704 [debug] QUERY OK source="sources" db=0.2ms idle=955.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:36.704 [debug] QUERY OK source="sources" db=0.1ms idle=956.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:36.705 [debug] QUERY OK source="media_items" db=0.4ms idle=956.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-13 13:00:19Z], 4] 17:13:36.707 [debug] QUERY OK source="media_items" db=1.4ms idle=957.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the crucial role hormones play in shaping the sexual development of both the brain and body.\n\nI discuss how biological masculinization and feminization depend on factors such as genetics, hormone ratios, and receptor availability. I also explore how hormones like testosterone, estrogen, and other steroid hormones influence sexual characteristics and brain development. Additionally, I examine the impact of environmental factors—such as herbicides like atrazine, cannabis, alcohol, and even cell phones—on hormone function and reproductive health.\n\nEpisode show notes: https://go.hubermanlab.com/Do6MuHz\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/J7SrAEacyf8\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones, Sexual Development\n00:01:25 Chromosomal Sex, Gonadal Sex, Hormonal Sex, Morphology\n00:06:06 Steroid Hormones, Sexual Characteristics\n00:09:10 Primary & Secondary Sexual Characteristics, Dihydrotestosterone (DHT), Kisspeptin\n00:13:23 Masculinization of Brain, Estrogen\n00:14:41 Herbicides, Atrazine, Hormone Effects, Sperm Counts\n00:20:29 Female Sexual Development, Androgen Insensitivity Syndrome\n00:24:03 Cannabis & Aromatase Activity, Gynecomastia; Alcohol & Estrogen Activity\n00:27:00 Cell Phones & Gonads\n00:29:46 Beard & Hair Growth, DHT\n00:33:04 Hyenas, Hormones, Androstenedione; Plants \n00:38:06 Recap & Key Takeaways \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Hormones Shape Sexual Development | Huberman Lab Essentials", "629925c5-211f-417d-81b2-e218f85b3ff1", 2362, false, "FCFQx3cA0Lg", "https://www.youtube.com/watch?v=FCFQx3cA0Lg", 82, "/downloads/Andrew Huberman/2025-02-13 How Hormones Shape Sexual Development | Huberman Lab Essentials/How Hormones Shape Sexual Development | Huberman Lab Essentials [FCFQx3cA0Lg].mp4", false, false, false, 4, [], 1, ~U[2025-02-13 13:00:19Z], ~U[2026-09-16 17:13:36Z], ~U[2026-09-16 17:13:36Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the crucial role hormones play in shaping the sexual development of both the brain and body.\n\nI discuss how biological masculinization and feminization depend on factors such as genetics, hormone ratios, and receptor availability. I also explore how hormones like testosterone, estrogen, and other steroid hormones influence sexual characteristics and brain development. Additionally, I examine the impact of environmental factors—such as herbicides like atrazine, cannabis, alcohol, and even cell phones—on hormone function and reproductive health.\n\nEpisode show notes: https://go.hubermanlab.com/Do6MuHz\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/J7SrAEacyf8\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones, Sexual Development\n00:01:25 Chromosomal Sex, Gonadal Sex, Hormonal Sex, Morphology\n00:06:06 Steroid Hormones, Sexual Characteristics\n00:09:10 Primary & Secondary Sexual Characteristics, Dihydrotestosterone (DHT), Kisspeptin\n00:13:23 Masculinization of Brain, Estrogen\n00:14:41 Herbicides, Atrazine, Hormone Effects, Sperm Counts\n00:20:29 Female Sexual Development, Androgen Insensitivity Syndrome\n00:24:03 Cannabis & Aromatase Activity, Gynecomastia; Alcohol & Estrogen Activity\n00:27:00 Cell Phones & Gonads\n00:29:46 Beard & Hair Growth, DHT\n00:33:04 Hyenas, Hormones, Androstenedione; Plants \n00:38:06 Recap & Key Takeaways \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Hormones Shape Sexual Development | Huberman Lab Essentials", 2362, false, "FCFQx3cA0Lg", "https://www.youtube.com/watch?v=FCFQx3cA0Lg", "/downloads/Andrew Huberman/2025-02-13 How Hormones Shape Sexual Development | Huberman Lab Essentials/How Hormones Shape Sexual Development | Huberman Lab Essentials [FCFQx3cA0Lg].mp4", false, 4, ~U[2025-02-13 13:00:19Z]] 17:13:36.707 [debug] QUERY OK source="sources" db=0.2ms idle=196.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:36.708 [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" = ?) [2] 17:13:36.708 [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 [221] 17:13:36.708 [debug] Current batch of media processed. Will check again in 1000ms 17:13:37.710 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the biology of emotions and moods, focusing on how development and neurochemicals shape our feelings and relationships.\n\nI describe how early infant bonds and puberty shape adult patterns of emotional connection. I explain that understanding emotions requires recognizing both internal states and external cues, along with strategies to enhance your emotional awareness. Additionally, I discuss the key elements of healthy emotional bonds and provide practical tools to deepen one’s understanding of emotions, leading to a richer emotional life. \n\nEpisode show notes: https://go.hubermanlab.com/WVYQ8qO\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/hcuMLQVAgEg\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Emotions\n00:03:01 Emotions & Childhood Development\n00:04:57 Infancy, Anxiety\n00:06:35 Understanding Emotions; Tools: Mood Meter; Emotions & 3 Key Questions \n00:10:06 Infancy, Interoception & Exteroception\n00:11:10 Strange-Situation Task & Babies, Emotional Regulation\n00:15:12 Tool: Exteroception vs Interoception Focus?\n00:19:42 Puberty, Kisspeptin; Testing the World, Emotional Exploration\n00:28:00 Creating Healthy Emotional Bonds; Dopamine, Serotonin & Oxytocin\n00:31:54 Vasopressin; Vagus Nerve & Alertness\n00:36:22 Recap & Key Takeaway\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2266, "filename" => "/downloads/Andrew Huberman/2025-02-06 The Science of Emotions & Relationships | Huberman Lab Essentials/The Science of Emotions & Relationships | Huberman Lab Essentials [qdk7XuBgSjw].mp4", "id" => "qdk7XuBgSjw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qdk7XuBgSjw", "playlist_index" => 83, "timestamp" => 1738846875, "title" => "The Science of Emotions & Relationships | Huberman Lab Essentials", "upload_date" => "20250206"} 17:13:37.710 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:37.711 [debug] QUERY OK source="sources" db=0.1ms idle=1003.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:37.712 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=1003.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-06 13:01:15Z], 4] 17:13:37.715 [debug] QUERY OK source="media_items" db=2.2ms idle=1004.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the biology of emotions and moods, focusing on how development and neurochemicals shape our feelings and relationships.\n\nI describe how early infant bonds and puberty shape adult patterns of emotional connection. I explain that understanding emotions requires recognizing both internal states and external cues, along with strategies to enhance your emotional awareness. Additionally, I discuss the key elements of healthy emotional bonds and provide practical tools to deepen one’s understanding of emotions, leading to a richer emotional life. \n\nEpisode show notes: https://go.hubermanlab.com/WVYQ8qO\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/hcuMLQVAgEg\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Emotions\n00:03:01 Emotions & Childhood Development\n00:04:57 Infancy, Anxiety\n00:06:35 Understanding Emotions; Tools: Mood Meter; Emotions & 3 Key Questions \n00:10:06 Infancy, Interoception & Exteroception\n00:11:10 Strange-Situation Task & Babies, Emotional Regulation\n00:15:12 Tool: Exteroception vs Interoception Focus?\n00:19:42 Puberty, Kisspeptin; Testing the World, Emotional Exploration\n00:28:00 Creating Healthy Emotional Bonds; Dopamine, Serotonin & Oxytocin\n00:31:54 Vasopressin; Vagus Nerve & Alertness\n00:36:22 Recap & Key Takeaway\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science of Emotions & Relationships | Huberman Lab Essentials", "cb2a0875-7009-421d-8544-7c23e73a220f", 2266, false, "qdk7XuBgSjw", "https://www.youtube.com/watch?v=qdk7XuBgSjw", 83, "/downloads/Andrew Huberman/2025-02-06 The Science of Emotions & Relationships | Huberman Lab Essentials/The Science of Emotions & Relationships | Huberman Lab Essentials [qdk7XuBgSjw].mp4", false, false, false, 4, [], 1, ~U[2025-02-06 13:01:15Z], ~U[2026-09-16 17:13:37Z], ~U[2026-09-16 17:13:37Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the biology of emotions and moods, focusing on how development and neurochemicals shape our feelings and relationships.\n\nI describe how early infant bonds and puberty shape adult patterns of emotional connection. I explain that understanding emotions requires recognizing both internal states and external cues, along with strategies to enhance your emotional awareness. Additionally, I discuss the key elements of healthy emotional bonds and provide practical tools to deepen one’s understanding of emotions, leading to a richer emotional life. \n\nEpisode show notes: https://go.hubermanlab.com/WVYQ8qO\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/hcuMLQVAgEg\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Emotions\n00:03:01 Emotions & Childhood Development\n00:04:57 Infancy, Anxiety\n00:06:35 Understanding Emotions; Tools: Mood Meter; Emotions & 3 Key Questions \n00:10:06 Infancy, Interoception & Exteroception\n00:11:10 Strange-Situation Task & Babies, Emotional Regulation\n00:15:12 Tool: Exteroception vs Interoception Focus?\n00:19:42 Puberty, Kisspeptin; Testing the World, Emotional Exploration\n00:28:00 Creating Healthy Emotional Bonds; Dopamine, Serotonin & Oxytocin\n00:31:54 Vasopressin; Vagus Nerve & Alertness\n00:36:22 Recap & Key Takeaway\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science of Emotions & Relationships | Huberman Lab Essentials", 2266, false, "qdk7XuBgSjw", "https://www.youtube.com/watch?v=qdk7XuBgSjw", "/downloads/Andrew Huberman/2025-02-06 The Science of Emotions & Relationships | Huberman Lab Essentials/The Science of Emotions & Relationships | Huberman Lab Essentials [qdk7XuBgSjw].mp4", false, 4, ~U[2025-02-06 13:01:15Z]] 17:13:37.716 [debug] QUERY OK source="sources" db=0.1ms idle=204.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:37.716 [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] 17:13:37.717 [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 [222] 17:13:37.717 [debug] Current batch of media processed. Will check again in 1000ms 17:13:38.718 [debug] Current batch of media processed. Will check again in 1000ms 17:13:39.719 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the biological mechanism behind motivation and drive, as well as discuss practical tools for overcoming procrastination. \n\nI discuss the key role dopamine plays in driving cravings and motivating action. I explain how dopamine regulates the balance between pleasure and pain, and what happens when this system becomes dysregulated, leading to addiction. I discuss the role of molecules like serotonin, which help enhance the enjoyment of the present, and explain how to balance the drive for more while staying focused in the present. I also discuss the causes of procrastination and describe strategies to boost dopamine levels through behavioral approaches or supplements. \n\nEpisode show notes: https://go.hubermanlab.com/scK73JK\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/vA50EK70whE\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Motivation\n00:01:57 Dopamine & Brain \n00:04:08 Anticipation, Craving & Dopamine\n00:05:37 Food, Drugs & Dopamine Release\n00:09:08 Addiction, Pleasure & Pain Balance\n00:13:03 Dopamine, Pain, Yearning\n00:14:56 “Here and Now” Molecules, Serotonin, Endocannabinoids, Tool: Mindfulness\n00:18:30 Procrastination; Tool: Extend Dopamine, Offset Pain\n00:22:03 Dopamine & Motivation; Increasing Dopamine, Phenethylamine (PEA)\n00:25:30 Dopamine Schedule, Subjectivity\n00:28:31 Gambling, Intermittent Reinforcement, Tool: Blunting Rewards\n00:33:23 Recap & Key Takeaway\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2048, "filename" => "/downloads/Andrew Huberman/2025-01-30 How to Increase Motivation & Drive | Huberman Lab Essentials/How to Increase Motivation & Drive | Huberman Lab Essentials [OLQRAMZi--c].mp4", "id" => "OLQRAMZi--c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OLQRAMZi--c", "playlist_index" => 84, "timestamp" => 1738242034, "title" => "How to Increase Motivation & Drive | Huberman Lab Essentials", "upload_date" => "20250130"} 17:13:39.719 [debug] QUERY OK source="sources" db=0.3ms idle=971.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:39.720 [debug] QUERY OK source="sources" db=0.1ms idle=972.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:39.721 [debug] QUERY OK source="media_items" db=0.4ms idle=972.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-30 13:00:34Z], 4] 17:13:39.723 [debug] QUERY OK source="media_items" db=1.4ms idle=973.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the biological mechanism behind motivation and drive, as well as discuss practical tools for overcoming procrastination. \n\nI discuss the key role dopamine plays in driving cravings and motivating action. I explain how dopamine regulates the balance between pleasure and pain, and what happens when this system becomes dysregulated, leading to addiction. I discuss the role of molecules like serotonin, which help enhance the enjoyment of the present, and explain how to balance the drive for more while staying focused in the present. I also discuss the causes of procrastination and describe strategies to boost dopamine levels through behavioral approaches or supplements. \n\nEpisode show notes: https://go.hubermanlab.com/scK73JK\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/vA50EK70whE\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Motivation\n00:01:57 Dopamine & Brain \n00:04:08 Anticipation, Craving & Dopamine\n00:05:37 Food, Drugs & Dopamine Release\n00:09:08 Addiction, Pleasure & Pain Balance\n00:13:03 Dopamine, Pain, Yearning\n00:14:56 “Here and Now” Molecules, Serotonin, Endocannabinoids, Tool: Mindfulness\n00:18:30 Procrastination; Tool: Extend Dopamine, Offset Pain\n00:22:03 Dopamine & Motivation; Increasing Dopamine, Phenethylamine (PEA)\n00:25:30 Dopamine Schedule, Subjectivity\n00:28:31 Gambling, Intermittent Reinforcement, Tool: Blunting Rewards\n00:33:23 Recap & Key Takeaway\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Increase Motivation & Drive | Huberman Lab Essentials", "ba9872c0-37ce-4634-919b-0232a87a596f", 2048, false, "OLQRAMZi--c", "https://www.youtube.com/watch?v=OLQRAMZi--c", 84, "/downloads/Andrew Huberman/2025-01-30 How to Increase Motivation & Drive | Huberman Lab Essentials/How to Increase Motivation & Drive | Huberman Lab Essentials [OLQRAMZi--c].mp4", false, false, false, 4, [], 1, ~U[2025-01-30 13:00:34Z], ~U[2026-09-16 17:13:39Z], ~U[2026-09-16 17:13:39Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the biological mechanism behind motivation and drive, as well as discuss practical tools for overcoming procrastination. \n\nI discuss the key role dopamine plays in driving cravings and motivating action. I explain how dopamine regulates the balance between pleasure and pain, and what happens when this system becomes dysregulated, leading to addiction. I discuss the role of molecules like serotonin, which help enhance the enjoyment of the present, and explain how to balance the drive for more while staying focused in the present. I also discuss the causes of procrastination and describe strategies to boost dopamine levels through behavioral approaches or supplements. \n\nEpisode show notes: https://go.hubermanlab.com/scK73JK\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/vA50EK70whE\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Motivation\n00:01:57 Dopamine & Brain \n00:04:08 Anticipation, Craving & Dopamine\n00:05:37 Food, Drugs & Dopamine Release\n00:09:08 Addiction, Pleasure & Pain Balance\n00:13:03 Dopamine, Pain, Yearning\n00:14:56 “Here and Now” Molecules, Serotonin, Endocannabinoids, Tool: Mindfulness\n00:18:30 Procrastination; Tool: Extend Dopamine, Offset Pain\n00:22:03 Dopamine & Motivation; Increasing Dopamine, Phenethylamine (PEA)\n00:25:30 Dopamine Schedule, Subjectivity\n00:28:31 Gambling, Intermittent Reinforcement, Tool: Blunting Rewards\n00:33:23 Recap & Key Takeaway\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Increase Motivation & Drive | Huberman Lab Essentials", 2048, false, "OLQRAMZi--c", "https://www.youtube.com/watch?v=OLQRAMZi--c", "/downloads/Andrew Huberman/2025-01-30 How to Increase Motivation & Drive | Huberman Lab Essentials/How to Increase Motivation & Drive | Huberman Lab Essentials [OLQRAMZi--c].mp4", false, 4, ~U[2025-01-30 13:00:34Z]] 17:13:39.723 [debug] QUERY OK source="sources" db=0.1ms idle=209.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:39.724 [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] 17:13:39.724 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [223] 17:13:39.724 [debug] Current batch of media processed. Will check again in 1000ms 17:13:40.725 [debug] Current batch of media processed. Will check again in 1000ms 17:13:41.726 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how the different nutrients and foods we eat impact our emotions and overall mood.\n\nI discuss how the mind-body connection shapes our food choices and cravings, highlighting the roles of key neurotransmitters like dopamine and serotonin in driving eating behaviors. I explain the biological mechanisms behind cravings for specific foods, such as sugar, and how psychological factors like belief effects can influence our perception of hunger. I also describe how certain nutrients, like omega-3 fatty acids, and a healthy gut microbiome are crucial in mood regulation and immune function.\n\nEpisode show notes: https://go.hubermanlab.com/QL9AWYX\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/XfURDjegrAw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Emotions, Food & Nutrition\n00:02:30 Attraction & Aversion\n00:03:38 Vagus Nerve, Sugar\n00:06:31 Gut “Feelings”, Hidden Sugars, Amino Acids\n00:08:54 Dopamine, Craving, L-tyrosine\n00:12:57 Serotonin, Carbohydrates\n00:16:12 Omega-3s, Depression, SSRIs\n00:19:12 Gut-Brain Axis, Gut Microbiome\n00:22:35 Probiotics, Brain Fog, Tools: Fermented Foods, Saccharine Caution\n00:25:39 Ketogenic Diet & Gut Microbiome, Tool: Individual Diet Variability\n00:28:59 Tool: Belief Effects; Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1953, "filename" => "/downloads/Andrew Huberman/2025-01-23 How Foods & Nutrients Control Our Moods | Huberman Lab Essentials/How Foods & Nutrients Control Our Moods | Huberman Lab Essentials [Q4qWzbP0q7I].mp4", "id" => "Q4qWzbP0q7I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Q4qWzbP0q7I", "playlist_index" => 85, "timestamp" => 1737637228, "title" => "How Foods & Nutrients Control Our Moods | Huberman Lab Essentials", "upload_date" => "20250123"} 17:13:41.727 [debug] QUERY OK source="sources" db=0.4ms idle=978.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:41.727 [debug] QUERY OK source="sources" db=0.1ms idle=979.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:41.728 [debug] QUERY OK source="media_items" db=0.4ms idle=979.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-23 13:00:28Z], 4] 17:13:41.731 [debug] QUERY OK source="media_items" db=2.1ms idle=980.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how the different nutrients and foods we eat impact our emotions and overall mood.\n\nI discuss how the mind-body connection shapes our food choices and cravings, highlighting the roles of key neurotransmitters like dopamine and serotonin in driving eating behaviors. I explain the biological mechanisms behind cravings for specific foods, such as sugar, and how psychological factors like belief effects can influence our perception of hunger. I also describe how certain nutrients, like omega-3 fatty acids, and a healthy gut microbiome are crucial in mood regulation and immune function.\n\nEpisode show notes: https://go.hubermanlab.com/QL9AWYX\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/XfURDjegrAw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Emotions, Food & Nutrition\n00:02:30 Attraction & Aversion\n00:03:38 Vagus Nerve, Sugar\n00:06:31 Gut “Feelings”, Hidden Sugars, Amino Acids\n00:08:54 Dopamine, Craving, L-tyrosine\n00:12:57 Serotonin, Carbohydrates\n00:16:12 Omega-3s, Depression, SSRIs\n00:19:12 Gut-Brain Axis, Gut Microbiome\n00:22:35 Probiotics, Brain Fog, Tools: Fermented Foods, Saccharine Caution\n00:25:39 Ketogenic Diet & Gut Microbiome, Tool: Individual Diet Variability\n00:28:59 Tool: Belief Effects; Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Foods & Nutrients Control Our Moods | Huberman Lab Essentials", "c509f922-1e72-47e1-913d-2c57e2074326", 1953, false, "Q4qWzbP0q7I", "https://www.youtube.com/watch?v=Q4qWzbP0q7I", 85, "/downloads/Andrew Huberman/2025-01-23 How Foods & Nutrients Control Our Moods | Huberman Lab Essentials/How Foods & Nutrients Control Our Moods | Huberman Lab Essentials [Q4qWzbP0q7I].mp4", false, false, false, 4, [], 1, ~U[2025-01-23 13:00:28Z], ~U[2026-09-16 17:13:41Z], ~U[2026-09-16 17:13:41Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how the different nutrients and foods we eat impact our emotions and overall mood.\n\nI discuss how the mind-body connection shapes our food choices and cravings, highlighting the roles of key neurotransmitters like dopamine and serotonin in driving eating behaviors. I explain the biological mechanisms behind cravings for specific foods, such as sugar, and how psychological factors like belief effects can influence our perception of hunger. I also describe how certain nutrients, like omega-3 fatty acids, and a healthy gut microbiome are crucial in mood regulation and immune function.\n\nEpisode show notes: https://go.hubermanlab.com/QL9AWYX\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/XfURDjegrAw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Emotions, Food & Nutrition\n00:02:30 Attraction & Aversion\n00:03:38 Vagus Nerve, Sugar\n00:06:31 Gut “Feelings”, Hidden Sugars, Amino Acids\n00:08:54 Dopamine, Craving, L-tyrosine\n00:12:57 Serotonin, Carbohydrates\n00:16:12 Omega-3s, Depression, SSRIs\n00:19:12 Gut-Brain Axis, Gut Microbiome\n00:22:35 Probiotics, Brain Fog, Tools: Fermented Foods, Saccharine Caution\n00:25:39 Ketogenic Diet & Gut Microbiome, Tool: Individual Diet Variability\n00:28:59 Tool: Belief Effects; Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Foods & Nutrients Control Our Moods | Huberman Lab Essentials", 1953, false, "Q4qWzbP0q7I", "https://www.youtube.com/watch?v=Q4qWzbP0q7I", "/downloads/Andrew Huberman/2025-01-23 How Foods & Nutrients Control Our Moods | Huberman Lab Essentials/How Foods & Nutrients Control Our Moods | Huberman Lab Essentials [Q4qWzbP0q7I].mp4", false, 4, ~U[2025-01-23 13:00:28Z]] 17:13:41.731 [debug] QUERY OK source="sources" db=0.2ms idle=214.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:41.732 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:13:41.732 [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 [224] 17:13:41.733 [debug] Current batch of media processed. Will check again in 1000ms 17:13:42.734 [debug] Current batch of media processed. Will check again in 1000ms 17:13:43.735 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain strategies for managing stress, both in the short and long term, to enhance overall well-being.\n\nI explain how the mind and body respond to stress and how acute stress has immune-boosting benefits. I discuss science-supported tools and supplements to better manage stress in real time and protocols for raising one's stress threshold to build resilience to life’s inevitable challenges. I also describe practices to reduce chronic stress and maintain a balanced, healthy life. \n\nEpisode show notes: https://go.hubermanlab.com/D9nUxLz\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/ntfcfJ28eiU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Emotions & Stress\n00:02:37 What is Stress?\n00:04:23 Short-Term Stress Response\n00:06:49 Breathwork to Reduce Stress; Tool: Physiological Sigh\n00:11:52 Physiologic Sigh, Carbon Dioxide & Rapid Stress Reduction\n00:13:30 Short-Term Stress, Positive Benefits, Immune System\n00:16:35 Tool: Deliberate Hyperventilation, Adrenaline & Infection\n00:21:01 Raising Stress Threshold, Tool: Eye Dilation\n00:25:00 Mitigating Long-Term Stress; Tool: Social Connection, Delight\n00:28:58 Melatonin, Caution\n00:30:06 L-theanine, Ashwagandha\n00:31:19 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1949, "filename" => "/downloads/Andrew Huberman/2025-01-16 Tools for Managing Stress & Anxiety | Huberman Lab Essentials/Tools for Managing Stress & Anxiety | Huberman Lab Essentials [qUz93CyNIz0].mp4", "id" => "qUz93CyNIz0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qUz93CyNIz0", "playlist_index" => 86, "timestamp" => 1737032480, "title" => "Tools for Managing Stress & Anxiety | Huberman Lab Essentials", "upload_date" => "20250116"} 17:13:43.736 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=987.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:43.737 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=988.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:43.738 [debug] QUERY OK source="media_items" db=0.6ms queue=0.4ms idle=989.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-16 13:01:20Z], 4] 17:13:43.745 [debug] QUERY OK source="media_items" db=6.5ms idle=991.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain strategies for managing stress, both in the short and long term, to enhance overall well-being.\n\nI explain how the mind and body respond to stress and how acute stress has immune-boosting benefits. I discuss science-supported tools and supplements to better manage stress in real time and protocols for raising one's stress threshold to build resilience to life’s inevitable challenges. I also describe practices to reduce chronic stress and maintain a balanced, healthy life. \n\nEpisode show notes: https://go.hubermanlab.com/D9nUxLz\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/ntfcfJ28eiU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Emotions & Stress\n00:02:37 What is Stress?\n00:04:23 Short-Term Stress Response\n00:06:49 Breathwork to Reduce Stress; Tool: Physiological Sigh\n00:11:52 Physiologic Sigh, Carbon Dioxide & Rapid Stress Reduction\n00:13:30 Short-Term Stress, Positive Benefits, Immune System\n00:16:35 Tool: Deliberate Hyperventilation, Adrenaline & Infection\n00:21:01 Raising Stress Threshold, Tool: Eye Dilation\n00:25:00 Mitigating Long-Term Stress; Tool: Social Connection, Delight\n00:28:58 Melatonin, Caution\n00:30:06 L-theanine, Ashwagandha\n00:31:19 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Tools for Managing Stress & Anxiety | Huberman Lab Essentials", "023603a8-2420-4abf-9494-1281b0f56f89", 1949, false, "qUz93CyNIz0", "https://www.youtube.com/watch?v=qUz93CyNIz0", 86, "/downloads/Andrew Huberman/2025-01-16 Tools for Managing Stress & Anxiety | Huberman Lab Essentials/Tools for Managing Stress & Anxiety | Huberman Lab Essentials [qUz93CyNIz0].mp4", false, false, false, 4, [], 1, ~U[2025-01-16 13:01:20Z], ~U[2026-09-16 17:13:43Z], ~U[2026-09-16 17:13:43Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain strategies for managing stress, both in the short and long term, to enhance overall well-being.\n\nI explain how the mind and body respond to stress and how acute stress has immune-boosting benefits. I discuss science-supported tools and supplements to better manage stress in real time and protocols for raising one's stress threshold to build resilience to life’s inevitable challenges. I also describe practices to reduce chronic stress and maintain a balanced, healthy life. \n\nEpisode show notes: https://go.hubermanlab.com/D9nUxLz\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/ntfcfJ28eiU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Emotions & Stress\n00:02:37 What is Stress?\n00:04:23 Short-Term Stress Response\n00:06:49 Breathwork to Reduce Stress; Tool: Physiological Sigh\n00:11:52 Physiologic Sigh, Carbon Dioxide & Rapid Stress Reduction\n00:13:30 Short-Term Stress, Positive Benefits, Immune System\n00:16:35 Tool: Deliberate Hyperventilation, Adrenaline & Infection\n00:21:01 Raising Stress Threshold, Tool: Eye Dilation\n00:25:00 Mitigating Long-Term Stress; Tool: Social Connection, Delight\n00:28:58 Melatonin, Caution\n00:30:06 L-theanine, Ashwagandha\n00:31:19 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Tools for Managing Stress & Anxiety | Huberman Lab Essentials", 1949, false, "qUz93CyNIz0", "https://www.youtube.com/watch?v=qUz93CyNIz0", "/downloads/Andrew Huberman/2025-01-16 Tools for Managing Stress & Anxiety | Huberman Lab Essentials/Tools for Managing Stress & Anxiety | Huberman Lab Essentials [qUz93CyNIz0].mp4", false, 4, ~U[2025-01-16 13:01:20Z]] 17:13:43.746 [debug] QUERY OK source="sources" db=0.4ms idle=226.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:43.747 [debug] QUERY OK source="media_profiles" db=0.2ms idle=10.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:13:43.747 [debug] QUERY OK source="media_items" db=0.2ms idle=10.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [225] 17:13:43.747 [debug] Current batch of media processed. Will check again in 1000ms 17:13:44.749 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to manage pain and accelerate injury recovery by leveraging protocols to modulate pain perception. \n\nI discuss how pain interpretation is a complex experience, shaped by both internal factors like emotions and genetics, as well as external factors, such as context. I explain how practical strategies like acupuncture, breathing techniques, exercise and temperature modulation can influence the body’s pain response and accelerate recovery. I also discuss topics like phantom limb pain, recovering from traumatic brain injury and the crucial role inflammation plays in the healing process. \n\nEpisode show notes: https://go.hubermanlab.com/xYRBZIy\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/mcPSRWUYCv0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Neuroplasticity\n00:01:58 Somatosensory System, Pain\n00:05:22 Pain & Injury; Genes\n00:07:38 Touch, Sensitivity, Pain, Inflammation\n00:09:53 Phantom Limb Pain, Top-Down Modulation\n00:14:00 Traumatic Brain Injury, Aging & Glymphatic System; Tools: Side Sleeping, Zone 2 Cardio\n00:19:05 Pain Interpretation, Adrenaline, Emotion & Love\n00:22:19 Acupuncture; Homunculus, Somatosensory System, Gut & Inflammation\n00:29:31 Tool: Wim Hof Method, Tummo Breathing, Pain\n00:30:29 Tools: Injury Management, Ice or Heat?\n00:34:10 Platelet-Rich Plasma (PRP), Stem Cells\n00:35:43 Recap & Key Takeaways\n\nDisclaimer & Disclosures:: https://www.hubermanlab.com/disclaimer", "duration" => 2197, "filename" => "/downloads/Andrew Huberman/2025-01-09 Control Pain & Heal Faster With Your Brain | Huberman Lab Essentials/Control Pain & Heal Faster With Your Brain | Huberman Lab Essentials [SjPJn4QP0dk].mp4", "id" => "SjPJn4QP0dk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SjPJn4QP0dk", "playlist_index" => 87, "timestamp" => 1736427639, "title" => "Control Pain & Heal Faster With Your Brain | Huberman Lab Essentials", "upload_date" => "20250109"} 17:13:44.749 [debug] QUERY OK source="sources" db=0.2ms idle=228.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:44.750 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [4] 17:13:44.750 [debug] QUERY OK source="media_items" db=0.4ms idle=2.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-09 13:00:39Z], 4] 17:13:44.754 [debug] QUERY OK source="media_items" db=2.8ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to manage pain and accelerate injury recovery by leveraging protocols to modulate pain perception. \n\nI discuss how pain interpretation is a complex experience, shaped by both internal factors like emotions and genetics, as well as external factors, such as context. I explain how practical strategies like acupuncture, breathing techniques, exercise and temperature modulation can influence the body’s pain response and accelerate recovery. I also discuss topics like phantom limb pain, recovering from traumatic brain injury and the crucial role inflammation plays in the healing process. \n\nEpisode show notes: https://go.hubermanlab.com/xYRBZIy\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/mcPSRWUYCv0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Neuroplasticity\n00:01:58 Somatosensory System, Pain\n00:05:22 Pain & Injury; Genes\n00:07:38 Touch, Sensitivity, Pain, Inflammation\n00:09:53 Phantom Limb Pain, Top-Down Modulation\n00:14:00 Traumatic Brain Injury, Aging & Glymphatic System; Tools: Side Sleeping, Zone 2 Cardio\n00:19:05 Pain Interpretation, Adrenaline, Emotion & Love\n00:22:19 Acupuncture; Homunculus, Somatosensory System, Gut & Inflammation\n00:29:31 Tool: Wim Hof Method, Tummo Breathing, Pain\n00:30:29 Tools: Injury Management, Ice or Heat?\n00:34:10 Platelet-Rich Plasma (PRP), Stem Cells\n00:35:43 Recap & Key Takeaways\n\nDisclaimer & Disclosures:: https://www.hubermanlab.com/disclaimer", "Control Pain & Heal Faster With Your Brain | Huberman Lab Essentials", "778337f2-d473-459a-b8aa-b24a458d82e1", 2197, false, "SjPJn4QP0dk", "https://www.youtube.com/watch?v=SjPJn4QP0dk", 87, "/downloads/Andrew Huberman/2025-01-09 Control Pain & Heal Faster With Your Brain | Huberman Lab Essentials/Control Pain & Heal Faster With Your Brain | Huberman Lab Essentials [SjPJn4QP0dk].mp4", false, false, false, 4, [], 1, ~U[2025-01-09 13:00:39Z], ~U[2026-09-16 17:13:44Z], ~U[2026-09-16 17:13:44Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to manage pain and accelerate injury recovery by leveraging protocols to modulate pain perception. \n\nI discuss how pain interpretation is a complex experience, shaped by both internal factors like emotions and genetics, as well as external factors, such as context. I explain how practical strategies like acupuncture, breathing techniques, exercise and temperature modulation can influence the body’s pain response and accelerate recovery. I also discuss topics like phantom limb pain, recovering from traumatic brain injury and the crucial role inflammation plays in the healing process. \n\nEpisode show notes: https://go.hubermanlab.com/xYRBZIy\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/mcPSRWUYCv0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Neuroplasticity\n00:01:58 Somatosensory System, Pain\n00:05:22 Pain & Injury; Genes\n00:07:38 Touch, Sensitivity, Pain, Inflammation\n00:09:53 Phantom Limb Pain, Top-Down Modulation\n00:14:00 Traumatic Brain Injury, Aging & Glymphatic System; Tools: Side Sleeping, Zone 2 Cardio\n00:19:05 Pain Interpretation, Adrenaline, Emotion & Love\n00:22:19 Acupuncture; Homunculus, Somatosensory System, Gut & Inflammation\n00:29:31 Tool: Wim Hof Method, Tummo Breathing, Pain\n00:30:29 Tools: Injury Management, Ice or Heat?\n00:34:10 Platelet-Rich Plasma (PRP), Stem Cells\n00:35:43 Recap & Key Takeaways\n\nDisclaimer & Disclosures:: https://www.hubermanlab.com/disclaimer", "Control Pain & Heal Faster With Your Brain | Huberman Lab Essentials", 2197, false, "SjPJn4QP0dk", "https://www.youtube.com/watch?v=SjPJn4QP0dk", "/downloads/Andrew Huberman/2025-01-09 Control Pain & Heal Faster With Your Brain | Huberman Lab Essentials/Control Pain & Heal Faster With Your Brain | Huberman Lab Essentials [SjPJn4QP0dk].mp4", false, 4, ~U[2025-01-09 13:00:39Z]] 17:13:44.755 [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" = ?) [4] 17:13:44.755 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.3ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:13:44.756 [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 [226] 17:13:44.756 [debug] Current batch of media processed. Will check again in 1000ms 17:13:45.757 [debug] Current batch of media processed. Will check again in 1000ms 17:13:46.758 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to boost creativity and enhance learning by aligning with the body’s natural rhythms and strategically using protocols to optimize states of alertness or calm.\n\nI outline tools to improve focus and learning, including when to use specific techniques based on the time of day and how to adjust focus and tasks according to energy levels. I also discuss the two essential components of creativity and explain how to structure productive, creative work sessions. By combining biological tools — such as exercise, meals, hydration, and sleep — with subjective methods like music, I demonstrate how to tailor your approach to align with your unique biological rhythms and individual goals, fostering greater creativity and learning.\n\nEpisode show notes: https://go.hubermanlab.com/Xa99nnB\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/uuP-1ioh4LY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Neuroplasticity\n00:01:50 Types of Neuroplasticity\n00:03:46 Autonomic Arousal, Sleep\n00:05:06 Waking Up, Tools: Sunlight, Caffeine Delay, Hydration\n00:08:11 Alertness, Morning & Work Bout\n00:09:37 Dopamine & Learning; Tool: Music & Alertness\n00:12:56 Tool: Exercise Early; Morning Work\n00:14:14 Meals; Afternoon Dip & Work, Tools: Hydration, Non-Sleep Deep Rest (NSDR)\n00:16:37 Creativity: Exploring vs. Implementation\n00:19:00 Psychedelics, Sensory Blending; Tool: Timing Creative Work\n00:21:06 Tool: Evening Sunlight; Lights, Evening Meal & Carbohydrates\n00:23:08 Natural Sleep/Wake Schedule; Tools: Anticipate Evening Alertness; NSDR\n00:26:25 Work & Daily Schedule, Tool: 90-Minute Work Bouts\n00:27:42 Optimize Biological Rhythms & Tools for Creativity & Learning\n\nDisclaimer & Disclaimer: https://www.hubermanlab.com/disclaimer", "duration" => 1847, "filename" => "/downloads/Andrew Huberman/2025-01-02 Optimize Your Learning & Creativity With Science-Based Tools | Huberman Lab Essentials/Optimize Your Learning & Creativity With Science-Based Tools | Huberman Lab Essentials [D97TQuy946k].mp4", "id" => "D97TQuy946k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=D97TQuy946k", "playlist_index" => 88, "timestamp" => 1735822813, "title" => "Optimize Your Learning & Creativity With Science-Based Tools | Huberman Lab Essentials", "upload_date" => "20250102"} 17:13:46.758 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:46.759 [debug] QUERY OK source="sources" db=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" = ?) [4] 17:13:46.760 [debug] QUERY OK source="media_items" db=0.6ms idle=11.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-02 13:00:13Z], 4] 17:13:46.817 [debug] QUERY OK source="media_items" db=56.1ms idle=12.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to boost creativity and enhance learning by aligning with the body’s natural rhythms and strategically using protocols to optimize states of alertness or calm.\n\nI outline tools to improve focus and learning, including when to use specific techniques based on the time of day and how to adjust focus and tasks according to energy levels. I also discuss the two essential components of creativity and explain how to structure productive, creative work sessions. By combining biological tools — such as exercise, meals, hydration, and sleep — with subjective methods like music, I demonstrate how to tailor your approach to align with your unique biological rhythms and individual goals, fostering greater creativity and learning.\n\nEpisode show notes: https://go.hubermanlab.com/Xa99nnB\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/uuP-1ioh4LY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Neuroplasticity\n00:01:50 Types of Neuroplasticity\n00:03:46 Autonomic Arousal, Sleep\n00:05:06 Waking Up, Tools: Sunlight, Caffeine Delay, Hydration\n00:08:11 Alertness, Morning & Work Bout\n00:09:37 Dopamine & Learning; Tool: Music & Alertness\n00:12:56 Tool: Exercise Early; Morning Work\n00:14:14 Meals; Afternoon Dip & Work, Tools: Hydration, Non-Sleep Deep Rest (NSDR)\n00:16:37 Creativity: Exploring vs. Implementation\n00:19:00 Psychedelics, Sensory Blending; Tool: Timing Creative Work\n00:21:06 Tool: Evening Sunlight; Lights, Evening Meal & Carbohydrates\n00:23:08 Natural Sleep/Wake Schedule; Tools: Anticipate Evening Alertness; NSDR\n00:26:25 Work & Daily Schedule, Tool: 90-Minute Work Bouts\n00:27:42 Optimize Biological Rhythms & Tools for Creativity & Learning\n\nDisclaimer & Disclaimer: https://www.hubermanlab.com/disclaimer", "Optimize Your Learning & Creativity With Science-Based Tools | Huberman Lab Essentials", "efbc9c51-b9bc-446f-ab30-76acb3a0956f", 1847, false, "D97TQuy946k", "https://www.youtube.com/watch?v=D97TQuy946k", 88, "/downloads/Andrew Huberman/2025-01-02 Optimize Your Learning & Creativity With Science-Based Tools | Huberman Lab Essentials/Optimize Your Learning & Creativity With Science-Based Tools | Huberman Lab Essentials [D97TQuy946k].mp4", false, false, false, 4, [], 1, ~U[2025-01-02 13:00:13Z], ~U[2026-09-16 17:13:46Z], ~U[2026-09-16 17:13:46Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to boost creativity and enhance learning by aligning with the body’s natural rhythms and strategically using protocols to optimize states of alertness or calm.\n\nI outline tools to improve focus and learning, including when to use specific techniques based on the time of day and how to adjust focus and tasks according to energy levels. I also discuss the two essential components of creativity and explain how to structure productive, creative work sessions. By combining biological tools — such as exercise, meals, hydration, and sleep — with subjective methods like music, I demonstrate how to tailor your approach to align with your unique biological rhythms and individual goals, fostering greater creativity and learning.\n\nEpisode show notes: https://go.hubermanlab.com/Xa99nnB\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/uuP-1ioh4LY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Neuroplasticity\n00:01:50 Types of Neuroplasticity\n00:03:46 Autonomic Arousal, Sleep\n00:05:06 Waking Up, Tools: Sunlight, Caffeine Delay, Hydration\n00:08:11 Alertness, Morning & Work Bout\n00:09:37 Dopamine & Learning; Tool: Music & Alertness\n00:12:56 Tool: Exercise Early; Morning Work\n00:14:14 Meals; Afternoon Dip & Work, Tools: Hydration, Non-Sleep Deep Rest (NSDR)\n00:16:37 Creativity: Exploring vs. Implementation\n00:19:00 Psychedelics, Sensory Blending; Tool: Timing Creative Work\n00:21:06 Tool: Evening Sunlight; Lights, Evening Meal & Carbohydrates\n00:23:08 Natural Sleep/Wake Schedule; Tools: Anticipate Evening Alertness; NSDR\n00:26:25 Work & Daily Schedule, Tool: 90-Minute Work Bouts\n00:27:42 Optimize Biological Rhythms & Tools for Creativity & Learning\n\nDisclaimer & Disclaimer: https://www.hubermanlab.com/disclaimer", "Optimize Your Learning & Creativity With Science-Based Tools | Huberman Lab Essentials", 1847, false, "D97TQuy946k", "https://www.youtube.com/watch?v=D97TQuy946k", "/downloads/Andrew Huberman/2025-01-02 Optimize Your Learning & Creativity With Science-Based Tools | Huberman Lab Essentials/Optimize Your Learning & Creativity With Science-Based Tools | Huberman Lab Essentials [D97TQuy946k].mp4", false, 4, ~U[2025-01-02 13:00:13Z]] 17:13:46.817 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [4] 17:13:46.818 [debug] QUERY OK source="media_profiles" db=0.2ms idle=58.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] 17:13:46.818 [debug] QUERY OK source="media_items" db=0.2ms idle=59.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 [227] 17:13:46.818 [debug] Current batch of media processed. Will check again in 1000ms 17:13:47.819 [debug] Current batch of media processed. Will check again in 1000ms 17:13:48.820 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how making mistakes and perceived frustration drive learning and how movement enhances the brain’s adaptability. \n\nI explain how making errors triggers the release of neurotransmitters, such as dopamine, which are essential for learning. I also discuss the differences between how neuroplasticity occurs in children and adults, focusing on the varying requirements and effort needed for learning. I discuss science-supported learning strategies for adults, including small practice bouts, leveraging frustration, regulating your autonomic state, and using movement to maximize focus and neuroplasticity. \n\nEpisode show notes: https://go.hubermanlab.com/sedjKF5\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/hx3U64IXFOY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Learning\n00:01:29 Representational Plasticity, Performance Errors\n00:03:16 Neuroplasticity, Neurotransmitters\n00:05:03 Visual Adaptation, Children vs. Adults\n00:09:15 Errors, Frustration & Neuroplasticity, Adult Learning\n00:13:05 Adults, Incremental Shifts vs. High Contingency; Tool: Small Learning Bouts\n00:17:35 Tool: Ultradian Cycles, Focus, Errors & Frustration\n00:19:44 Dopamine, Errors & Subjective Beliefs, Peak Focus; Tool: Frustration\n00:23:32 Limbic Friction; Tool: Behaviors to Increase Alert or Calm\n00:27:13 Balance, Errors & Neurotransmitters\n00:29:58 Tool: Enhance Neuroplasticity; Movement\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2032, "filename" => "/downloads/Andrew Huberman/2024-12-26 How to Learn Faster by Using Failures, Movement & Balance | Huberman Lab Essentials/How to Learn Faster by Using Failures, Movement & Balance | Huberman Lab Essentials [jwChiek_aRY].mp4", "id" => "jwChiek_aRY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jwChiek_aRY", "playlist_index" => 89, "timestamp" => 1735218058, "title" => "How to Learn Faster by Using Failures, Movement & Balance | Huberman Lab Essentials", "upload_date" => "20241226"} 17:13:48.820 [debug] QUERY OK source="sources" db=0.2ms idle=293.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:48.821 [debug] QUERY OK source="sources" db=0.1ms idle=73.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:48.821 [debug] QUERY OK source="media_items" db=0.4ms idle=73.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-26 13:00:58Z], 4] 17:13:48.825 [debug] QUERY OK source="media_items" db=2.2ms idle=74.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how making mistakes and perceived frustration drive learning and how movement enhances the brain’s adaptability. \n\nI explain how making errors triggers the release of neurotransmitters, such as dopamine, which are essential for learning. I also discuss the differences between how neuroplasticity occurs in children and adults, focusing on the varying requirements and effort needed for learning. I discuss science-supported learning strategies for adults, including small practice bouts, leveraging frustration, regulating your autonomic state, and using movement to maximize focus and neuroplasticity. \n\nEpisode show notes: https://go.hubermanlab.com/sedjKF5\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/hx3U64IXFOY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Learning\n00:01:29 Representational Plasticity, Performance Errors\n00:03:16 Neuroplasticity, Neurotransmitters\n00:05:03 Visual Adaptation, Children vs. Adults\n00:09:15 Errors, Frustration & Neuroplasticity, Adult Learning\n00:13:05 Adults, Incremental Shifts vs. High Contingency; Tool: Small Learning Bouts\n00:17:35 Tool: Ultradian Cycles, Focus, Errors & Frustration\n00:19:44 Dopamine, Errors & Subjective Beliefs, Peak Focus; Tool: Frustration\n00:23:32 Limbic Friction; Tool: Behaviors to Increase Alert or Calm\n00:27:13 Balance, Errors & Neurotransmitters\n00:29:58 Tool: Enhance Neuroplasticity; Movement\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Learn Faster by Using Failures, Movement & Balance | Huberman Lab Essentials", "d895e905-bf41-498e-b7d0-9e07f9ad3b95", 2032, false, "jwChiek_aRY", "https://www.youtube.com/watch?v=jwChiek_aRY", 89, "/downloads/Andrew Huberman/2024-12-26 How to Learn Faster by Using Failures, Movement & Balance | Huberman Lab Essentials/How to Learn Faster by Using Failures, Movement & Balance | Huberman Lab Essentials [jwChiek_aRY].mp4", false, false, false, 4, [], 1, ~U[2024-12-26 13:00:58Z], ~U[2026-09-16 17:13:48Z], ~U[2026-09-16 17:13:48Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how making mistakes and perceived frustration drive learning and how movement enhances the brain’s adaptability. \n\nI explain how making errors triggers the release of neurotransmitters, such as dopamine, which are essential for learning. I also discuss the differences between how neuroplasticity occurs in children and adults, focusing on the varying requirements and effort needed for learning. I discuss science-supported learning strategies for adults, including small practice bouts, leveraging frustration, regulating your autonomic state, and using movement to maximize focus and neuroplasticity. \n\nEpisode show notes: https://go.hubermanlab.com/sedjKF5\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/hx3U64IXFOY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Learning\n00:01:29 Representational Plasticity, Performance Errors\n00:03:16 Neuroplasticity, Neurotransmitters\n00:05:03 Visual Adaptation, Children vs. Adults\n00:09:15 Errors, Frustration & Neuroplasticity, Adult Learning\n00:13:05 Adults, Incremental Shifts vs. High Contingency; Tool: Small Learning Bouts\n00:17:35 Tool: Ultradian Cycles, Focus, Errors & Frustration\n00:19:44 Dopamine, Errors & Subjective Beliefs, Peak Focus; Tool: Frustration\n00:23:32 Limbic Friction; Tool: Behaviors to Increase Alert or Calm\n00:27:13 Balance, Errors & Neurotransmitters\n00:29:58 Tool: Enhance Neuroplasticity; Movement\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Learn Faster by Using Failures, Movement & Balance | Huberman Lab Essentials", 2032, false, "jwChiek_aRY", "https://www.youtube.com/watch?v=jwChiek_aRY", "/downloads/Andrew Huberman/2024-12-26 How to Learn Faster by Using Failures, Movement & Balance | Huberman Lab Essentials/How to Learn Faster by Using Failures, Movement & Balance | Huberman Lab Essentials [jwChiek_aRY].mp4", false, 4, ~U[2024-12-26 13:00:58Z]] 17:13:48.825 [debug] QUERY OK source="sources" db=0.2ms idle=77.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:48.826 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 17:13:48.826 [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 [228] 17:13:48.826 [debug] Current batch of media processed. Will check again in 1000ms 17:13:49.828 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how neuroplasticity allows the brain to continue to adapt and change throughout life, particularly through focused attention and active engagement in learning.\n\nI explain how neuroplasticity differs in children and adults, highlighting the key neurochemicals required for adult learning. I explain science-supported protocols to boost alertness and improve attention, including techniques like visual focus and goal accountability. I also discuss how sleep, along with practices such as non-sleep deep rest (NSDR) and naps, support the brain to enhance learning. \n\nEpisode show notes: https://go.hubermanlab.com/9nvzAlA\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch The full-length episode: https://youtu.be/LG53Vxum0as\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Neuroplasticity \n00:03:27 New Neurons; Sensory Information, Brain & Customized Map\n00:06:24 Recognition, Awareness of Behaviors\n00:08:42 Attention & Neuroplasticity\n00:13:16 Epinephrine, Acetylcholine & Nervous System Change\n00:15:56 Improve Alertness, Epinephrine, Tool: Accountability\n00:18:15 Improve Attention, Acetylcholine, Nicotine\n00:20:45 Tool: Visual Focus & Mental Focus\n00:26:13 Tool: Ultradian Cycles, Anchoring Attention\n00:27:19 Sleep & Neuroplasticity; NSDR, Naps\n00:29:53 Recap & Key Takeaways\n00:32:52 Zero-Cost Support, YouTube, Spotify & Apple Follow & Reviews, Recommendations, Sponsors\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2025, "filename" => "/downloads/Andrew Huberman/2024-12-19 How to Focus to Change Your Brain | Huberman Lab Essentials/How to Focus to Change Your Brain | Huberman Lab Essentials [4AwyVTHEU3s].mp4", "id" => "4AwyVTHEU3s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4AwyVTHEU3s", "playlist_index" => 90, "timestamp" => 1734613211, "title" => "How to Focus to Change Your Brain | Huberman Lab Essentials", "upload_date" => "20241219"} 17:13:49.829 [debug] QUERY OK source="sources" db=0.6ms idle=1004.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:49.831 [debug] QUERY OK source="sources" db=1.4ms idle=1004.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:49.832 [debug] QUERY OK source="media_items" db=1.1ms idle=1005.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-19 13:00:11Z], 4] 17:13:49.835 [debug] QUERY OK source="media_items" db=2.0ms idle=1006.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how neuroplasticity allows the brain to continue to adapt and change throughout life, particularly through focused attention and active engagement in learning.\n\nI explain how neuroplasticity differs in children and adults, highlighting the key neurochemicals required for adult learning. I explain science-supported protocols to boost alertness and improve attention, including techniques like visual focus and goal accountability. I also discuss how sleep, along with practices such as non-sleep deep rest (NSDR) and naps, support the brain to enhance learning. \n\nEpisode show notes: https://go.hubermanlab.com/9nvzAlA\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch The full-length episode: https://youtu.be/LG53Vxum0as\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Neuroplasticity \n00:03:27 New Neurons; Sensory Information, Brain & Customized Map\n00:06:24 Recognition, Awareness of Behaviors\n00:08:42 Attention & Neuroplasticity\n00:13:16 Epinephrine, Acetylcholine & Nervous System Change\n00:15:56 Improve Alertness, Epinephrine, Tool: Accountability\n00:18:15 Improve Attention, Acetylcholine, Nicotine\n00:20:45 Tool: Visual Focus & Mental Focus\n00:26:13 Tool: Ultradian Cycles, Anchoring Attention\n00:27:19 Sleep & Neuroplasticity; NSDR, Naps\n00:29:53 Recap & Key Takeaways\n00:32:52 Zero-Cost Support, YouTube, Spotify & Apple Follow & Reviews, Recommendations, Sponsors\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Focus to Change Your Brain | Huberman Lab Essentials", "5ecfcdc5-9844-4b96-bf95-3027d1924426", 2025, false, "4AwyVTHEU3s", "https://www.youtube.com/watch?v=4AwyVTHEU3s", 90, "/downloads/Andrew Huberman/2024-12-19 How to Focus to Change Your Brain | Huberman Lab Essentials/How to Focus to Change Your Brain | Huberman Lab Essentials [4AwyVTHEU3s].mp4", false, false, false, 4, [], 1, ~U[2024-12-19 13:00:11Z], ~U[2026-09-16 17:13:49Z], ~U[2026-09-16 17:13:49Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how neuroplasticity allows the brain to continue to adapt and change throughout life, particularly through focused attention and active engagement in learning.\n\nI explain how neuroplasticity differs in children and adults, highlighting the key neurochemicals required for adult learning. I explain science-supported protocols to boost alertness and improve attention, including techniques like visual focus and goal accountability. I also discuss how sleep, along with practices such as non-sleep deep rest (NSDR) and naps, support the brain to enhance learning. \n\nEpisode show notes: https://go.hubermanlab.com/9nvzAlA\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch The full-length episode: https://youtu.be/LG53Vxum0as\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Neuroplasticity \n00:03:27 New Neurons; Sensory Information, Brain & Customized Map\n00:06:24 Recognition, Awareness of Behaviors\n00:08:42 Attention & Neuroplasticity\n00:13:16 Epinephrine, Acetylcholine & Nervous System Change\n00:15:56 Improve Alertness, Epinephrine, Tool: Accountability\n00:18:15 Improve Attention, Acetylcholine, Nicotine\n00:20:45 Tool: Visual Focus & Mental Focus\n00:26:13 Tool: Ultradian Cycles, Anchoring Attention\n00:27:19 Sleep & Neuroplasticity; NSDR, Naps\n00:29:53 Recap & Key Takeaways\n00:32:52 Zero-Cost Support, YouTube, Spotify & Apple Follow & Reviews, Recommendations, Sponsors\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Focus to Change Your Brain | Huberman Lab Essentials", 2025, false, "4AwyVTHEU3s", "https://www.youtube.com/watch?v=4AwyVTHEU3s", "/downloads/Andrew Huberman/2024-12-19 How to Focus to Change Your Brain | Huberman Lab Essentials/How to Focus to Change Your Brain | Huberman Lab Essentials [4AwyVTHEU3s].mp4", false, 4, ~U[2024-12-19 13:00:11Z]] 17:13:49.836 [debug] QUERY OK source="sources" db=0.2ms idle=305.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:49.836 [debug] QUERY OK source="media_profiles" db=0.3ms idle=6.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:13:49.837 [debug] QUERY OK source="media_items" db=0.3ms 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 [229] 17:13:49.837 [debug] Current batch of media processed. Will check again in 1000ms 17:13:50.839 [debug] Current batch of media processed. Will check again in 1000ms 17:13:51.840 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the important role that sleep and dreams have in learning, regulating emotions, and recovering from trauma.\n\nI discuss how dreams during rapid eye movement (REM) sleep contribute to emotional learning and the processing of traumatic experiences. I also discuss the similarities of REM dreams to clinical treatments like ketamine and EMDR therapy. I explain how non-REM dreams function differently to support other types of learning. Additionally, I describe science-backed strategies to optimize both types of sleep for improved learning, mood and emotional regulation.\n\nEpisode show notes: https://go.hubermanlab.com/oHpVh5A\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch The full-length episode: https://youtu.be/FFwA0QFmpQ4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Dreaming, Learning & Un-Learning \n00:01:04 Types of Sleep\n00:02:57 Slow-Wave Sleep, Motor Learning\n00:06:54 Rapid Eye Movement (REM) Sleep, Paralysis, Unlearning of Emotional Events\n00:11:21 Lack of REM Sleep, Emotionality\n00:13:54 REM Sleep, Learning & Meaning\n00:17:46 EMDR (Eye Movement Desensitization & Reprocessing) Therapy, Trauma\n00:24:25 Ketamine Therapy, PCP, Trauma\n00:27:30 REM Sleep as Therapy, Emotions\n00:29:47 Tool: Improve Slow-Wave & REM Sleep\n00:33:12 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2097, "filename" => "/downloads/Andrew Huberman/2024-12-12 Understand and Use Dreams to Learn and Forget | Huberman Lab Essentials/Understand and Use Dreams to Learn and Forget | Huberman Lab Essentials [hF32FvBH4gI].mp4", "id" => "hF32FvBH4gI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hF32FvBH4gI", "playlist_index" => 91, "timestamp" => 1734008452, "title" => "Understand and Use Dreams to Learn and Forget | Huberman Lab Essentials", "upload_date" => "20241212"} 17:13:51.840 [debug] QUERY OK source="sources" db=0.2ms idle=307.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:51.841 [debug] QUERY OK source="sources" db=0.1ms idle=93.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:51.841 [debug] QUERY OK source="media_items" db=0.4ms idle=93.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-12 13:00:52Z], 4] 17:13:51.843 [debug] QUERY OK source="media_items" db=1.2ms idle=94.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the important role that sleep and dreams have in learning, regulating emotions, and recovering from trauma.\n\nI discuss how dreams during rapid eye movement (REM) sleep contribute to emotional learning and the processing of traumatic experiences. I also discuss the similarities of REM dreams to clinical treatments like ketamine and EMDR therapy. I explain how non-REM dreams function differently to support other types of learning. Additionally, I describe science-backed strategies to optimize both types of sleep for improved learning, mood and emotional regulation.\n\nEpisode show notes: https://go.hubermanlab.com/oHpVh5A\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch The full-length episode: https://youtu.be/FFwA0QFmpQ4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Dreaming, Learning & Un-Learning \n00:01:04 Types of Sleep\n00:02:57 Slow-Wave Sleep, Motor Learning\n00:06:54 Rapid Eye Movement (REM) Sleep, Paralysis, Unlearning of Emotional Events\n00:11:21 Lack of REM Sleep, Emotionality\n00:13:54 REM Sleep, Learning & Meaning\n00:17:46 EMDR (Eye Movement Desensitization & Reprocessing) Therapy, Trauma\n00:24:25 Ketamine Therapy, PCP, Trauma\n00:27:30 REM Sleep as Therapy, Emotions\n00:29:47 Tool: Improve Slow-Wave & REM Sleep\n00:33:12 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Understand and Use Dreams to Learn and Forget | Huberman Lab Essentials", "c42a1b20-9c85-49eb-b52f-04abb8d5b635", 2097, false, "hF32FvBH4gI", "https://www.youtube.com/watch?v=hF32FvBH4gI", 91, "/downloads/Andrew Huberman/2024-12-12 Understand and Use Dreams to Learn and Forget | Huberman Lab Essentials/Understand and Use Dreams to Learn and Forget | Huberman Lab Essentials [hF32FvBH4gI].mp4", false, false, false, 4, [], 1, ~U[2024-12-12 13:00:52Z], ~U[2026-09-16 17:13:51Z], ~U[2026-09-16 17:13:51Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the important role that sleep and dreams have in learning, regulating emotions, and recovering from trauma.\n\nI discuss how dreams during rapid eye movement (REM) sleep contribute to emotional learning and the processing of traumatic experiences. I also discuss the similarities of REM dreams to clinical treatments like ketamine and EMDR therapy. I explain how non-REM dreams function differently to support other types of learning. Additionally, I describe science-backed strategies to optimize both types of sleep for improved learning, mood and emotional regulation.\n\nEpisode show notes: https://go.hubermanlab.com/oHpVh5A\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch The full-length episode: https://youtu.be/FFwA0QFmpQ4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Dreaming, Learning & Un-Learning \n00:01:04 Types of Sleep\n00:02:57 Slow-Wave Sleep, Motor Learning\n00:06:54 Rapid Eye Movement (REM) Sleep, Paralysis, Unlearning of Emotional Events\n00:11:21 Lack of REM Sleep, Emotionality\n00:13:54 REM Sleep, Learning & Meaning\n00:17:46 EMDR (Eye Movement Desensitization & Reprocessing) Therapy, Trauma\n00:24:25 Ketamine Therapy, PCP, Trauma\n00:27:30 REM Sleep as Therapy, Emotions\n00:29:47 Tool: Improve Slow-Wave & REM Sleep\n00:33:12 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Understand and Use Dreams to Learn and Forget | Huberman Lab Essentials", 2097, false, "hF32FvBH4gI", "https://www.youtube.com/watch?v=hF32FvBH4gI", "/downloads/Andrew Huberman/2024-12-12 Understand and Use Dreams to Learn and Forget | Huberman Lab Essentials/Understand and Use Dreams to Learn and Forget | Huberman Lab Essentials [hF32FvBH4gI].mp4", false, 4, ~U[2024-12-12 13:00:52Z]] 17:13:51.844 [debug] QUERY OK source="sources" db=0.1ms idle=96.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:51.844 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:13:51.845 [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 [230] 17:13:51.845 [debug] Current batch of media processed. Will check again in 1000ms 17:13:52.846 [debug] Current batch of media processed. Will check again in 1000ms 17:13:53.558 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:53.847 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore science-backed protocols to combat jet lag, manage shift work, and optimize sleep across different stages of life. \n\nI discuss “temperature minimum” — a simple and reliable measurement that helps you quickly adjust to new time zones and counteract the negative effects of nocturnal shift work. I also provide actionable tools for regulating sleep and wake cycles in babies and new parents. \n\nThe episode emphasizes the critical role of circadian rhythms, influenced by factors like light exposure, temperature regulation, and eating schedules. Practical tools include using light to shift your circadian clock, understanding the role of temperature in sleep, and adopting strategies to improve rest without medication. Whether you’re a shift worker, a parent of a newborn, or someone facing sleep challenges, this episode offers valuable guidance for enhancing recovery and overall well-being.\n\nEpisode show notes: https://go.hubermanlab.com/fH6CW5k\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/NAATB55oxeQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Introduction to Huberman Lab Essentials\n00:00:45 Understanding Circadian Rhythms\n00:02:26 Optimizing Light Exposure for Better Sleep\n00:04:56 Tools: Combating Jet Lag\n00:05:51 The Science of Jet Lag & Longevity\n00:09:32 Temperature Minimum: Key to Circadian Adjustment\n00:16:50 Melatonin: Uses & Misconceptions\n00:20:50 Shift Work: Managing Irregular Schedules\n00:23:06 Sleep Strategies for Different Age Groups\n00:25:31 Conclusion & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1604, "filename" => "/downloads/Andrew Huberman/2024-12-05 How to Defeat Jet Lag, Shift Work & Sleeplessness | Huberman Lab Essentials/How to Defeat Jet Lag, Shift Work & Sleeplessness | Huberman Lab Essentials [In9Bq4EJMZw].mp4", "id" => "In9Bq4EJMZw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=In9Bq4EJMZw", "playlist_index" => 92, "timestamp" => 1733403619, "title" => "How to Defeat Jet Lag, Shift Work & Sleeplessness | Huberman Lab Essentials", "upload_date" => "20241205"} 17:13:53.847 [debug] QUERY OK source="sources" db=0.3ms idle=310.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:53.848 [debug] QUERY OK source="sources" db=0.2ms idle=289.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:53.849 [debug] QUERY OK source="media_items" db=0.9ms idle=100.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-05 13:00:19Z], 4] 17:13:53.852 [debug] QUERY OK source="media_items" db=1.7ms idle=102.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore science-backed protocols to combat jet lag, manage shift work, and optimize sleep across different stages of life. \n\nI discuss “temperature minimum” — a simple and reliable measurement that helps you quickly adjust to new time zones and counteract the negative effects of nocturnal shift work. I also provide actionable tools for regulating sleep and wake cycles in babies and new parents. \n\nThe episode emphasizes the critical role of circadian rhythms, influenced by factors like light exposure, temperature regulation, and eating schedules. Practical tools include using light to shift your circadian clock, understanding the role of temperature in sleep, and adopting strategies to improve rest without medication. Whether you’re a shift worker, a parent of a newborn, or someone facing sleep challenges, this episode offers valuable guidance for enhancing recovery and overall well-being.\n\nEpisode show notes: https://go.hubermanlab.com/fH6CW5k\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/NAATB55oxeQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Introduction to Huberman Lab Essentials\n00:00:45 Understanding Circadian Rhythms\n00:02:26 Optimizing Light Exposure for Better Sleep\n00:04:56 Tools: Combating Jet Lag\n00:05:51 The Science of Jet Lag & Longevity\n00:09:32 Temperature Minimum: Key to Circadian Adjustment\n00:16:50 Melatonin: Uses & Misconceptions\n00:20:50 Shift Work: Managing Irregular Schedules\n00:23:06 Sleep Strategies for Different Age Groups\n00:25:31 Conclusion & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Defeat Jet Lag, Shift Work & Sleeplessness | Huberman Lab Essentials", "2a8c9f48-104a-4aac-9d52-9f039f6ed9f1", 1604, false, "In9Bq4EJMZw", "https://www.youtube.com/watch?v=In9Bq4EJMZw", 92, "/downloads/Andrew Huberman/2024-12-05 How to Defeat Jet Lag, Shift Work & Sleeplessness | Huberman Lab Essentials/How to Defeat Jet Lag, Shift Work & Sleeplessness | Huberman Lab Essentials [In9Bq4EJMZw].mp4", false, false, false, 4, [], 1, ~U[2024-12-05 13:00:19Z], ~U[2026-09-16 17:13:53Z], ~U[2026-09-16 17:13:53Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore science-backed protocols to combat jet lag, manage shift work, and optimize sleep across different stages of life. \n\nI discuss “temperature minimum” — a simple and reliable measurement that helps you quickly adjust to new time zones and counteract the negative effects of nocturnal shift work. I also provide actionable tools for regulating sleep and wake cycles in babies and new parents. \n\nThe episode emphasizes the critical role of circadian rhythms, influenced by factors like light exposure, temperature regulation, and eating schedules. Practical tools include using light to shift your circadian clock, understanding the role of temperature in sleep, and adopting strategies to improve rest without medication. Whether you’re a shift worker, a parent of a newborn, or someone facing sleep challenges, this episode offers valuable guidance for enhancing recovery and overall well-being.\n\nEpisode show notes: https://go.hubermanlab.com/fH6CW5k\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/NAATB55oxeQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Introduction to Huberman Lab Essentials\n00:00:45 Understanding Circadian Rhythms\n00:02:26 Optimizing Light Exposure for Better Sleep\n00:04:56 Tools: Combating Jet Lag\n00:05:51 The Science of Jet Lag & Longevity\n00:09:32 Temperature Minimum: Key to Circadian Adjustment\n00:16:50 Melatonin: Uses & Misconceptions\n00:20:50 Shift Work: Managing Irregular Schedules\n00:23:06 Sleep Strategies for Different Age Groups\n00:25:31 Conclusion & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Defeat Jet Lag, Shift Work & Sleeplessness | Huberman Lab Essentials", 1604, false, "In9Bq4EJMZw", "https://www.youtube.com/watch?v=In9Bq4EJMZw", "/downloads/Andrew Huberman/2024-12-05 How to Defeat Jet Lag, Shift Work & Sleeplessness | Huberman Lab Essentials/How to Defeat Jet Lag, Shift Work & Sleeplessness | Huberman Lab Essentials [In9Bq4EJMZw].mp4", false, 4, ~U[2024-12-05 13:00:19Z]] 17:13:53.852 [debug] QUERY OK source="sources" db=0.3ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:53.853 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 17:13:53.853 [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 [231] 17:13:53.854 [debug] Current batch of media processed. Will check again in 1000ms 17:13:54.854 [debug] Current batch of media processed. Will check again in 1000ms 17:13:55.856 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I answer your most frequently asked questions about science-backed tools for improving alertness, enhancing learning, and achieving quality sleep. I also discuss the optimal times for exercising and eating, how to properly time light exposure, as well as methods for strategically adjusting your body temperature to influence your nervous system.\n\nHuberman Lab Essentials are short episodes (approximately 30 minutes) focused on essential science and protocol takeaways from past Huberman Lab episodes. Essentials will be released every Thursday, and our full-length episodes will still be released every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/JII3SU7\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/nwSkFq4tyC0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nTwitter: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Introduction to Huberman Lab Essentials\n00:00:37 Understanding Circadian Rhythms & Light\n00:02:17 Impact of Red Light on Circadian Rhythms\n00:03:12 Light Through Windows & Circadian Clocks\n00:05:05 Seasonal Changes & Circadian Rhythms\n00:07:36 Neurotransmitters & Mood Regulation\n00:09:49 Exercise & Circadian Rhythms\n00:11:52 Non-Sleep Deep Rest (NSDR) & Learning\n00:19:23 Nootropics & Cognitive Enhancement\n00:21:55 Temperature & Circadian Rhythms\n00:27:04 Food, Neurotransmitters & Circadian Rhythms\n00:29:52 Self-Experimentation & Conclusion\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1967, "filename" => "/downloads/Andrew Huberman/2024-11-28 Using Science to Optimize Sleep, Learning & Metabolism | Huberman Lab Essentials/Using Science to Optimize Sleep, Learning & Metabolism | Huberman Lab Essentials [q-H_A_dQUxQ].mp4", "id" => "q-H_A_dQUxQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=q-H_A_dQUxQ", "playlist_index" => 93, "timestamp" => 1732798863, "title" => "Using Science to Optimize Sleep, Learning & Metabolism | Huberman Lab Essentials", "upload_date" => "20241128"} 17:13:55.857 [debug] QUERY OK source="sources" db=0.4ms idle=315.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:55.857 [debug] QUERY OK source="sources" db=0.2ms idle=109.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:55.858 [debug] QUERY OK source="media_items" db=0.5ms idle=109.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-28 13:01:03Z], 4] 17:13:55.861 [debug] QUERY OK source="media_items" db=2.7ms idle=110.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I answer your most frequently asked questions about science-backed tools for improving alertness, enhancing learning, and achieving quality sleep. I also discuss the optimal times for exercising and eating, how to properly time light exposure, as well as methods for strategically adjusting your body temperature to influence your nervous system.\n\nHuberman Lab Essentials are short episodes (approximately 30 minutes) focused on essential science and protocol takeaways from past Huberman Lab episodes. Essentials will be released every Thursday, and our full-length episodes will still be released every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/JII3SU7\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/nwSkFq4tyC0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nTwitter: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Introduction to Huberman Lab Essentials\n00:00:37 Understanding Circadian Rhythms & Light\n00:02:17 Impact of Red Light on Circadian Rhythms\n00:03:12 Light Through Windows & Circadian Clocks\n00:05:05 Seasonal Changes & Circadian Rhythms\n00:07:36 Neurotransmitters & Mood Regulation\n00:09:49 Exercise & Circadian Rhythms\n00:11:52 Non-Sleep Deep Rest (NSDR) & Learning\n00:19:23 Nootropics & Cognitive Enhancement\n00:21:55 Temperature & Circadian Rhythms\n00:27:04 Food, Neurotransmitters & Circadian Rhythms\n00:29:52 Self-Experimentation & Conclusion\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Science to Optimize Sleep, Learning & Metabolism | Huberman Lab Essentials", "f5e21f7c-f5f1-4546-b594-da4a1d8ed3ea", 1967, false, "q-H_A_dQUxQ", "https://www.youtube.com/watch?v=q-H_A_dQUxQ", 93, "/downloads/Andrew Huberman/2024-11-28 Using Science to Optimize Sleep, Learning & Metabolism | Huberman Lab Essentials/Using Science to Optimize Sleep, Learning & Metabolism | Huberman Lab Essentials [q-H_A_dQUxQ].mp4", false, false, false, 4, [], 1, ~U[2024-11-28 13:01:03Z], ~U[2026-09-16 17:13:55Z], ~U[2026-09-16 17:13:55Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I answer your most frequently asked questions about science-backed tools for improving alertness, enhancing learning, and achieving quality sleep. I also discuss the optimal times for exercising and eating, how to properly time light exposure, as well as methods for strategically adjusting your body temperature to influence your nervous system.\n\nHuberman Lab Essentials are short episodes (approximately 30 minutes) focused on essential science and protocol takeaways from past Huberman Lab episodes. Essentials will be released every Thursday, and our full-length episodes will still be released every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/JII3SU7\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/nwSkFq4tyC0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nTwitter: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Introduction to Huberman Lab Essentials\n00:00:37 Understanding Circadian Rhythms & Light\n00:02:17 Impact of Red Light on Circadian Rhythms\n00:03:12 Light Through Windows & Circadian Clocks\n00:05:05 Seasonal Changes & Circadian Rhythms\n00:07:36 Neurotransmitters & Mood Regulation\n00:09:49 Exercise & Circadian Rhythms\n00:11:52 Non-Sleep Deep Rest (NSDR) & Learning\n00:19:23 Nootropics & Cognitive Enhancement\n00:21:55 Temperature & Circadian Rhythms\n00:27:04 Food, Neurotransmitters & Circadian Rhythms\n00:29:52 Self-Experimentation & Conclusion\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Science to Optimize Sleep, Learning & Metabolism | Huberman Lab Essentials", 1967, false, "q-H_A_dQUxQ", "https://www.youtube.com/watch?v=q-H_A_dQUxQ", "/downloads/Andrew Huberman/2024-11-28 Using Science to Optimize Sleep, Learning & Metabolism | Huberman Lab Essentials/Using Science to Optimize Sleep, Learning & Metabolism | Huberman Lab Essentials [q-H_A_dQUxQ].mp4", false, 4, ~U[2024-11-28 13:01:03Z]] 17:13:55.862 [debug] QUERY OK source="sources" db=0.2ms idle=114.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:55.862 [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] 17:13:55.863 [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 [232] 17:13:55.863 [debug] Current batch of media processed. Will check again in 1000ms 17:13:56.864 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n This is the second episode of Huberman Lab Essentials — short episodes (approximately 30 minutes) focused on essential science and protocol takeaways from past Huberman Lab episodes.\n\nThis Essentials episode offers insights into what makes us sleepy, helps us sleep soundly, and feel awake and alert. It covers a wide range of tools for anyone looking to improve their sleep and wakefulness, with the science and reasoning behind each tool explained.\n\nEssentials will be released every Thursday, and our full-length episodes will still be released every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/FESj0fJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/nm1TxQj9IsQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Introduction to Sleep & Wakefulness\n00:01:11 The Science of Sleep: Adenosine Explained\n00:03:30 Circadian Rhythms: The Body’s Internal Clock\n00:05:08 The Role of Cortisol & Melatonin\n00:10:16 Maximizing Morning Light Exposure\n00:14:12 Other Factors Influencing Circadian Rhythms\n00:16:08 The Impact of Light on Sleep Quality\n00:24:31 Napping & Non-Sleep Deep Rest\n\n#HubermanLab #Science #Sleep\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2040, "filename" => "/downloads/Andrew Huberman/2024-11-21 Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials/Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials [lIo9FcrljDk].mp4", "id" => "lIo9FcrljDk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lIo9FcrljDk", "playlist_index" => 94, "timestamp" => 1732194052, "title" => "Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials", "upload_date" => "20241121"} 17:13:56.865 [debug] QUERY OK source="sources" db=0.5ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:56.866 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:56.867 [debug] QUERY OK source="media_items" db=0.5ms idle=1003.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-21 13:00:52Z], 4] 17:13:56.869 [debug] QUERY OK source="media_items" db=1.4ms idle=1003.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n This is the second episode of Huberman Lab Essentials — short episodes (approximately 30 minutes) focused on essential science and protocol takeaways from past Huberman Lab episodes.\n\nThis Essentials episode offers insights into what makes us sleepy, helps us sleep soundly, and feel awake and alert. It covers a wide range of tools for anyone looking to improve their sleep and wakefulness, with the science and reasoning behind each tool explained.\n\nEssentials will be released every Thursday, and our full-length episodes will still be released every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/FESj0fJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/nm1TxQj9IsQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Introduction to Sleep & Wakefulness\n00:01:11 The Science of Sleep: Adenosine Explained\n00:03:30 Circadian Rhythms: The Body’s Internal Clock\n00:05:08 The Role of Cortisol & Melatonin\n00:10:16 Maximizing Morning Light Exposure\n00:14:12 Other Factors Influencing Circadian Rhythms\n00:16:08 The Impact of Light on Sleep Quality\n00:24:31 Napping & Non-Sleep Deep Rest\n\n#HubermanLab #Science #Sleep\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials", "1f6f3038-f4e6-43ba-bc69-2ff75a204d19", 2040, false, "lIo9FcrljDk", "https://www.youtube.com/watch?v=lIo9FcrljDk", 94, "/downloads/Andrew Huberman/2024-11-21 Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials/Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials [lIo9FcrljDk].mp4", false, false, false, 4, [], 1, ~U[2024-11-21 13:00:52Z], ~U[2026-09-16 17:13:56Z], ~U[2026-09-16 17:13:56Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n This is the second episode of Huberman Lab Essentials — short episodes (approximately 30 minutes) focused on essential science and protocol takeaways from past Huberman Lab episodes.\n\nThis Essentials episode offers insights into what makes us sleepy, helps us sleep soundly, and feel awake and alert. It covers a wide range of tools for anyone looking to improve their sleep and wakefulness, with the science and reasoning behind each tool explained.\n\nEssentials will be released every Thursday, and our full-length episodes will still be released every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/FESj0fJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/nm1TxQj9IsQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Introduction to Sleep & Wakefulness\n00:01:11 The Science of Sleep: Adenosine Explained\n00:03:30 Circadian Rhythms: The Body’s Internal Clock\n00:05:08 The Role of Cortisol & Melatonin\n00:10:16 Maximizing Morning Light Exposure\n00:14:12 Other Factors Influencing Circadian Rhythms\n00:16:08 The Impact of Light on Sleep Quality\n00:24:31 Napping & Non-Sleep Deep Rest\n\n#HubermanLab #Science #Sleep\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials", 2040, false, "lIo9FcrljDk", "https://www.youtube.com/watch?v=lIo9FcrljDk", "/downloads/Andrew Huberman/2024-11-21 Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials/Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials [lIo9FcrljDk].mp4", false, 4, ~U[2024-11-21 13:00:52Z]] 17:13:56.869 [debug] QUERY OK source="sources" db=0.2ms idle=327.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:56.870 [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" = ?) [2] 17:13:56.871 [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 [233] 17:13:56.871 [debug] Current batch of media processed. Will check again in 1000ms 17:13:57.872 [debug] Current batch of media processed. Will check again in 1000ms 17:13:58.354 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/%(channel)S/%(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[format_note*=original]/bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/61/09/610914464c357f04e5e3915aa248b4dd25d8e5b7f8142b331cd1056807f2317e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 17:13:58.476 [debug] Gracefully stopping file follower 17:13:58.476 [debug] QUERY OK source="sources" db=0.2ms idle=1607.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [4] 17:13:58.477 [debug] QUERY OK source="sources" db=0.1ms idle=1606.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.477 [debug] QUERY OK source="media_items" db=0.5ms idle=1606.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-10 12:00:15Z], 4] 17:13:58.480 [debug] QUERY OK source="media_items" db=1.5ms idle=1606.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Oded Rechavi, a professor at Tel Aviv University who studies genetics, epigenetics and the inheritance of acquired traits. We discuss how DNA, RNA and epigenetic mechanisms determine what information can pass between generations, and why acquired traits are generally not thought to be inherited. We also explain research in C. elegans showing how small RNAs can transmit antiviral resistance and influence behavior across generations, what these findings might mean for mammals and humans, and potential future applications for reproductive health and diagnostics.\n\nShow notes: https://go.hubermanlab.com/HbTfdok\n\nFull episode with Dr. Oded Rechavi: https://youtu.be/CDUetQMKM6g\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nTimestamps\n00:00:00 Oded Rechavi\n00:00:24 DNA, Genome, RNA & Proteins\n00:03:43 Somatic vs. Germ Cells; Inheritance\n00:06:04 Lamarck vs. Darwin, Inheritance of Acquired Traits\n00:08:27 Weismann Barrier, Epigenetic Reprogramming\n00:11:46 RNA & Transgenerational Inheritance\n00:12:35 Model Organisms, C. elegans\n00:15:40 Inheritance of Acquired Traits in C. elegans\n00:16:03 RNA Interference, Small RNAs & Gene Silencing\n00:20:08 Viral Resistance Across Generations\n00:22:15 Small RNAs, Mammals & Inherited Effects\n00:23:23 Brain Activity, Memory & Heritable Information\n00:26:09 Neuronal Small RNAs & Behavior Across Generations\n00:27:22 Germ Cells, Development & Heritable RNA\n00:29:01 Future Applications, Exercise, IVF & RNA Diagnostics\n00:31:06 Acknowledgements\n\n#hubermanlab #hubermanlabpodcast #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Genes & the Inheritance of Memories Across Generations | Dr. Oded Rechavi", "a576fc43-f40f-4e2b-8e20-2a7e6512ce14", 1888, false, "1_iNTFSw4Nc", "https://www.youtube.com/watch?v=1_iNTFSw4Nc", 1, "/downloads/Andrew Huberman/2026-09-10 Essentials: Genes & the Inheritance of Memories Across Generations | Dr. Oded Rechavi/Essentials: Genes & the Inheritance of Memories Across Generations | Dr. Oded Rechavi [1_iNTFSw4Nc].mp4", false, false, false, 4, [], 1, ~U[2026-09-10 12:00:15Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Oded Rechavi, a professor at Tel Aviv University who studies genetics, epigenetics and the inheritance of acquired traits. We discuss how DNA, RNA and epigenetic mechanisms determine what information can pass between generations, and why acquired traits are generally not thought to be inherited. We also explain research in C. elegans showing how small RNAs can transmit antiviral resistance and influence behavior across generations, what these findings might mean for mammals and humans, and potential future applications for reproductive health and diagnostics.\n\nShow notes: https://go.hubermanlab.com/HbTfdok\n\nFull episode with Dr. Oded Rechavi: https://youtu.be/CDUetQMKM6g\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nTimestamps\n00:00:00 Oded Rechavi\n00:00:24 DNA, Genome, RNA & Proteins\n00:03:43 Somatic vs. Germ Cells; Inheritance\n00:06:04 Lamarck vs. Darwin, Inheritance of Acquired Traits\n00:08:27 Weismann Barrier, Epigenetic Reprogramming\n00:11:46 RNA & Transgenerational Inheritance\n00:12:35 Model Organisms, C. elegans\n00:15:40 Inheritance of Acquired Traits in C. elegans\n00:16:03 RNA Interference, Small RNAs & Gene Silencing\n00:20:08 Viral Resistance Across Generations\n00:22:15 Small RNAs, Mammals & Inherited Effects\n00:23:23 Brain Activity, Memory & Heritable Information\n00:26:09 Neuronal Small RNAs & Behavior Across Generations\n00:27:22 Germ Cells, Development & Heritable RNA\n00:29:01 Future Applications, Exercise, IVF & RNA Diagnostics\n00:31:06 Acknowledgements\n\n#hubermanlab #hubermanlabpodcast #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Genes & the Inheritance of Memories Across Generations | Dr. Oded Rechavi", 1888, false, "1_iNTFSw4Nc", "https://www.youtube.com/watch?v=1_iNTFSw4Nc", "/downloads/Andrew Huberman/2026-09-10 Essentials: Genes & the Inheritance of Memories Across Generations | Dr. Oded Rechavi/Essentials: Genes & the Inheritance of Memories Across Generations | Dr. Oded Rechavi [1_iNTFSw4Nc].mp4", false, 4, ~U[2026-09-10 12:00:15Z]] 17:13:58.480 [debug] QUERY OK source="sources" db=0.2ms idle=937.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.481 [debug] QUERY OK source="media_items" db=0.7ms idle=4.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-03 12:00:39Z], 4] 17:13:58.484 [debug] QUERY OK source="media_items" db=1.4ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Gina Poe, PhD, a Professor of Integrative Biology and Physiology at the University of California, Los Angeles (UCLA). We discuss the architecture of sleep and how each stage supports distinct functions, including memory consolidation, creativity, brain restoration, and emotional processing. We also explain science-supported tools to improve sleep quality, support cognitive performance, and hormone balance. \n\nShow notes: https://go.hubermanlab.com/kZUkSSF\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nTimestamps\n00:00:00 Gina Poe\n00:00:19 Sleep States, Perfect Night’s Sleep\n00:02:23 Early Sleep, Memory Processing, Dreams\n00:04:34 Growth Hormone & Early Sleep, Tool: Consistent Bedtime\n00:06:47 Alcohol & Negative Sleep Effects\n00:07:45 Middle Sleep States, Creativity\n00:08:59 Waking During Night, Nighttime Urination\n00:10:06 Later Sleep, REM, Deep Sleep; Sleepwalking\n00:12:28 Morning Grogginess; Sleep Trackers\n00:14:20 Early Sleep “Washout”, Brain Waste Clearence\n00:18:23 Locus Coeruleus, Learning & REM Sleep, Tool: Calm Bedtime Routine\n00:22:24 Sleep Spindles, P Waves, Learning & Creativity\n00:25:47 Trauma Recovery, REM Sleep, Locus Coeruleus\n00:29:19 Acknowledgements\n\n#hubermanlab #hubermanlabpodcast \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Use Sleep to Enhance Learning, Memory & Emotional State | Dr. Gina Poe", "8aeeebf8-b0fa-4589-a584-edd20f0adfa1", 1788, false, "f1NNmiz547U", "https://www.youtube.com/watch?v=f1NNmiz547U", 2, "/downloads/Andrew Huberman/2026-09-03 Essentials: Use Sleep to Enhance Learning, Memory & Emotional State | Dr. Gina Poe/Essentials: Use Sleep to Enhance Learning, Memory & Emotional State | Dr. Gina Poe [f1NNmiz547U].mp4", false, false, false, 4, [], 1, ~U[2026-09-03 12:00:39Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Gina Poe, PhD, a Professor of Integrative Biology and Physiology at the University of California, Los Angeles (UCLA). We discuss the architecture of sleep and how each stage supports distinct functions, including memory consolidation, creativity, brain restoration, and emotional processing. We also explain science-supported tools to improve sleep quality, support cognitive performance, and hormone balance. \n\nShow notes: https://go.hubermanlab.com/kZUkSSF\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nTimestamps\n00:00:00 Gina Poe\n00:00:19 Sleep States, Perfect Night’s Sleep\n00:02:23 Early Sleep, Memory Processing, Dreams\n00:04:34 Growth Hormone & Early Sleep, Tool: Consistent Bedtime\n00:06:47 Alcohol & Negative Sleep Effects\n00:07:45 Middle Sleep States, Creativity\n00:08:59 Waking During Night, Nighttime Urination\n00:10:06 Later Sleep, REM, Deep Sleep; Sleepwalking\n00:12:28 Morning Grogginess; Sleep Trackers\n00:14:20 Early Sleep “Washout”, Brain Waste Clearence\n00:18:23 Locus Coeruleus, Learning & REM Sleep, Tool: Calm Bedtime Routine\n00:22:24 Sleep Spindles, P Waves, Learning & Creativity\n00:25:47 Trauma Recovery, REM Sleep, Locus Coeruleus\n00:29:19 Acknowledgements\n\n#hubermanlab #hubermanlabpodcast \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Use Sleep to Enhance Learning, Memory & Emotional State | Dr. Gina Poe", 1788, false, "f1NNmiz547U", "https://www.youtube.com/watch?v=f1NNmiz547U", "/downloads/Andrew Huberman/2026-09-03 Essentials: Use Sleep to Enhance Learning, Memory & Emotional State | Dr. Gina Poe/Essentials: Use Sleep to Enhance Learning, Memory & Emotional State | Dr. Gina Poe [f1NNmiz547U].mp4", false, 4, ~U[2026-09-03 12:00:39Z]] 17:13:58.484 [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" = ?) [4] 17:13:58.485 [debug] QUERY OK source="media_items" db=0.4ms idle=4.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-27 12:00:25Z], 4] 17:13:58.487 [debug] QUERY OK source="media_items" db=1.3ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Chris Palmer, MD, a board-certified psychiatrist and Assistant Professor of Psychiatry at Harvard Medical School. We explain how nutrition and metabolism directly affect mental health, including the biological mechanisms underlying these effects. We also discuss how carbohydrate restriction, ketogenic diets and fasting can improve mood, energy, and, in some cases, treatment-resistant psychiatric conditions. \n\nShow notes: https://go.hubermanlab.com/it2boBG\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nDr. Chris Palmer\nWebsite: https://www.chrispalmermd.com\nX: https://x.com/chrispalmermd\nInstagram: https://www.instagram.com/chrispalmermd\nYouTube: https://www.youtube.com/@ChrisPalmerMD\nFacebook: https://www.facebook.com/ChrisPalmerMD\n\nTimestamps\n00:00:00 Chris Palmer\n00:00:20 Personal Story, Nutrition & Mental Health\n00:05:28 Treatment-Resistant Mental Disorders & Low-Carbohydrate Diet\n00:07:32 Ketogenic Diet & Schizophrenia Success Story\n00:11:01 Nutrition for Mental Disorders, Ketosis, Highly Processed Foods\n00:13:55 Epilepsy & Ketogenic Diet, Fasting; Mitochondrial Benefits\n00:19:54 Mitochondria Functions, Mental Disorders\n00:25:44 Mitophagy, Autophagy, Longevity & Calorie Restriction\n00:30:51 Carbohydrate Restriction, Depression Treatment\n00:33:49 Acknowledgements\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Diet & Nutrition for Mental Health | Dr. Chris Palmer", "4d637fa1-b717-4b43-94f6-94a9eabab777", 2085, false, "E56LSFCNdkI", "https://www.youtube.com/watch?v=E56LSFCNdkI", 3, "/downloads/Andrew Huberman/2026-08-27 Essentials: Diet & Nutrition for Mental Health | Dr. Chris Palmer/Essentials: Diet & Nutrition for Mental Health | Dr. Chris Palmer [E56LSFCNdkI].mp4", false, false, false, 4, [], 1, ~U[2026-08-27 12:00:25Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Chris Palmer, MD, a board-certified psychiatrist and Assistant Professor of Psychiatry at Harvard Medical School. We explain how nutrition and metabolism directly affect mental health, including the biological mechanisms underlying these effects. We also discuss how carbohydrate restriction, ketogenic diets and fasting can improve mood, energy, and, in some cases, treatment-resistant psychiatric conditions. \n\nShow notes: https://go.hubermanlab.com/it2boBG\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nDr. Chris Palmer\nWebsite: https://www.chrispalmermd.com\nX: https://x.com/chrispalmermd\nInstagram: https://www.instagram.com/chrispalmermd\nYouTube: https://www.youtube.com/@ChrisPalmerMD\nFacebook: https://www.facebook.com/ChrisPalmerMD\n\nTimestamps\n00:00:00 Chris Palmer\n00:00:20 Personal Story, Nutrition & Mental Health\n00:05:28 Treatment-Resistant Mental Disorders & Low-Carbohydrate Diet\n00:07:32 Ketogenic Diet & Schizophrenia Success Story\n00:11:01 Nutrition for Mental Disorders, Ketosis, Highly Processed Foods\n00:13:55 Epilepsy & Ketogenic Diet, Fasting; Mitochondrial Benefits\n00:19:54 Mitochondria Functions, Mental Disorders\n00:25:44 Mitophagy, Autophagy, Longevity & Calorie Restriction\n00:30:51 Carbohydrate Restriction, Depression Treatment\n00:33:49 Acknowledgements\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Diet & Nutrition for Mental Health | Dr. Chris Palmer", 2085, false, "E56LSFCNdkI", "https://www.youtube.com/watch?v=E56LSFCNdkI", "/downloads/Andrew Huberman/2026-08-27 Essentials: Diet & Nutrition for Mental Health | Dr. Chris Palmer/Essentials: Diet & Nutrition for Mental Health | Dr. Chris Palmer [E56LSFCNdkI].mp4", false, 4, ~U[2026-08-27 12:00:25Z]] 17:13:58.487 [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" = ?) [4] 17:13:58.488 [debug] QUERY OK source="media_items" db=0.5ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-20 12:00:13Z], 4] 17:13:58.491 [debug] QUERY OK source="media_items" db=1.6ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest Rick Rubin, world-renowned music producer and author of The Creative Act: A Way of Being, and I discuss how to access creativity by noticing ideas, trusting your taste and staying fully present with the work. Rick explains the phases of the creative process and how focus, disengagement, self-doubt, deadlines and meditation can support original work. We also explore perception, pro wrestling and why remaining open to uncertainty can help anyone create more authentically.\n\nShow notes: https://go.hubermanlab.com/V8GCPL7\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nRick Rubin\nTetragrammaton: https://www.tetragrammaton.com\nThe Creative Act (book): https://geni.us/jEcQ6hb\nInstagram: https://www.instagram.com/rickrubin\nX: https://x.com/RickRubin\n\nTimestamps\n00:00:00 Rick Rubin & Creativity\n00:00:23 Creativity as a Dream or Cloud\n00:01:53 Childhood, Openness & Originality\n00:03:29 Trust Your Taste; Experiment, Don't Over-Explain\n00:05:27 Creative Aperture & New Perspectives\n00:07:05 External Feedback & Staying True to the Work\n00:08:31 Finishing Creative Projects\n00:09:52 Focus, Disengagement & the Subconscious\n00:12:32 Perception, Storytelling & Uncertainty\n00:15:22 Pro Wrestling, Playfulness & Reality\n00:16:44 Morning Routine & Receptivity\n00:17:34 Four Phases of Creative Work; Deadlines\n00:22:31 Self-Doubt as a Creative Tool\n00:23:36 Capturing Real Moments; Authenticity\n00:24:41 Routines, Advice & Staying Open\n00:26:16 Look for Clues; Belief & Attention\n00:29:15 Meditation: Mantra, Breath & Awareness\n00:31:13 Monroe Institute Surgical Support Series\n\n#hubermanlab #rickrubin #creativity \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Access Your Creativity | Rick Rubin", "9944b816-a6e5-41c0-a810-4c04cb1760bf", 1948, false, "QP8Kpf1UQwM", "https://www.youtube.com/watch?v=QP8Kpf1UQwM", 4, "/downloads/Andrew Huberman/2026-08-20 Essentials: How to Access Your Creativity | Rick Rubin/Essentials: How to Access Your Creativity | Rick Rubin [QP8Kpf1UQwM].mp4", false, false, false, 4, [], 1, ~U[2026-08-20 12:00:13Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest Rick Rubin, world-renowned music producer and author of The Creative Act: A Way of Being, and I discuss how to access creativity by noticing ideas, trusting your taste and staying fully present with the work. Rick explains the phases of the creative process and how focus, disengagement, self-doubt, deadlines and meditation can support original work. We also explore perception, pro wrestling and why remaining open to uncertainty can help anyone create more authentically.\n\nShow notes: https://go.hubermanlab.com/V8GCPL7\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nRick Rubin\nTetragrammaton: https://www.tetragrammaton.com\nThe Creative Act (book): https://geni.us/jEcQ6hb\nInstagram: https://www.instagram.com/rickrubin\nX: https://x.com/RickRubin\n\nTimestamps\n00:00:00 Rick Rubin & Creativity\n00:00:23 Creativity as a Dream or Cloud\n00:01:53 Childhood, Openness & Originality\n00:03:29 Trust Your Taste; Experiment, Don't Over-Explain\n00:05:27 Creative Aperture & New Perspectives\n00:07:05 External Feedback & Staying True to the Work\n00:08:31 Finishing Creative Projects\n00:09:52 Focus, Disengagement & the Subconscious\n00:12:32 Perception, Storytelling & Uncertainty\n00:15:22 Pro Wrestling, Playfulness & Reality\n00:16:44 Morning Routine & Receptivity\n00:17:34 Four Phases of Creative Work; Deadlines\n00:22:31 Self-Doubt as a Creative Tool\n00:23:36 Capturing Real Moments; Authenticity\n00:24:41 Routines, Advice & Staying Open\n00:26:16 Look for Clues; Belief & Attention\n00:29:15 Meditation: Mantra, Breath & Awareness\n00:31:13 Monroe Institute Surgical Support Series\n\n#hubermanlab #rickrubin #creativity \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Access Your Creativity | Rick Rubin", 1948, false, "QP8Kpf1UQwM", "https://www.youtube.com/watch?v=QP8Kpf1UQwM", "/downloads/Andrew Huberman/2026-08-20 Essentials: How to Access Your Creativity | Rick Rubin/Essentials: How to Access Your Creativity | Rick Rubin [QP8Kpf1UQwM].mp4", false, 4, ~U[2026-08-20 12:00:13Z]] 17:13:58.491 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.492 [debug] QUERY OK source="media_items" db=0.4ms idle=4.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-13 12:00:10Z], 4] 17:13:58.538 [debug] QUERY OK source="media_items" db=45.1ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Sara Gottfried, M.D., a Harvard-trained, board-certified gynecologist and expert in female hormone health. We discuss the key biomarkers women should track at each stage of life and how cortisol, thyroid hormone, estrogen, progesterone, and testosterone shape energy, mood, metabolism, and long-term disease risk. We also discuss PCOS, the risks and benefits of oral contraceptives, and the shift in brain metabolism that begins in perimenopause. Dr. Gottfried explains actionable tools for hormone and micronutrient testing, nutrition, stress management, and cardiometabolic screening that women can use at any age.\n\nShow notes: https://go.hubermanlab.com/G3wmc8o\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nDr. Sara Gottfried:\nWebsite: https://www.saragottfriedmd.com\nAcademic profile: https://www.jefferson.edu/academics/colleges-schools-institutes/health-professions/emerging-health-professions/faculty-staff/faculty/Gottfried.html\nInstagram: https://www.instagram.com/saragottfriedmd\nX: https://twitter.com/drgottfried\n\nTimestamps\n00:00:00 Female Hormone Health\n00:00:24 Family History, Intergenerational Trauma; Endometriosis, Fibroids, PCOS\n00:01:31 Biomarkers by Decade; Teens & Cortisol; 20s & Sex Hormones\n00:03:35 Tool: Hormone Test Timing; Micronutrient Testing, Magnesium\n00:05:40 Tool: Smoothies, Greens Powders & Microbiome\n00:06:39 Nutrient Panels, Antioxidants, B Vitamins, Glutathione\n00:08:01 Constipation, Thyroid Dysfunction; Trauma & Female Physiology\n00:10:17 Tools: Reduce Perceived Stress, Meditation, Yoga, Breathwork\n00:11:58 Opportunities by Decade; Androgens & Testosterone Decline\n00:13:18 PCOS, Diagnostic Criteria, Hirsutism, Cardiometabolic Risk\n00:15:38 Insulin & Glucose; Tool: Continuous Glucose Monitors\n00:16:34 Democratizing Health Data\n00:17:19 Longevity \"Don’ts\"; Chronic Cardio & Cortisol; Tool: Adaptive Exercise\n00:20:00 Oral Contraceptives, Benefits & Ovarian Cancer Risk\n00:21:41 Ovarian Cancer Symptoms, Bloating, CA-125\n00:23:04 Oral Contraceptive Risks, Progestins, Inflammation; SHBG & Testosterone\n00:26:21 Clitoral Shrinkage; Tools: Alternatives for Painful Periods\n00:27:28 Menopause & Perimenopause; 30s Hormonal Baseline\n00:29:00 Female Brain, Cerebral Hypometabolism & Alzheimer’s Risk\n00:30:58 Slow Brain Energy, Hormone Therapy; Hot Flashes as Biomarkers\n00:32:49 Tool: Coronary Artery Calcium Score\n\n#hubermanlab #hubermanlabpodcast #health\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Optimize Female Hormone Health for Vitality & Longevity | Dr. Sara Gottfried", "2c768a86-3359-49ec-ad30-3ddf4a0de010", 2040, false, "wbuPQPu-03Y", "https://www.youtube.com/watch?v=wbuPQPu-03Y", 5, "/downloads/Andrew Huberman/2026-08-13 Essentials: How to Optimize Female Hormone Health for Vitality & Longevity | Dr. Sara Gottfried/Essentials: How to Optimize Female Hormone Health for Vitality & Longevity | Dr. Sara Gottfried [wbuPQPu-03Y].mp4", false, false, false, 4, [], 1, ~U[2026-08-13 12:00:10Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Sara Gottfried, M.D., a Harvard-trained, board-certified gynecologist and expert in female hormone health. We discuss the key biomarkers women should track at each stage of life and how cortisol, thyroid hormone, estrogen, progesterone, and testosterone shape energy, mood, metabolism, and long-term disease risk. We also discuss PCOS, the risks and benefits of oral contraceptives, and the shift in brain metabolism that begins in perimenopause. Dr. Gottfried explains actionable tools for hormone and micronutrient testing, nutrition, stress management, and cardiometabolic screening that women can use at any age.\n\nShow notes: https://go.hubermanlab.com/G3wmc8o\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nDr. Sara Gottfried:\nWebsite: https://www.saragottfriedmd.com\nAcademic profile: https://www.jefferson.edu/academics/colleges-schools-institutes/health-professions/emerging-health-professions/faculty-staff/faculty/Gottfried.html\nInstagram: https://www.instagram.com/saragottfriedmd\nX: https://twitter.com/drgottfried\n\nTimestamps\n00:00:00 Female Hormone Health\n00:00:24 Family History, Intergenerational Trauma; Endometriosis, Fibroids, PCOS\n00:01:31 Biomarkers by Decade; Teens & Cortisol; 20s & Sex Hormones\n00:03:35 Tool: Hormone Test Timing; Micronutrient Testing, Magnesium\n00:05:40 Tool: Smoothies, Greens Powders & Microbiome\n00:06:39 Nutrient Panels, Antioxidants, B Vitamins, Glutathione\n00:08:01 Constipation, Thyroid Dysfunction; Trauma & Female Physiology\n00:10:17 Tools: Reduce Perceived Stress, Meditation, Yoga, Breathwork\n00:11:58 Opportunities by Decade; Androgens & Testosterone Decline\n00:13:18 PCOS, Diagnostic Criteria, Hirsutism, Cardiometabolic Risk\n00:15:38 Insulin & Glucose; Tool: Continuous Glucose Monitors\n00:16:34 Democratizing Health Data\n00:17:19 Longevity \"Don’ts\"; Chronic Cardio & Cortisol; Tool: Adaptive Exercise\n00:20:00 Oral Contraceptives, Benefits & Ovarian Cancer Risk\n00:21:41 Ovarian Cancer Symptoms, Bloating, CA-125\n00:23:04 Oral Contraceptive Risks, Progestins, Inflammation; SHBG & Testosterone\n00:26:21 Clitoral Shrinkage; Tools: Alternatives for Painful Periods\n00:27:28 Menopause & Perimenopause; 30s Hormonal Baseline\n00:29:00 Female Brain, Cerebral Hypometabolism & Alzheimer’s Risk\n00:30:58 Slow Brain Energy, Hormone Therapy; Hot Flashes as Biomarkers\n00:32:49 Tool: Coronary Artery Calcium Score\n\n#hubermanlab #hubermanlabpodcast #health\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Optimize Female Hormone Health for Vitality & Longevity | Dr. Sara Gottfried", 2040, false, "wbuPQPu-03Y", "https://www.youtube.com/watch?v=wbuPQPu-03Y", "/downloads/Andrew Huberman/2026-08-13 Essentials: How to Optimize Female Hormone Health for Vitality & Longevity | Dr. Sara Gottfried/Essentials: How to Optimize Female Hormone Health for Vitality & Longevity | Dr. Sara Gottfried [wbuPQPu-03Y].mp4", false, 4, ~U[2026-08-13 12:00:10Z]] 17:13:58.539 [debug] QUERY OK source="sources" db=0.3ms idle=50.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.540 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=48.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-06 12:00:35Z], 4] 17:13:58.544 [debug] QUERY OK source="media_items" db=4.0ms idle=48.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how key neuromodulators shape motivation, energy, focus and mood throughout the day. I also describe a toolkit of science-supported behavioral, nutritional and supplement-based strategies to increase baseline levels for each neuromodulator, which can be modified to support your specific health and performance goals. \n\nShow notes: https://go.hubermanlab.com/vqRTSoT\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nTimestamps\n00:00:00 Optimize Neurochemicals for Health\n00:00:27 Neuromodulator Levels & 3 Daily Phases\n00:05:07 Hormones Modulate Neuromodulators\n00:06:56 Effects of Key Neuromodulators\n00:08:58 Increase Motivation & Dopamine, Tools: Morning Sunlight; Caffeine\n00:12:12 Dopamine Supplements: Mucuna Pruriens, L-Tyrosine, Phenethylamine (PEA)\n00:15:16 Increase Dopamine, Tool: Deliberate Cold Exposure\n00:18:00 Increase Epinephrine (Adrenaline) & Energy, Tools: Exercise, Cyclic Hyperventilation\n00:22:25 Enhance Focus & Acetylcholine: Choline-Rich Foods, Nicotine\n00:24:40 Acetylcholine Supplements: Alpha-GPC, Huperzine\n00:25:34 Serotonin & Mood, Tools: Gratitude, Tryptophan-Rich Foods\n00:28:02 Serotonin Supplement: Myo-inositol\n00:28:39 Using the Neurochemical Toolkit for Your Goals\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Control Your Brain Chemistry for Focus, Motivation & Well-Being | Huberman Lab Essentials", "42fb30cd-9fe8-4fe9-91d4-a8a544529567", 1851, false, "xKvlK7OqZso", "https://www.youtube.com/watch?v=xKvlK7OqZso", 6, "/downloads/Andrew Huberman/2026-08-06 Control Your Brain Chemistry for Focus, Motivation & Well-Being | Huberman Lab Essentials/Control Your Brain Chemistry for Focus, Motivation & Well-Being | Huberman Lab Essentials [xKvlK7OqZso].mp4", false, false, false, 4, [], 1, ~U[2026-08-06 12:00:35Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how key neuromodulators shape motivation, energy, focus and mood throughout the day. I also describe a toolkit of science-supported behavioral, nutritional and supplement-based strategies to increase baseline levels for each neuromodulator, which can be modified to support your specific health and performance goals. \n\nShow notes: https://go.hubermanlab.com/vqRTSoT\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nTimestamps\n00:00:00 Optimize Neurochemicals for Health\n00:00:27 Neuromodulator Levels & 3 Daily Phases\n00:05:07 Hormones Modulate Neuromodulators\n00:06:56 Effects of Key Neuromodulators\n00:08:58 Increase Motivation & Dopamine, Tools: Morning Sunlight; Caffeine\n00:12:12 Dopamine Supplements: Mucuna Pruriens, L-Tyrosine, Phenethylamine (PEA)\n00:15:16 Increase Dopamine, Tool: Deliberate Cold Exposure\n00:18:00 Increase Epinephrine (Adrenaline) & Energy, Tools: Exercise, Cyclic Hyperventilation\n00:22:25 Enhance Focus & Acetylcholine: Choline-Rich Foods, Nicotine\n00:24:40 Acetylcholine Supplements: Alpha-GPC, Huperzine\n00:25:34 Serotonin & Mood, Tools: Gratitude, Tryptophan-Rich Foods\n00:28:02 Serotonin Supplement: Myo-inositol\n00:28:39 Using the Neurochemical Toolkit for Your Goals\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Control Your Brain Chemistry for Focus, Motivation & Well-Being | Huberman Lab Essentials", 1851, false, "xKvlK7OqZso", "https://www.youtube.com/watch?v=xKvlK7OqZso", "/downloads/Andrew Huberman/2026-08-06 Control Your Brain Chemistry for Focus, Motivation & Well-Being | Huberman Lab Essentials/Control Your Brain Chemistry for Focus, Motivation & Well-Being | Huberman Lab Essentials [xKvlK7OqZso].mp4", false, 4, ~U[2026-08-06 12:00:35Z]] 17:13:58.545 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.546 [debug] QUERY OK source="media_items" db=0.4ms idle=6.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-30 12:00:03Z], 4] 17:13:58.549 [debug] QUERY OK source="media_items" db=2.0ms idle=6.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Jocko Willink, a retired U.S. Navy SEAL officer, author and host of the Jocko Podcast. We discuss why discipline, rather than motivation, is the reliable driver of daily action, and how taking action is the most effective way to move through adversity, loss and setbacks. We also discuss how exercise generates energy, the leader’s role as a counterweight to team morale, and detachment as a trainable skill for widening perspective and making better decisions under stress.\n\nShow notes: https://go.hubermanlab.com/NwgtCRz\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\nTimestamps\n00:00:00 Jocko Willink\n00:00:23 Discipline, Impact & Autonomy in the Military\n00:02:40 Energy, Waking Up, Alarm Clock & Debate\n00:04:12 Tool: Exercise for Energy; Eating, Fasting & Mental Clarity\n00:05:45 Tool: High-Intensity Exercise, Peak Mentality\n00:06:31 Winning & Losing, SEAL Selection, BUD/S, Resilience\n00:08:34 Leadership, Morale & Mob Mentality; Tool: Detach & Correct\n00:10:38 Loss, Grief; Tool: Action as a Cure for Adversity\n00:12:17 Parenting & Success; Tool: Be the Counterweight, Balance\n00:14:54 Sense of Self, Hardcore Music, DIY Attitude & Dissent\n00:17:42 Motivation as an Emotion, Discipline\n00:18:31 Tool: Move Toward Problems; Indirect Approach & Conflict\n00:20:00 Meditation, Detachment & Teaching Young Leaders\n00:21:33 Depression, Storm Clouds & Losing Perspective\n00:23:54 Tool: Detachment, Oil Rig Story, Field of View\n00:28:19 Tools: Take a Step Back, Slow Breathing & Widen Field of View\n00:29:19 Tools: Chin Up, Hands Down, Listening; Relationships\n00:31:32 Tool: Deliberate Discomfort & Training Resiliency\n00:32:04 Acknowledgements\n\n#hubermanlab #hubermanlabpodcast #jockowillink \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Become Resilient, Forge Your Identity & Lead Others | Jocko Willink", "52ceae93-0cf2-424c-a537-d451e4ba1f47", 1987, false, "lxDf8uEypJU", "https://www.youtube.com/watch?v=lxDf8uEypJU", 7, "/downloads/Andrew Huberman/2026-07-30 Essentials: How to Become Resilient, Forge Your Identity & Lead Others | Jocko Willink/Essentials: How to Become Resilient, Forge Your Identity & Lead Others | Jocko Willink [lxDf8uEypJU].mp4", false, false, false, 4, [], 1, ~U[2026-07-30 12:00:03Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Jocko Willink, a retired U.S. Navy SEAL officer, author and host of the Jocko Podcast. We discuss why discipline, rather than motivation, is the reliable driver of daily action, and how taking action is the most effective way to move through adversity, loss and setbacks. We also discuss how exercise generates energy, the leader’s role as a counterweight to team morale, and detachment as a trainable skill for widening perspective and making better decisions under stress.\n\nShow notes: https://go.hubermanlab.com/NwgtCRz\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\nTimestamps\n00:00:00 Jocko Willink\n00:00:23 Discipline, Impact & Autonomy in the Military\n00:02:40 Energy, Waking Up, Alarm Clock & Debate\n00:04:12 Tool: Exercise for Energy; Eating, Fasting & Mental Clarity\n00:05:45 Tool: High-Intensity Exercise, Peak Mentality\n00:06:31 Winning & Losing, SEAL Selection, BUD/S, Resilience\n00:08:34 Leadership, Morale & Mob Mentality; Tool: Detach & Correct\n00:10:38 Loss, Grief; Tool: Action as a Cure for Adversity\n00:12:17 Parenting & Success; Tool: Be the Counterweight, Balance\n00:14:54 Sense of Self, Hardcore Music, DIY Attitude & Dissent\n00:17:42 Motivation as an Emotion, Discipline\n00:18:31 Tool: Move Toward Problems; Indirect Approach & Conflict\n00:20:00 Meditation, Detachment & Teaching Young Leaders\n00:21:33 Depression, Storm Clouds & Losing Perspective\n00:23:54 Tool: Detachment, Oil Rig Story, Field of View\n00:28:19 Tools: Take a Step Back, Slow Breathing & Widen Field of View\n00:29:19 Tools: Chin Up, Hands Down, Listening; Relationships\n00:31:32 Tool: Deliberate Discomfort & Training Resiliency\n00:32:04 Acknowledgements\n\n#hubermanlab #hubermanlabpodcast #jockowillink \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Become Resilient, Forge Your Identity & Lead Others | Jocko Willink", 1987, false, "lxDf8uEypJU", "https://www.youtube.com/watch?v=lxDf8uEypJU", "/downloads/Andrew Huberman/2026-07-30 Essentials: How to Become Resilient, Forge Your Identity & Lead Others | Jocko Willink/Essentials: How to Become Resilient, Forge Your Identity & Lead Others | Jocko Willink [lxDf8uEypJU].mp4", false, 4, ~U[2026-07-30 12:00:03Z]] 17:13:58.549 [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" = ?) [4] 17:13:58.550 [debug] QUERY OK source="media_items" db=0.5ms idle=5.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-23 12:00:10Z], 4] 17:13:58.557 [debug] QUERY OK source="media_items" db=5.8ms idle=5.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Sam Harris, PhD, a neuroscientist, bestselling author, and world-renowned meditation teacher whose work focuses on consciousness, ethics, and religion. We discuss how meditation can help us better understand the nature of the self and transform the conscious experience. Sam also explains how meditation can help overcome universal challenges such as distractibility, mental chatter and emotional reactivity, which can allow for greater focus and fulfillment in the present moment. \n\nShow notes: https://go.hubermanlab.com/sle95XX\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nDr. Sam Harris\nWebsite: https://www.samharris.org\nInstagram: https://www.instagram.com/samharrisorg\nYouTube: https://www.youtube.com/channel/UCNAxrHudMfdzNi6NxruKPLw\nFacebook: https://www.facebook.com/Samharrisorg\n\nTimestamps\n00:00:00 Sam Harris\n00:00:21 Sense of Self, Meditation Purpose; Flow\n00:08:37 Self Awareness, Self-Talk & Mental Chatter\n00:13:26 Mindfulness, Distractibility\n00:18:37 Meditation, Benefits, “Sky-like Mind”; States of Self\n00:24:39 Meditation Practice, Mindfulness & Freedom\n00:27:23 Psychedelics, Consciousness\n00:31:21 Process vs Achieving Goals, Fulfillment in Present\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Using Meditation to Focus, View Consciousness & Expand Your Mind | Dr. Sam Harris", "1e630ab7-1900-4291-9905-e82949911928", 2221, false, "LQI8tl8S2PE", "https://www.youtube.com/watch?v=LQI8tl8S2PE", 8, "/downloads/Andrew Huberman/2026-07-23 Essentials: Using Meditation to Focus, View Consciousness & Expand Your Mind | Dr. Sam Harris/Essentials: Using Meditation to Focus, View Consciousness & Expand Your Mind | Dr. Sam Harris [LQI8tl8S2PE].mp4", false, false, false, 4, [], 1, ~U[2026-07-23 12:00:10Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Sam Harris, PhD, a neuroscientist, bestselling author, and world-renowned meditation teacher whose work focuses on consciousness, ethics, and religion. We discuss how meditation can help us better understand the nature of the self and transform the conscious experience. Sam also explains how meditation can help overcome universal challenges such as distractibility, mental chatter and emotional reactivity, which can allow for greater focus and fulfillment in the present moment. \n\nShow notes: https://go.hubermanlab.com/sle95XX\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nWebsite: https://www.hubermanlab.com \nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\n\nDr. Sam Harris\nWebsite: https://www.samharris.org\nInstagram: https://www.instagram.com/samharrisorg\nYouTube: https://www.youtube.com/channel/UCNAxrHudMfdzNi6NxruKPLw\nFacebook: https://www.facebook.com/Samharrisorg\n\nTimestamps\n00:00:00 Sam Harris\n00:00:21 Sense of Self, Meditation Purpose; Flow\n00:08:37 Self Awareness, Self-Talk & Mental Chatter\n00:13:26 Mindfulness, Distractibility\n00:18:37 Meditation, Benefits, “Sky-like Mind”; States of Self\n00:24:39 Meditation Practice, Mindfulness & Freedom\n00:27:23 Psychedelics, Consciousness\n00:31:21 Process vs Achieving Goals, Fulfillment in Present\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Using Meditation to Focus, View Consciousness & Expand Your Mind | Dr. Sam Harris", 2221, false, "LQI8tl8S2PE", "https://www.youtube.com/watch?v=LQI8tl8S2PE", "/downloads/Andrew Huberman/2026-07-23 Essentials: Using Meditation to Focus, View Consciousness & Expand Your Mind | Dr. Sam Harris/Essentials: Using Meditation to Focus, View Consciousness & Expand Your Mind | Dr. Sam Harris [LQI8tl8S2PE].mp4", false, 4, ~U[2026-07-23 12:00:10Z]] 17:13:58.558 [debug] QUERY OK source="sources" db=0.2ms idle=11.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.558 [debug] QUERY OK source="media_items" db=0.5ms idle=9.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-16 12:00:15Z], 4] 17:13:58.561 [debug] QUERY OK source="media_items" db=1.7ms idle=9.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain the biology, symptoms and types of bipolar disorder (sometimes called bipolar depression), a condition characterized by extreme, maladaptive shifts in energy, mood and perception. I describe the diagnostic criteria that distinguish bipolar I from bipolar II, including mania and hypomania and the different patterns of mood cycling. I discuss the remarkable history and discovery of lithium and how it works, in part by reducing inflammation, providing neuroprotection and supporting the interoceptive neural circuits affected in bipolar disorder. I also cover talk therapies, electroconvulsive therapy and nutraceuticals such as omega-3 fatty acids and inositol, and I explore the intriguing relationship between mood disorders and creativity. This episode should interest anyone who has or knows someone with bipolar disorder, as well as those interested in how the brain balances mood, energy and focus.\n\nShow notes: https://go.hubermanlab.com/wH7DHIu\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\nTimestamps\n00:00:00 Bipolar Disorder\n00:01:09 Bipolar I; Manic Episode Symptoms\n00:05:00 Bipolar II, Hypomania; Depressive Episodes & Cycling\n00:07:30 Lithium Discovery, Dr. John Cade, Uric Acid\n00:11:03 Lithium Urate & Guinea Pigs, Control Experiments\n00:13:20 Lithium Salts Paper, Toxicity & Monitoring\n00:14:30 How Lithium Works: Inflammation & Neuroprotection\n00:15:50 Exteroception vs. Interoception, Neural Circuit Atrophy\n00:17:31 Drug vs. Talk Therapies\n00:18:10 Cognitive Behavioral Therapy, Interpersonal & Social Rhythm Therapy\n00:20:00 Electroconvulsive Therapy (ECT), Treatment-Resistant Depression\n00:21:37 Caution: Rely on Prescribed Treatment, Suicide Risk\n00:22:29 Tool: Lifestyle Support, Sleep, Exercise, Nutrition & Sunlight\n00:23:30 Tool: Inositol & Omega-3 Fatty Acids, Fish Oil Study\n00:25:30 Full Picture of Treatment\n00:26:40 Creativity & Mood Disorders, Eminent Individuals Study\n00:30:00 Recap & Key Takeaways\n\n#hubermanlab #science #health\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science & Treatment of Bipolar Disorder | Huberman Lab Essentials", "9ceb52e0-0d97-4bbb-9cc0-0a1d262cd629", 1873, false, "UTB5gAkjevk", "https://www.youtube.com/watch?v=UTB5gAkjevk", 9, "/downloads/Andrew Huberman/2026-07-16 The Science & Treatment of Bipolar Disorder | Huberman Lab Essentials/The Science & Treatment of Bipolar Disorder | Huberman Lab Essentials [UTB5gAkjevk].mp4", false, false, false, 4, [], 1, ~U[2026-07-16 12:00:15Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain the biology, symptoms and types of bipolar disorder (sometimes called bipolar depression), a condition characterized by extreme, maladaptive shifts in energy, mood and perception. I describe the diagnostic criteria that distinguish bipolar I from bipolar II, including mania and hypomania and the different patterns of mood cycling. I discuss the remarkable history and discovery of lithium and how it works, in part by reducing inflammation, providing neuroprotection and supporting the interoceptive neural circuits affected in bipolar disorder. I also cover talk therapies, electroconvulsive therapy and nutraceuticals such as omega-3 fatty acids and inositol, and I explore the intriguing relationship between mood disorders and creativity. This episode should interest anyone who has or knows someone with bipolar disorder, as well as those interested in how the brain balances mood, energy and focus.\n\nShow notes: https://go.hubermanlab.com/wH7DHIu\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\nTimestamps\n00:00:00 Bipolar Disorder\n00:01:09 Bipolar I; Manic Episode Symptoms\n00:05:00 Bipolar II, Hypomania; Depressive Episodes & Cycling\n00:07:30 Lithium Discovery, Dr. John Cade, Uric Acid\n00:11:03 Lithium Urate & Guinea Pigs, Control Experiments\n00:13:20 Lithium Salts Paper, Toxicity & Monitoring\n00:14:30 How Lithium Works: Inflammation & Neuroprotection\n00:15:50 Exteroception vs. Interoception, Neural Circuit Atrophy\n00:17:31 Drug vs. Talk Therapies\n00:18:10 Cognitive Behavioral Therapy, Interpersonal & Social Rhythm Therapy\n00:20:00 Electroconvulsive Therapy (ECT), Treatment-Resistant Depression\n00:21:37 Caution: Rely on Prescribed Treatment, Suicide Risk\n00:22:29 Tool: Lifestyle Support, Sleep, Exercise, Nutrition & Sunlight\n00:23:30 Tool: Inositol & Omega-3 Fatty Acids, Fish Oil Study\n00:25:30 Full Picture of Treatment\n00:26:40 Creativity & Mood Disorders, Eminent Individuals Study\n00:30:00 Recap & Key Takeaways\n\n#hubermanlab #science #health\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science & Treatment of Bipolar Disorder | Huberman Lab Essentials", 1873, false, "UTB5gAkjevk", "https://www.youtube.com/watch?v=UTB5gAkjevk", "/downloads/Andrew Huberman/2026-07-16 The Science & Treatment of Bipolar Disorder | Huberman Lab Essentials/The Science & Treatment of Bipolar Disorder | Huberman Lab Essentials [UTB5gAkjevk].mp4", false, 4, ~U[2026-07-16 12:00:15Z]] 17:13:58.562 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [4] 17:13:58.563 [debug] QUERY OK source="media_items" db=0.6ms idle=5.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-09 12:00:07Z], 4] 17:13:58.565 [debug] QUERY OK source="media_items" db=1.6ms idle=5.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the biology and psychology of obsessive-compulsive disorder (OCD) and describe the neural circuitry behind repetitive \"thought-action loops,\" including why compulsive actions actually strengthen the underlying obsessions rather than relieve them. I discuss the most effective treatments for OCD, including exposure-based cognitive behavioral therapy and SSRIs, and explain what the research shows about how these compare when used alone versus together. Finally, I describe a specific clinical protocol in which patients are guided into states of anxiety while learning to suppress compulsive responses, retraining the brain to break the OCD cycle.\n\nShow notes: https://go.hubermanlab.com/QiyKONh\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Obsessive-Compulsive Disorder (OCD)\n00:00:11 OCD Prevalence & Impact, Obsessions & Compulsions\n00:01:54 Categories: Checking, Repetition & Order; Contamination & Disgust\n00:04:30 Anxiety, Fear; Genetic Component of OCD\n00:07:39 Neural Circuitry, Cortex, Striatum, Thalamus\n00:09:56 Cortico-Striatal-Thalamic Loop; Imaging Studies, SSRIs\n00:11:02 Diagnosis, Yale-Brown Obsessive Compulsive Scale (Y-BOCS)\n00:14:16 Y-BOCS Categories, Identifying the Core Fear\n00:16:30 Tool: Cognitive Behavioral Therapy (CBT) & Exposure Therapy\n00:18:36 Anxiety Tolerance, Interrupting the Compulsion\n00:20:46 Dr. Helen Blair Simpson, Ritual Prevention, Exposure Sessions\n00:22:20 CBT vs Placebo vs SSRIs; Combining Treatments\n00:24:12 SSRIs & Serotonin System; Psychiatry & Causality\n00:25:59 Cannabis, CBD & OCD; Transcranial Magnetic Stimulation (TMS)\n00:27:53 Mindfulness Meditation, Holistic Treatments, NIH\n00:30:00 Nutraceuticals, Inositol; Recap & Conclusion\n\n#hubermanlab #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science & Treatment of Obsessive Compulsive Disorder (OCD) | Huberman Lab Essentials", "d426a66c-5781-4f1c-9bc2-e38a3bf6e67b", 1898, false, "AtU3EvMzZDY", "https://www.youtube.com/watch?v=AtU3EvMzZDY", 10, "/downloads/Andrew Huberman/2026-07-09 The Science & Treatment of Obsessive Compulsive Disorder (OCD) | Huberman Lab Essentials/The Science & Treatment of Obsessive Compulsive Disorder (OCD) | Huberman Lab Essentials [AtU3EvMzZDY].mp4", false, false, false, 4, [], 1, ~U[2026-07-09 12:00:07Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the biology and psychology of obsessive-compulsive disorder (OCD) and describe the neural circuitry behind repetitive \"thought-action loops,\" including why compulsive actions actually strengthen the underlying obsessions rather than relieve them. I discuss the most effective treatments for OCD, including exposure-based cognitive behavioral therapy and SSRIs, and explain what the research shows about how these compare when used alone versus together. Finally, I describe a specific clinical protocol in which patients are guided into states of anxiety while learning to suppress compulsive responses, retraining the brain to break the OCD cycle.\n\nShow notes: https://go.hubermanlab.com/QiyKONh\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Obsessive-Compulsive Disorder (OCD)\n00:00:11 OCD Prevalence & Impact, Obsessions & Compulsions\n00:01:54 Categories: Checking, Repetition & Order; Contamination & Disgust\n00:04:30 Anxiety, Fear; Genetic Component of OCD\n00:07:39 Neural Circuitry, Cortex, Striatum, Thalamus\n00:09:56 Cortico-Striatal-Thalamic Loop; Imaging Studies, SSRIs\n00:11:02 Diagnosis, Yale-Brown Obsessive Compulsive Scale (Y-BOCS)\n00:14:16 Y-BOCS Categories, Identifying the Core Fear\n00:16:30 Tool: Cognitive Behavioral Therapy (CBT) & Exposure Therapy\n00:18:36 Anxiety Tolerance, Interrupting the Compulsion\n00:20:46 Dr. Helen Blair Simpson, Ritual Prevention, Exposure Sessions\n00:22:20 CBT vs Placebo vs SSRIs; Combining Treatments\n00:24:12 SSRIs & Serotonin System; Psychiatry & Causality\n00:25:59 Cannabis, CBD & OCD; Transcranial Magnetic Stimulation (TMS)\n00:27:53 Mindfulness Meditation, Holistic Treatments, NIH\n00:30:00 Nutraceuticals, Inositol; Recap & Conclusion\n\n#hubermanlab #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science & Treatment of Obsessive Compulsive Disorder (OCD) | Huberman Lab Essentials", 1898, false, "AtU3EvMzZDY", "https://www.youtube.com/watch?v=AtU3EvMzZDY", "/downloads/Andrew Huberman/2026-07-09 The Science & Treatment of Obsessive Compulsive Disorder (OCD) | Huberman Lab Essentials/The Science & Treatment of Obsessive Compulsive Disorder (OCD) | Huberman Lab Essentials [AtU3EvMzZDY].mp4", false, 4, ~U[2026-07-09 12:00:07Z]] 17:13:58.566 [debug] QUERY OK source="sources" db=0.3ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.566 [debug] QUERY OK source="media_items" db=0.5ms idle=5.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-02 12:00:35Z], 4] 17:13:58.569 [debug] QUERY OK source="media_items" db=1.4ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Kyle Gillett, MD, a dual board-certified physician in family medicine and obesity medicine, and an expert in hormone optimization. We discuss science-based tools for optimizing male hormones across the lifespan, including the role of bloodwork, nutrition, and exercise in supporting healthy hormone levels. We also discuss testosterone therapy, hair loss, prostate health, and supplements such as creatine, L-carnitine, Tongkat Ali, and Fadogia agrestis.\n\nShow notes: https://go.hubermanlab.com/pBONCAb\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nTimestamps\n00:00:00 Kyle Gillett\n00:00:20 Male Hormone Optimization, Testosterone, Tool: Blood Tests\n00:02:17 Diet & Hormone Health, Diary, Vitamin D, Fiber\n00:05:36 Caloric Restriction & Testosterone\n00:06:44 Lifestyle Pillars: Stress, Life Purpose\n00:07:56 Exercise & Hormone Health\n00:08:59 Testosterone Replacement Therapy (TRT) & Young Adults\n00:10:32 Supplements for Testosterone, Creatine & Hair Loss; Betaine, Doses\n00:14:16 L-Carnitine, Forms, Dose, TMAO, Garlic & Berberine\n00:17:29 Vitamin D, Boron\n00:19:10 Tongkat Ali (Longjack); Fadogia Agrestis\n00:23:56 Testosterone Therapy, Dose; Side Effects\n00:28:32 Clomiphene, SERM & Testosterone\n00:31:06 Alcohol, Aromatase & Testosterone\n00:31:58 Prostate Health & Tadalafil, Nighttime Urination\n00:33:59 Hair Loss, Caffeine, Finasteride, Dutasteride\n00:36:02 Acknowledgements\n\n#hubermanlab #science #health\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Tools for Hormone Optimization in Males | Dr. Kyle Gillett", "1f6079a3-544e-4f05-a109-6bfcfa4200a0", 2177, false, "O-groYMqrQw", "https://www.youtube.com/watch?v=O-groYMqrQw", 11, "/downloads/Andrew Huberman/2026-07-02 Essentials: Tools for Hormone Optimization in Males | Dr. Kyle Gillett/Essentials: Tools for Hormone Optimization in Males | Dr. Kyle Gillett [O-groYMqrQw].mp4", false, false, false, 4, [], 1, ~U[2026-07-02 12:00:35Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Kyle Gillett, MD, a dual board-certified physician in family medicine and obesity medicine, and an expert in hormone optimization. We discuss science-based tools for optimizing male hormones across the lifespan, including the role of bloodwork, nutrition, and exercise in supporting healthy hormone levels. We also discuss testosterone therapy, hair loss, prostate health, and supplements such as creatine, L-carnitine, Tongkat Ali, and Fadogia agrestis.\n\nShow notes: https://go.hubermanlab.com/pBONCAb\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nTimestamps\n00:00:00 Kyle Gillett\n00:00:20 Male Hormone Optimization, Testosterone, Tool: Blood Tests\n00:02:17 Diet & Hormone Health, Diary, Vitamin D, Fiber\n00:05:36 Caloric Restriction & Testosterone\n00:06:44 Lifestyle Pillars: Stress, Life Purpose\n00:07:56 Exercise & Hormone Health\n00:08:59 Testosterone Replacement Therapy (TRT) & Young Adults\n00:10:32 Supplements for Testosterone, Creatine & Hair Loss; Betaine, Doses\n00:14:16 L-Carnitine, Forms, Dose, TMAO, Garlic & Berberine\n00:17:29 Vitamin D, Boron\n00:19:10 Tongkat Ali (Longjack); Fadogia Agrestis\n00:23:56 Testosterone Therapy, Dose; Side Effects\n00:28:32 Clomiphene, SERM & Testosterone\n00:31:06 Alcohol, Aromatase & Testosterone\n00:31:58 Prostate Health & Tadalafil, Nighttime Urination\n00:33:59 Hair Loss, Caffeine, Finasteride, Dutasteride\n00:36:02 Acknowledgements\n\n#hubermanlab #science #health\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Tools for Hormone Optimization in Males | Dr. Kyle Gillett", 2177, false, "O-groYMqrQw", "https://www.youtube.com/watch?v=O-groYMqrQw", "/downloads/Andrew Huberman/2026-07-02 Essentials: Tools for Hormone Optimization in Males | Dr. Kyle Gillett/Essentials: Tools for Hormone Optimization in Males | Dr. Kyle Gillett [O-groYMqrQw].mp4", false, 4, ~U[2026-07-02 12:00:35Z]] 17:13:58.569 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.570 [debug] QUERY OK source="media_items" db=0.4ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-25 12:00:33Z], 4] 17:13:58.572 [debug] QUERY OK source="media_items" db=1.3ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Layne Norton, PhD, an expert in nutrition, fat loss, and metabolism. We discuss the science of energy balance and utilization, including practical strategies for building lean muscle and losing fat. We also cover optimal protein and fiber intake, artificial sweeteners, seed oils, and animal vs. plant-based protein sources.\n\nShow notes: https://go.hubermanlab.com/tb6gsLL\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Layne Norton\nWebsite: https://biolayne.com\nInstagram: https://www.instagram.com/biolayne\nFacebook: https://www.facebook.com/LayneNorton\nX: https://x.com/biolayne\n\nTimestamps\n00:00:00 Layne Norton\n00:00:20 Energy Balance, Calories In Calories Out, Food Labels\n00:04:10 Daily Energy Expenditure; Non-Exercise Activity Thermogenesis (NEAT)\n00:07:43 Tool: Average Weight; Choosing a Sustainable Diet\n00:09:24 Tool: Weight Loss, Protein Intake & Building Muscle\n00:12:29 Animal vs Plant Protein, Isolated Protein, Soy, Whey, Leucine, Corn\n00:17:53 Processed Foods & Calorie Overconsumption\n00:19:43 Artificial Sweeteners, Weight Loss\n00:22:31 Seed Oils, Saturated Fat\n00:26:50 Creatine Monohydrate, Dose\n00:30:02 Building Confidence; Acknowledgements\n\n#hubermanlab #science #health #nutrition \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Science of Eating for Health, Fat Loss & Lean Muscle | Dr. Layne Norton", "c3737de4-e1d8-429c-bba9-d4141869c682", 1921, false, "WWe4up63hb4", "https://www.youtube.com/watch?v=WWe4up63hb4", 12, "/downloads/Andrew Huberman/2026-06-25 Essentials: The Science of Eating for Health, Fat Loss & Lean Muscle | Dr. Layne Norton/Essentials: The Science of Eating for Health, Fat Loss & Lean Muscle | Dr. Layne Norton [WWe4up63hb4].mp4", false, false, false, 4, [], 1, ~U[2026-06-25 12:00:33Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Layne Norton, PhD, an expert in nutrition, fat loss, and metabolism. We discuss the science of energy balance and utilization, including practical strategies for building lean muscle and losing fat. We also cover optimal protein and fiber intake, artificial sweeteners, seed oils, and animal vs. plant-based protein sources.\n\nShow notes: https://go.hubermanlab.com/tb6gsLL\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Layne Norton\nWebsite: https://biolayne.com\nInstagram: https://www.instagram.com/biolayne\nFacebook: https://www.facebook.com/LayneNorton\nX: https://x.com/biolayne\n\nTimestamps\n00:00:00 Layne Norton\n00:00:20 Energy Balance, Calories In Calories Out, Food Labels\n00:04:10 Daily Energy Expenditure; Non-Exercise Activity Thermogenesis (NEAT)\n00:07:43 Tool: Average Weight; Choosing a Sustainable Diet\n00:09:24 Tool: Weight Loss, Protein Intake & Building Muscle\n00:12:29 Animal vs Plant Protein, Isolated Protein, Soy, Whey, Leucine, Corn\n00:17:53 Processed Foods & Calorie Overconsumption\n00:19:43 Artificial Sweeteners, Weight Loss\n00:22:31 Seed Oils, Saturated Fat\n00:26:50 Creatine Monohydrate, Dose\n00:30:02 Building Confidence; Acknowledgements\n\n#hubermanlab #science #health #nutrition \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Science of Eating for Health, Fat Loss & Lean Muscle | Dr. Layne Norton", 1921, false, "WWe4up63hb4", "https://www.youtube.com/watch?v=WWe4up63hb4", "/downloads/Andrew Huberman/2026-06-25 Essentials: The Science of Eating for Health, Fat Loss & Lean Muscle | Dr. Layne Norton/Essentials: The Science of Eating for Health, Fat Loss & Lean Muscle | Dr. Layne Norton [WWe4up63hb4].mp4", false, 4, ~U[2026-06-25 12:00:33Z]] 17:13:58.573 [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" = ?) [4] 17:13:58.573 [debug] QUERY OK source="media_items" db=0.5ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-18 12:00:18Z], 4] 17:13:58.576 [debug] QUERY OK source="media_items" db=1.5ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the biology of flexibility and discuss the organ systems that shape range of motion and limb flexibility. I also discuss different types of stretching, which methods are most effective, and practical tools for timing stretching relative to exercise. Finally, I provide specific protocols for how intensely and how often to stretch to maximize flexibility, support exercise performance, and offset age-related losses of flexibility.\n\nShow notes: https://go.hubermanlab.com/I9I2vrK\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Flexibility\n00:00:22 Muscle, Nerves & Connective Tissue; Range of Motion\n00:03:16 Golgi Tendon Organs, Load Sensing\n00:04:41 von Economo Neurons, Body Discomfort, Stretch Relaxation\n00:11:11 Types of Stretching: Dynamic, Ballistic, Static & Proprioceptive Neuromuscular Facilitation (PNF)\n00:14:11 Tool: Static Stretching Protocol, Frequency\n00:17:01 Warming Up for Stretching, Exercise; Aging\n00:19:28 Tool: Anderson Method, Feeling the Stretch\n00:20:54 Low Intensity Stretching, Tool: “Micro-Stretching”\n00:24:32 Should You Stretch Before Exercise? \n00:26:11 Insula, Pain Tolerance & Yoga\n00:30:41 Recap of Stretching Protocols\n\n#hubermanlab #health #flexibility #stretching \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Improve Flexibility with Research-Supported Stretching Protocols | Huberman Lab Essentials", "31aae02f-62e6-4f1e-aa0f-0d1206db2ecd", 1936, false, "syJYZm5OZhE", "https://www.youtube.com/watch?v=syJYZm5OZhE", 13, "/downloads/Andrew Huberman/2026-06-18 Improve Flexibility with Research-Supported Stretching Protocols | Huberman Lab Essentials/Improve Flexibility with Research-Supported Stretching Protocols | Huberman Lab Essentials [syJYZm5OZhE].mp4", false, false, false, 4, [], 1, ~U[2026-06-18 12:00:18Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the biology of flexibility and discuss the organ systems that shape range of motion and limb flexibility. I also discuss different types of stretching, which methods are most effective, and practical tools for timing stretching relative to exercise. Finally, I provide specific protocols for how intensely and how often to stretch to maximize flexibility, support exercise performance, and offset age-related losses of flexibility.\n\nShow notes: https://go.hubermanlab.com/I9I2vrK\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Flexibility\n00:00:22 Muscle, Nerves & Connective Tissue; Range of Motion\n00:03:16 Golgi Tendon Organs, Load Sensing\n00:04:41 von Economo Neurons, Body Discomfort, Stretch Relaxation\n00:11:11 Types of Stretching: Dynamic, Ballistic, Static & Proprioceptive Neuromuscular Facilitation (PNF)\n00:14:11 Tool: Static Stretching Protocol, Frequency\n00:17:01 Warming Up for Stretching, Exercise; Aging\n00:19:28 Tool: Anderson Method, Feeling the Stretch\n00:20:54 Low Intensity Stretching, Tool: “Micro-Stretching”\n00:24:32 Should You Stretch Before Exercise? \n00:26:11 Insula, Pain Tolerance & Yoga\n00:30:41 Recap of Stretching Protocols\n\n#hubermanlab #health #flexibility #stretching \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Improve Flexibility with Research-Supported Stretching Protocols | Huberman Lab Essentials", 1936, false, "syJYZm5OZhE", "https://www.youtube.com/watch?v=syJYZm5OZhE", "/downloads/Andrew Huberman/2026-06-18 Improve Flexibility with Research-Supported Stretching Protocols | Huberman Lab Essentials/Improve Flexibility with Research-Supported Stretching Protocols | Huberman Lab Essentials [syJYZm5OZhE].mp4", false, 4, ~U[2026-06-18 12:00:18Z]] 17:13:58.576 [debug] QUERY OK source="sources" db=0.2ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.577 [debug] QUERY OK source="media_items" db=0.5ms idle=4.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-11 12:00:33Z], 4] 17:13:58.579 [debug] QUERY OK source="media_items" db=1.6ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I discuss science-supported tools to improve sleep by supporting a healthy circadian rhythm using key behaviors and environmental cues. I explain specific morning, afternoon and evening behaviors that will increase daytime alertness and support deeper, more consistent sleep at night. I also cover sleep supplements, the effects of caffeine, alcohol and THC on sleep, as well as practical strategies for managing jet lag and shift work.\n\nShow notes: https://go.hubermanlab.com/N7lcgfs\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Sleep Toolkit\n00:00:21 Optimal Cortisol Rhythms, Tool: View Morning Sunlight\n00:03:44 Morning Sunlight Guide, Artificial Light, Cloudy Days\n00:08:04 Morning & Body Temperature, Tools: Deliberate Cold Exposure, Exercise\n00:10:20 Morning: Caffeine Timing\n00:12:04 Morning: Meal Timing & Alertness\n00:14:19 Circadian Clock; 3 Daily Critical Periods\n00:15:52 Afternoon: Caffeine, Naps, Exercise\n00:18:16 Tool: Late Afternoon/Evening Sunlight\n00:20:24 Evening Tools: Artificial Lights; Hot Tub/Sauna, Bedroom Temperature\n00:24:03 Alcohol, THC & Effects on Sleep\n00:25:02 Sleep Supplements: Magnesium Threonate, Apigenin & Theanine\n00:28:24 Caution for Melatonin Supplementation\n00:29:04 Weekends, Tool: Consistent Sleep Schedule\n00:29:51 Jet Lag, Tool: Temperature Minimum\n00:33:32 Shift Work, Tool: Red Light\n00:34:21 Recap\n\n#hubermanlab #science #health #sleep\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Sleep Toolkit for Optimizing Sleep & Sleep-Wake Timing", "6417a439-871b-4d60-8aad-360270919c87", 2099, false, "RTgJSQtvo88", "https://www.youtube.com/watch?v=RTgJSQtvo88", 14, "/downloads/Andrew Huberman/2026-06-11 Essentials: Sleep Toolkit for Optimizing Sleep & Sleep-Wake Timing/Essentials: Sleep Toolkit for Optimizing Sleep & Sleep-Wake Timing [RTgJSQtvo88].mp4", false, false, false, 4, [], 1, ~U[2026-06-11 12:00:33Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I discuss science-supported tools to improve sleep by supporting a healthy circadian rhythm using key behaviors and environmental cues. I explain specific morning, afternoon and evening behaviors that will increase daytime alertness and support deeper, more consistent sleep at night. I also cover sleep supplements, the effects of caffeine, alcohol and THC on sleep, as well as practical strategies for managing jet lag and shift work.\n\nShow notes: https://go.hubermanlab.com/N7lcgfs\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Sleep Toolkit\n00:00:21 Optimal Cortisol Rhythms, Tool: View Morning Sunlight\n00:03:44 Morning Sunlight Guide, Artificial Light, Cloudy Days\n00:08:04 Morning & Body Temperature, Tools: Deliberate Cold Exposure, Exercise\n00:10:20 Morning: Caffeine Timing\n00:12:04 Morning: Meal Timing & Alertness\n00:14:19 Circadian Clock; 3 Daily Critical Periods\n00:15:52 Afternoon: Caffeine, Naps, Exercise\n00:18:16 Tool: Late Afternoon/Evening Sunlight\n00:20:24 Evening Tools: Artificial Lights; Hot Tub/Sauna, Bedroom Temperature\n00:24:03 Alcohol, THC & Effects on Sleep\n00:25:02 Sleep Supplements: Magnesium Threonate, Apigenin & Theanine\n00:28:24 Caution for Melatonin Supplementation\n00:29:04 Weekends, Tool: Consistent Sleep Schedule\n00:29:51 Jet Lag, Tool: Temperature Minimum\n00:33:32 Shift Work, Tool: Red Light\n00:34:21 Recap\n\n#hubermanlab #science #health #sleep\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Sleep Toolkit for Optimizing Sleep & Sleep-Wake Timing", 2099, false, "RTgJSQtvo88", "https://www.youtube.com/watch?v=RTgJSQtvo88", "/downloads/Andrew Huberman/2026-06-11 Essentials: Sleep Toolkit for Optimizing Sleep & Sleep-Wake Timing/Essentials: Sleep Toolkit for Optimizing Sleep & Sleep-Wake Timing [RTgJSQtvo88].mp4", false, 4, ~U[2026-06-11 12:00:33Z]] 17:13:58.580 [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" = ?) [4] 17:13:58.581 [debug] QUERY OK source="media_items" db=0.4ms idle=4.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-04 12:00:17Z], 4] 17:13:58.583 [debug] QUERY OK source="media_items" db=1.5ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n _In loving memory of Nolan Williams (1982-2025):_ \u2060\u2060https://stan.md/3Qle2zp\u2060\u2060\n\nIn this Huberman Lab Essentials episode, my guest is Dr. Nolan Williams, MD, a triple board-certified psychiatrist and neurologist. We discuss cutting-edge treatments for depression and post-traumatic stress disorder (PTSD), including transcranial magnetic stimulation, neuromodulation, and psychedelic-assisted therapies. We also discuss the neurobiology and therapeutic potential of specific psychedelic compounds, including psilocybin, MDMA, ibogaine, and ayahuasca.\n\nShow notes: https://go.hubermanlab.com/KWwu7p6\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Nolan Williams\n00:00:26 Depression\n00:02:51 Heart & Mind Connection, Transcranial Magnetic Stimulation (TMS)\n00:05:21 TMS for Depression\n00:07:52 SSRIs & Chemical imbalance, TMS, Psychedelics\n00:13:51 Psilocybin, MDMA, Trauma\n00:16:48 MDMA Clinical Trials & PTSD; Psilocybin & Depression\n00:18:46 Psilocybin, Brain Connectivity & Depression\n00:21:07 Ibogaine, Empathy; Psychedelic Breakthrough & Risk\n00:27:44 Ayahuasca, Behavior Change, Prisoners\n00:31:54 Stanford Accelerated Intelligent Neuromodulation Therapy (SAINT)\n00:35:56 Acknowledgements\n\n#hubermanlab #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Psychedelics & Neurostimulation for Brain Rewiring | Dr. Nolan Williams", "75706262-6759-4955-9b28-c0e1b48761a2", 2204, false, "GkG1hMhIQ_Q", "https://www.youtube.com/watch?v=GkG1hMhIQ_Q", 15, "/downloads/Andrew Huberman/2026-06-04 Essentials: Psychedelics & Neurostimulation for Brain Rewiring | Dr. Nolan Williams/Essentials: Psychedelics & Neurostimulation for Brain Rewiring | Dr. Nolan Williams [GkG1hMhIQ_Q].mp4", false, false, false, 4, [], 1, ~U[2026-06-04 12:00:17Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n _In loving memory of Nolan Williams (1982-2025):_ \u2060\u2060https://stan.md/3Qle2zp\u2060\u2060\n\nIn this Huberman Lab Essentials episode, my guest is Dr. Nolan Williams, MD, a triple board-certified psychiatrist and neurologist. We discuss cutting-edge treatments for depression and post-traumatic stress disorder (PTSD), including transcranial magnetic stimulation, neuromodulation, and psychedelic-assisted therapies. We also discuss the neurobiology and therapeutic potential of specific psychedelic compounds, including psilocybin, MDMA, ibogaine, and ayahuasca.\n\nShow notes: https://go.hubermanlab.com/KWwu7p6\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Nolan Williams\n00:00:26 Depression\n00:02:51 Heart & Mind Connection, Transcranial Magnetic Stimulation (TMS)\n00:05:21 TMS for Depression\n00:07:52 SSRIs & Chemical imbalance, TMS, Psychedelics\n00:13:51 Psilocybin, MDMA, Trauma\n00:16:48 MDMA Clinical Trials & PTSD; Psilocybin & Depression\n00:18:46 Psilocybin, Brain Connectivity & Depression\n00:21:07 Ibogaine, Empathy; Psychedelic Breakthrough & Risk\n00:27:44 Ayahuasca, Behavior Change, Prisoners\n00:31:54 Stanford Accelerated Intelligent Neuromodulation Therapy (SAINT)\n00:35:56 Acknowledgements\n\n#hubermanlab #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Psychedelics & Neurostimulation for Brain Rewiring | Dr. Nolan Williams", 2204, false, "GkG1hMhIQ_Q", "https://www.youtube.com/watch?v=GkG1hMhIQ_Q", "/downloads/Andrew Huberman/2026-06-04 Essentials: Psychedelics & Neurostimulation for Brain Rewiring | Dr. Nolan Williams/Essentials: Psychedelics & Neurostimulation for Brain Rewiring | Dr. Nolan Williams [GkG1hMhIQ_Q].mp4", false, 4, ~U[2026-06-04 12:00:17Z]] 17:13:58.584 [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" = ?) [4] 17:13:58.585 [debug] QUERY OK source="media_items" db=1.2ms idle=4.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-28 12:00:26Z], 4] 17:13:58.589 [debug] QUERY OK source="media_items" db=2.6ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the neuroscience of grief, including how the brain maps relationships across three dimensions — space, time, and closeness — and why losing someone requires a remapping of those neural circuits. I describe how grief differs from depression, the role of oxytocin in driving yearning after a loss, and why people move through grief at different rates. I also discuss science-based tools for grieving adaptively, including how to access feelings of attachment while decoupling them from episodic memory. Finally, I explain how foundational biology — particularly sleep and cortisol rhythms — shapes our capacity to navigate the grieving process.\n\nShow notes: https://go.hubermanlab.com/RtAnILi\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Grief\n00:01:47 Myths of Grief, Kubler-Ross & fMRI\n00:03:56 Brain Mapping Experiment, Proximity\n00:07:05 Inferior Parietal Lobule; Space, Time & Closeness\n00:09:20 Episodic Memory & Remapping After Loss\n00:13:41 Tool: Dedicated Time, Counterfactual Thinking & Guilt\n00:15:30 Oxytocin & Individual Differences in Grief\n00:16:30 Prairie Voles, Monogamy & Nucleus Accumbens\n00:21:58 Vagal Tone, Emotional Disclosure & Bereavement Writing Study\n00:26:51 Cortisol Rhythms, Complicated Grief & Sunlight\n00:30:57 Rational Grieving, Neuroplasticity & NSDR\n\n#hubermanlab #science #health #grief \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science & Process of Healing from Grief | Huberman Lab Essentials", "3312bad9-26e4-4d27-bd83-eb1e766ec82f", 2111, false, "PlQyGIIAGNo", "https://www.youtube.com/watch?v=PlQyGIIAGNo", 16, "/downloads/Andrew Huberman/2026-05-28 The Science & Process of Healing from Grief | Huberman Lab Essentials/The Science & Process of Healing from Grief | Huberman Lab Essentials [PlQyGIIAGNo].mp4", false, false, false, 4, [], 1, ~U[2026-05-28 12:00:26Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the neuroscience of grief, including how the brain maps relationships across three dimensions — space, time, and closeness — and why losing someone requires a remapping of those neural circuits. I describe how grief differs from depression, the role of oxytocin in driving yearning after a loss, and why people move through grief at different rates. I also discuss science-based tools for grieving adaptively, including how to access feelings of attachment while decoupling them from episodic memory. Finally, I explain how foundational biology — particularly sleep and cortisol rhythms — shapes our capacity to navigate the grieving process.\n\nShow notes: https://go.hubermanlab.com/RtAnILi\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Grief\n00:01:47 Myths of Grief, Kubler-Ross & fMRI\n00:03:56 Brain Mapping Experiment, Proximity\n00:07:05 Inferior Parietal Lobule; Space, Time & Closeness\n00:09:20 Episodic Memory & Remapping After Loss\n00:13:41 Tool: Dedicated Time, Counterfactual Thinking & Guilt\n00:15:30 Oxytocin & Individual Differences in Grief\n00:16:30 Prairie Voles, Monogamy & Nucleus Accumbens\n00:21:58 Vagal Tone, Emotional Disclosure & Bereavement Writing Study\n00:26:51 Cortisol Rhythms, Complicated Grief & Sunlight\n00:30:57 Rational Grieving, Neuroplasticity & NSDR\n\n#hubermanlab #science #health #grief \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science & Process of Healing from Grief | Huberman Lab Essentials", 2111, false, "PlQyGIIAGNo", "https://www.youtube.com/watch?v=PlQyGIIAGNo", "/downloads/Andrew Huberman/2026-05-28 The Science & Process of Healing from Grief | Huberman Lab Essentials/The Science & Process of Healing from Grief | Huberman Lab Essentials [PlQyGIIAGNo].mp4", false, 4, ~U[2026-05-28 12:00:26Z]] 17:13:58.590 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [4] 17:13:58.591 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=7.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-21 12:00:25Z], 4] 17:13:58.594 [debug] QUERY OK source="media_items" db=2.0ms idle=7.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Eddie Chang, MD, a neurosurgeon and Chair of the Department of Neurological Surgery at the University of California, San Francisco (UCSF). We discuss the neural circuits underlying speech and language, including how the brain controls the larynx, vocal folds and articulators to shape breath into words. We also explore his pioneering work on speech neural prosthetics — brain-machine interfaces that allow paralyzed patients to communicate by decoding neural activity into speech and avatar-driven facial expressions. Additionally, we examine the neurobiology of stuttering, the role of auditory feedback in fluent speech, and the broader ethical questions surrounding brain augmentation technologies.\n\nShow notes: https://go.hubermanlab.com/b0qQsyP\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Eddie Chang\nLab: https://changlab.ucsf.edu\nUCSF academic profile: https://profiles.ucsf.edu/edward.chang\nUCSF clinical profile: https://www.ucsfhealth.org/providers/dr-edward-chang\nLinkedIn: https://www.linkedin.com/in/edward-chang-384746132\n\nTimestamps\n00:00:00 Speech & Language\n00:00:23 Speech vs Language, Pragmatics, Semantics & Syntax\n00:03:11 Larynx, Vocal Folds & Shaping the Breath\n00:05:35 Crying & Laughter, Vocalizations vs Speech\n00:06:37 Paralysis, Brainstem Stroke, ALS & Locked-In Syndrome\n00:09:14 BRAVO Trial, Pancho & First Patient\n00:11:07 Brain Surgery, Electrode Array & Decoding Speech\n00:12:53 AI, 50-Word Vocabulary & Autocorrect\n00:14:27 Neuralink, Brain-Machine Interfaces & Augmentation Ethics\n00:19:23 Avatars, Facial Expressions & Non-Verbal Communication\n00:22:50 Stuttering, Anxiety & Speech vs Language\n00:26:02 Tool: Stuttering Therapy & Auditory Feedback\n00:27:34 Recap & Acknowledgments\n\n#hubermanlab #health #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Science of Learning & Speaking Languages | Dr. Eddie Chang", "0ae5b0e1-bd00-4f8d-8983-89351d3f50f4", 1713, false, "MOPqSEK6GvA", "https://www.youtube.com/watch?v=MOPqSEK6GvA", 17, "/downloads/Andrew Huberman/2026-05-21 Essentials: The Science of Learning & Speaking Languages | Dr. Eddie Chang/Essentials: The Science of Learning & Speaking Languages | Dr. Eddie Chang [MOPqSEK6GvA].mp4", false, false, false, 4, [], 1, ~U[2026-05-21 12:00:25Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Eddie Chang, MD, a neurosurgeon and Chair of the Department of Neurological Surgery at the University of California, San Francisco (UCSF). We discuss the neural circuits underlying speech and language, including how the brain controls the larynx, vocal folds and articulators to shape breath into words. We also explore his pioneering work on speech neural prosthetics — brain-machine interfaces that allow paralyzed patients to communicate by decoding neural activity into speech and avatar-driven facial expressions. Additionally, we examine the neurobiology of stuttering, the role of auditory feedback in fluent speech, and the broader ethical questions surrounding brain augmentation technologies.\n\nShow notes: https://go.hubermanlab.com/b0qQsyP\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nFollow Huberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Eddie Chang\nLab: https://changlab.ucsf.edu\nUCSF academic profile: https://profiles.ucsf.edu/edward.chang\nUCSF clinical profile: https://www.ucsfhealth.org/providers/dr-edward-chang\nLinkedIn: https://www.linkedin.com/in/edward-chang-384746132\n\nTimestamps\n00:00:00 Speech & Language\n00:00:23 Speech vs Language, Pragmatics, Semantics & Syntax\n00:03:11 Larynx, Vocal Folds & Shaping the Breath\n00:05:35 Crying & Laughter, Vocalizations vs Speech\n00:06:37 Paralysis, Brainstem Stroke, ALS & Locked-In Syndrome\n00:09:14 BRAVO Trial, Pancho & First Patient\n00:11:07 Brain Surgery, Electrode Array & Decoding Speech\n00:12:53 AI, 50-Word Vocabulary & Autocorrect\n00:14:27 Neuralink, Brain-Machine Interfaces & Augmentation Ethics\n00:19:23 Avatars, Facial Expressions & Non-Verbal Communication\n00:22:50 Stuttering, Anxiety & Speech vs Language\n00:26:02 Tool: Stuttering Therapy & Auditory Feedback\n00:27:34 Recap & Acknowledgments\n\n#hubermanlab #health #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Science of Learning & Speaking Languages | Dr. Eddie Chang", 1713, false, "MOPqSEK6GvA", "https://www.youtube.com/watch?v=MOPqSEK6GvA", "/downloads/Andrew Huberman/2026-05-21 Essentials: The Science of Learning & Speaking Languages | Dr. Eddie Chang/Essentials: The Science of Learning & Speaking Languages | Dr. Eddie Chang [MOPqSEK6GvA].mp4", false, 4, ~U[2026-05-21 12:00:25Z]] 17:13:58.595 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [4] 17:13:58.597 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=7.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-14 12:00:14Z], 4] 17:13:58.600 [debug] QUERY OK source="media_items" db=1.9ms idle=7.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the neural circuits that activate and control aggressive states and behaviors. I discuss how hormones, genes and environmental factors such as day length can shift our aggressive tendencies. I also share science-based tools for modulating aggression, including sunlight exposure, heat therapy and supplementation with ashwagandha or acetyl-L-carnitine.\n\nShow notes: https://go.hubermanlab.com/0nF54O3\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Aggression, Types of Aggression\n00:01:43 Context, Aggression vs Sadness\n00:03:11 Hydraulic Pressure Model of Aggression\n00:06:40 Brain Areas for Aggression, Ventromedial Hypothalamus\n00:13:53 Biting, Neural Circuits of Physical Aggression\n00:16:19 Estrogen & Aggression, Testosterone & Competitiveness\n00:19:47 Seasonality, Sunlight, Melatonin & Aggression\n00:22:00 Cortisol, Serotonin & Aggression\n00:23:45 Tool: Reduce Cortisol with Sunlight & Sauna; Ashwagandha \n00:27:49 Irritability, Aggression & Genetics; Seasonality\n00:30:39 Tool: ADHD, Acetyl-L Carnitine & Aggressive Behavior\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Understanding & Controlling Aggression | Huberman Lab Essentials", "ad3a5036-87c1-4a7a-8af2-0c43c003e711", 1999, false, "916vhhUsmgE", "https://www.youtube.com/watch?v=916vhhUsmgE", 18, "/downloads/Andrew Huberman/2026-05-14 Understanding & Controlling Aggression | Huberman Lab Essentials/Understanding & Controlling Aggression | Huberman Lab Essentials [916vhhUsmgE].mp4", false, false, false, 4, [], 1, ~U[2026-05-14 12:00:14Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the neural circuits that activate and control aggressive states and behaviors. I discuss how hormones, genes and environmental factors such as day length can shift our aggressive tendencies. I also share science-based tools for modulating aggression, including sunlight exposure, heat therapy and supplementation with ashwagandha or acetyl-L-carnitine.\n\nShow notes: https://go.hubermanlab.com/0nF54O3\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Aggression, Types of Aggression\n00:01:43 Context, Aggression vs Sadness\n00:03:11 Hydraulic Pressure Model of Aggression\n00:06:40 Brain Areas for Aggression, Ventromedial Hypothalamus\n00:13:53 Biting, Neural Circuits of Physical Aggression\n00:16:19 Estrogen & Aggression, Testosterone & Competitiveness\n00:19:47 Seasonality, Sunlight, Melatonin & Aggression\n00:22:00 Cortisol, Serotonin & Aggression\n00:23:45 Tool: Reduce Cortisol with Sunlight & Sauna; Ashwagandha \n00:27:49 Irritability, Aggression & Genetics; Seasonality\n00:30:39 Tool: ADHD, Acetyl-L Carnitine & Aggressive Behavior\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Understanding & Controlling Aggression | Huberman Lab Essentials", 1999, false, "916vhhUsmgE", "https://www.youtube.com/watch?v=916vhhUsmgE", "/downloads/Andrew Huberman/2026-05-14 Understanding & Controlling Aggression | Huberman Lab Essentials/Understanding & Controlling Aggression | Huberman Lab Essentials [916vhhUsmgE].mp4", false, 4, ~U[2026-05-14 12:00:14Z]] 17:13:58.602 [debug] QUERY OK source="sources" db=2.0ms 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" = ?) [4] 17:13:58.604 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=8.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-07 12:00:01Z], 4] 17:13:58.607 [debug] QUERY OK source="media_items" db=2.0ms idle=8.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Casey Halpern, MD, a professor of neurosurgery at the Perelman School of Medicine at the University of Pennsylvania. We discuss how deep brain stimulation and other neuromodulation approaches are being used to treat Parkinson's disease, obsessive-compulsive disorder (OCD), binge eating disorder and depression-related symptoms. We also explore the brain circuits that drive compulsions, cravings and impulsivity, as well as emerging non-invasive tools for predicting and treating harmful behaviors.\n\nShow notes: https://go.hubermanlab.com/QTgU0Jx\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Casey Halpern\nPenn Medicine Profile: https://www.pennmedicine.org/providers/profile/casey-halpern \nX: https://x.com/halpernc \nLinkedIn: https://www.linkedin.com/in/casey-halpern-a1569749 \n\nTimestamps\n00:00:00 Casey Halpern\n00:00:20 Neurosurgery, Deep Brain Stimulation\n00:04:19 Obsessive-Compulsive Disorder (OCD) & Treatments\n00:10:11 OCD Brain Areas, Addiction\n00:12:34 Nucleus Accumbens, Risk & Rewards; Binge Eating Disorder\n00:16:50 Non-Invasive Brain Stimulation, Transcranial Magnetic Stimulation \n00:24:33 Awareness of Cravings, Severe Binge Eating Disorder\n 00:28:38 Artificial Intelligence/Machine Learning & Predicting Impulsive Behavior\n00:32:44 Acknowledgements\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Compulsive Behaviors & Deep Brain Stimulation | Dr. Casey Halpern", "5e07f525-7f16-40d3-8174-bffb8f80fef8", 2019, false, "aKDzF_fMMrc", "https://www.youtube.com/watch?v=aKDzF_fMMrc", 19, "/downloads/Andrew Huberman/2026-05-07 Essentials: Compulsive Behaviors & Deep Brain Stimulation | Dr. Casey Halpern/Essentials: Compulsive Behaviors & Deep Brain Stimulation | Dr. Casey Halpern [aKDzF_fMMrc].mp4", false, false, false, 4, [], 1, ~U[2026-05-07 12:00:01Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Casey Halpern, MD, a professor of neurosurgery at the Perelman School of Medicine at the University of Pennsylvania. We discuss how deep brain stimulation and other neuromodulation approaches are being used to treat Parkinson's disease, obsessive-compulsive disorder (OCD), binge eating disorder and depression-related symptoms. We also explore the brain circuits that drive compulsions, cravings and impulsivity, as well as emerging non-invasive tools for predicting and treating harmful behaviors.\n\nShow notes: https://go.hubermanlab.com/QTgU0Jx\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Casey Halpern\nPenn Medicine Profile: https://www.pennmedicine.org/providers/profile/casey-halpern \nX: https://x.com/halpernc \nLinkedIn: https://www.linkedin.com/in/casey-halpern-a1569749 \n\nTimestamps\n00:00:00 Casey Halpern\n00:00:20 Neurosurgery, Deep Brain Stimulation\n00:04:19 Obsessive-Compulsive Disorder (OCD) & Treatments\n00:10:11 OCD Brain Areas, Addiction\n00:12:34 Nucleus Accumbens, Risk & Rewards; Binge Eating Disorder\n00:16:50 Non-Invasive Brain Stimulation, Transcranial Magnetic Stimulation \n00:24:33 Awareness of Cravings, Severe Binge Eating Disorder\n 00:28:38 Artificial Intelligence/Machine Learning & Predicting Impulsive Behavior\n00:32:44 Acknowledgements\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Compulsive Behaviors & Deep Brain Stimulation | Dr. Casey Halpern", 2019, false, "aKDzF_fMMrc", "https://www.youtube.com/watch?v=aKDzF_fMMrc", "/downloads/Andrew Huberman/2026-05-07 Essentials: Compulsive Behaviors & Deep Brain Stimulation | Dr. Casey Halpern/Essentials: Compulsive Behaviors & Deep Brain Stimulation | Dr. Casey Halpern [aKDzF_fMMrc].mp4", false, 4, ~U[2026-05-07 12:00:01Z]] 17:13:58.607 [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" = ?) [4] 17:13:58.608 [debug] QUERY OK source="media_items" db=0.6ms idle=8.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-30 12:01:28Z], 4] 17:13:58.612 [debug] QUERY OK source="media_items" db=2.3ms idle=6.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how the body senses and uses sugar, and why understanding those mechanisms can help reduce sugar cravings. I discuss different types of sugar and how they are processed by pathways in the gut and the brain to shape appetite and the desire for specific foods. I also share many science-based tools to help curb sugar cravings and support healthy blood sugar regulation.\n\nShow notes: https://go.hubermanlab.com/VAHQhla\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Sugar\n00:00:37 Hunger, Hormones & Blood Glucose\n00:03:03 Fructose vs Glucose, Controlling Hunger\n00:06:30 Brain Circuits: Sweet Taste & Nutritive Pathways\n00:09:27 Sweet Taste & Dopamine\n00:11:58 Gut & Blood Glucose; Tool: Sugar Cravings & Hidden Sugars\n00:14:20 Glycemic Index, Tool: Food Choices, Fiber & Sugar Intake\n00:18:22 Glutamine Supplementation, Leaky Gut & Sugar Cravings\n00:20:44 Tools: Lemon Juice & Cinnamon to Blunt Blood Glucose\n00:25:05 Berberine & Potent Molecules to Regulate Blood Glucose\n00:26:47 Tool: Quality Sleep & Sugar Cravings\n\n#hubermanlab #health #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Control Sugar Cravings & Metabolism with Science-Based Tools | Huberman Lab Essentials", "911396f1-7110-443b-a0d7-55437a51ba0f", 1779, false, "qUUfucHC7tU", "https://www.youtube.com/watch?v=qUUfucHC7tU", 20, "/downloads/Andrew Huberman/2026-04-30 Control Sugar Cravings & Metabolism with Science-Based Tools | Huberman Lab Essentials/Control Sugar Cravings & Metabolism with Science-Based Tools | Huberman Lab Essentials [qUUfucHC7tU].mp4", false, false, false, 4, [], 1, ~U[2026-04-30 12:01:28Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how the body senses and uses sugar, and why understanding those mechanisms can help reduce sugar cravings. I discuss different types of sugar and how they are processed by pathways in the gut and the brain to shape appetite and the desire for specific foods. I also share many science-based tools to help curb sugar cravings and support healthy blood sugar regulation.\n\nShow notes: https://go.hubermanlab.com/VAHQhla\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Sugar\n00:00:37 Hunger, Hormones & Blood Glucose\n00:03:03 Fructose vs Glucose, Controlling Hunger\n00:06:30 Brain Circuits: Sweet Taste & Nutritive Pathways\n00:09:27 Sweet Taste & Dopamine\n00:11:58 Gut & Blood Glucose; Tool: Sugar Cravings & Hidden Sugars\n00:14:20 Glycemic Index, Tool: Food Choices, Fiber & Sugar Intake\n00:18:22 Glutamine Supplementation, Leaky Gut & Sugar Cravings\n00:20:44 Tools: Lemon Juice & Cinnamon to Blunt Blood Glucose\n00:25:05 Berberine & Potent Molecules to Regulate Blood Glucose\n00:26:47 Tool: Quality Sleep & Sugar Cravings\n\n#hubermanlab #health #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Control Sugar Cravings & Metabolism with Science-Based Tools | Huberman Lab Essentials", 1779, false, "qUUfucHC7tU", "https://www.youtube.com/watch?v=qUUfucHC7tU", "/downloads/Andrew Huberman/2026-04-30 Control Sugar Cravings & Metabolism with Science-Based Tools | Huberman Lab Essentials/Control Sugar Cravings & Metabolism with Science-Based Tools | Huberman Lab Essentials [qUUfucHC7tU].mp4", false, 4, ~U[2026-04-30 12:01:28Z]] 17:13:58.612 [debug] QUERY OK source="sources" db=0.3ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.654 [debug] QUERY OK source="media_items" db=0.6ms idle=46.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-23 12:00:06Z], 4] 17:13:58.656 [debug] QUERY OK source="media_items" db=1.8ms idle=46.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Erich Jarvis, PhD, a professor and Head of the Laboratory of Neurogenetics of Language at Rockefeller University and an investigator at the Howard Hughes Medical Institute (HHMI). We discuss the brain circuits and genes underlying spoken language and why the ability to learn and produce vocalizations is extraordinarily rare in the animal kingdom. We also explore why song likely evolved before language, how gesture and movement share deep neural roots with speech, the neurobiology of stuttering, why childhood is the optimal window for language acquisition, and how physical movement — including dance — may help preserve speech and cognitive function across a lifetime.\n\nShow notes: https://go.hubermanlab.com/C1XC6tO\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Erich Jarvis\nDr. Erick Jarvis' Lab: https://www.jarvislab.net \nRockefeller University: https://www.rockefeller.edu/our-scientists/heads-of-laboratories/1159-erich-d-jarvis\nGoogle Scholar: https://scholar.google.com/citations?user=cI-fi9MAAAAJ\nX: https://x.com/erichjarvis\nInstagram: https://www.instagram.com/erich_d_jarvis\nLinkedIn: https://www.linkedin.com/in/erich-jarvis-ba73624\n\nTimestamps\n00:00:00 Speech & Language\n00:00:23 Speech vs. Language; Brain Pathways\n00:02:07 Gesture, Movement & Language Evolution\n00:04:31 Emotion, Innate Sounds & Vocal Learning\n00:06:50 Evolution of Spoken Language\n00:07:04 Neanderthals & the Origins of Human Language\n00:08:17 Songbird & Human Speech Circuits Compared\n00:09:08 Critical Periods & Vocal Learning in Birds\n00:10:55 Convergent Evolution; Genes & Speech Circuits\n00:13:20 Innate Predisposition to Learn; Birdsong Dialects\n00:15:39 Pidgin Language & Cultural-Genetic Evolution\n00:17:46 Genes Controlling Speech Pathways\n00:20:30 Critical Periods & Multilingualism\n00:22:41 Music, Emotion & Semantic vs. Affective Communication\n00:25:38 Facial Expression & Speech Circuits\n00:27:28 Written Language & Neural Circuitry\n00:28:53 Stuttering; Basal Ganglia & Neurogenesis\n00:31:09 Texting, Technology & Language Change\n00:32:42 Tool: Movement, Dance & Cognitive Health\n00:34:49 Recap\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Neuroscience of Speech, Language & Music | Dr. Erich Jarvis", "97b8566d-8f72-4fed-86e3-175f0474f75c", 2128, false, "3bnLgOxHMB8", "https://www.youtube.com/watch?v=3bnLgOxHMB8", 21, "/downloads/Andrew Huberman/2026-04-23 Essentials: The Neuroscience of Speech, Language & Music | Dr. Erich Jarvis/Essentials: The Neuroscience of Speech, Language & Music | Dr. Erich Jarvis [3bnLgOxHMB8].mp4", false, false, false, 4, [], 1, ~U[2026-04-23 12:00:06Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Erich Jarvis, PhD, a professor and Head of the Laboratory of Neurogenetics of Language at Rockefeller University and an investigator at the Howard Hughes Medical Institute (HHMI). We discuss the brain circuits and genes underlying spoken language and why the ability to learn and produce vocalizations is extraordinarily rare in the animal kingdom. We also explore why song likely evolved before language, how gesture and movement share deep neural roots with speech, the neurobiology of stuttering, why childhood is the optimal window for language acquisition, and how physical movement — including dance — may help preserve speech and cognitive function across a lifetime.\n\nShow notes: https://go.hubermanlab.com/C1XC6tO\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Erich Jarvis\nDr. Erick Jarvis' Lab: https://www.jarvislab.net \nRockefeller University: https://www.rockefeller.edu/our-scientists/heads-of-laboratories/1159-erich-d-jarvis\nGoogle Scholar: https://scholar.google.com/citations?user=cI-fi9MAAAAJ\nX: https://x.com/erichjarvis\nInstagram: https://www.instagram.com/erich_d_jarvis\nLinkedIn: https://www.linkedin.com/in/erich-jarvis-ba73624\n\nTimestamps\n00:00:00 Speech & Language\n00:00:23 Speech vs. Language; Brain Pathways\n00:02:07 Gesture, Movement & Language Evolution\n00:04:31 Emotion, Innate Sounds & Vocal Learning\n00:06:50 Evolution of Spoken Language\n00:07:04 Neanderthals & the Origins of Human Language\n00:08:17 Songbird & Human Speech Circuits Compared\n00:09:08 Critical Periods & Vocal Learning in Birds\n00:10:55 Convergent Evolution; Genes & Speech Circuits\n00:13:20 Innate Predisposition to Learn; Birdsong Dialects\n00:15:39 Pidgin Language & Cultural-Genetic Evolution\n00:17:46 Genes Controlling Speech Pathways\n00:20:30 Critical Periods & Multilingualism\n00:22:41 Music, Emotion & Semantic vs. Affective Communication\n00:25:38 Facial Expression & Speech Circuits\n00:27:28 Written Language & Neural Circuitry\n00:28:53 Stuttering; Basal Ganglia & Neurogenesis\n00:31:09 Texting, Technology & Language Change\n00:32:42 Tool: Movement, Dance & Cognitive Health\n00:34:49 Recap\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Neuroscience of Speech, Language & Music | Dr. Erich Jarvis", 2128, false, "3bnLgOxHMB8", "https://www.youtube.com/watch?v=3bnLgOxHMB8", "/downloads/Andrew Huberman/2026-04-23 Essentials: The Neuroscience of Speech, Language & Music | Dr. Erich Jarvis/Essentials: The Neuroscience of Speech, Language & Music | Dr. Erich Jarvis [3bnLgOxHMB8].mp4", false, 4, ~U[2026-04-23 12:00:06Z]] 17:13:58.657 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.658 [debug] QUERY OK source="media_items" db=0.5ms idle=46.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-16 12:00:52Z], 4] 17:13:58.660 [debug] QUERY OK source="media_items" db=1.3ms idle=45.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how memories are formed and how key neurochemicals, such as adrenaline, can be leveraged to enhance memory formation. I also share science-based protocols to enhance learning, strengthen memory recall and reduce the number of repetitions needed to retain new information. In addition, I discuss how exercise supports cognitive function and memory and explore unique memory phenomena such as déjà vu.\n\nShow notes: https://go.hubermanlab.com/kCtk1Nj\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Memory\n00:00:21 Sensory Stimuli & Memory Bias\n00:01:54 Associations & Memory; Tool: Repetition\n00:04:26 Stress, Adrenaline & Strengthening Memories\n00:09:51 Caffeine & Stimulants, Tool: Timing to Enhance Learning & Memory\n00:13:20 Tool: Naps & Sleep for Learning & Memory; Increase Adrenaline, Chronic Stress\n00:19:13 Adrenaline Boosts Memory: Centuries-Old Practice\n00:21:20 Tool: Cardiovascular Exercise & Brain Health, Neurogenesis\n00:23:29 Exercise, Osteocalcin, Hippocampus & Memory\n00:26:55 Tool: Photographs, Mental Snapshots & Improved Memory\n00:29:54 Déjà Vu\n00:32:08 Tool: Brief Mediation Practice to Enhance Memory\n00:34:24 Recap\n\n#hubermanlab #memory #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Understand & Improve Memory Using Science-Based Tools | Huberman Lab Essentials", "b0d45cea-5317-4683-a101-330667dfcef6", 2150, false, "U6dnOVth7-I", "https://www.youtube.com/watch?v=U6dnOVth7-I", 22, "/downloads/Andrew Huberman/2026-04-16 Understand & Improve Memory Using Science-Based Tools | Huberman Lab Essentials/Understand & Improve Memory Using Science-Based Tools | Huberman Lab Essentials [U6dnOVth7-I].mp4", false, false, false, 4, [], 1, ~U[2026-04-16 12:00:52Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how memories are formed and how key neurochemicals, such as adrenaline, can be leveraged to enhance memory formation. I also share science-based protocols to enhance learning, strengthen memory recall and reduce the number of repetitions needed to retain new information. In addition, I discuss how exercise supports cognitive function and memory and explore unique memory phenomena such as déjà vu.\n\nShow notes: https://go.hubermanlab.com/kCtk1Nj\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Memory\n00:00:21 Sensory Stimuli & Memory Bias\n00:01:54 Associations & Memory; Tool: Repetition\n00:04:26 Stress, Adrenaline & Strengthening Memories\n00:09:51 Caffeine & Stimulants, Tool: Timing to Enhance Learning & Memory\n00:13:20 Tool: Naps & Sleep for Learning & Memory; Increase Adrenaline, Chronic Stress\n00:19:13 Adrenaline Boosts Memory: Centuries-Old Practice\n00:21:20 Tool: Cardiovascular Exercise & Brain Health, Neurogenesis\n00:23:29 Exercise, Osteocalcin, Hippocampus & Memory\n00:26:55 Tool: Photographs, Mental Snapshots & Improved Memory\n00:29:54 Déjà Vu\n00:32:08 Tool: Brief Mediation Practice to Enhance Memory\n00:34:24 Recap\n\n#hubermanlab #memory #science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Understand & Improve Memory Using Science-Based Tools | Huberman Lab Essentials", 2150, false, "U6dnOVth7-I", "https://www.youtube.com/watch?v=U6dnOVth7-I", "/downloads/Andrew Huberman/2026-04-16 Understand & Improve Memory Using Science-Based Tools | Huberman Lab Essentials/Understand & Improve Memory Using Science-Based Tools | Huberman Lab Essentials [U6dnOVth7-I].mp4", false, 4, ~U[2026-04-16 12:00:52Z]] 17:13:58.661 [debug] QUERY OK source="sources" db=0.2ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.661 [debug] QUERY OK source="media_items" db=0.4ms idle=4.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-09 12:01:51Z], 4] 17:13:58.664 [debug] QUERY OK source="media_items" db=1.7ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Anderson, PhD, a professor of biology at the California Institute of Technology (Caltech) and an investigator at the Howard Hughes Medical Institute (HHMI). We discuss the brain circuits that underlie how emotions emerge and shape behaviors, including the neural control of fear, aggression and pain. We also explore how hormones and neuromodulators influence these emotional states, and why understanding these hidden internal processes is essential for improving future mental health treatments.\n\nShow notes: https://go.hubermanlab.com/blBjp0e\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. David Anderson\nCaltech academic profile: https://davidandersonlab.caltech.edu/people/professor-david-j-anderson\nThe Nature of the Beast (book): https://amzn.to/3qsrdOH\nLab website: https://davidandersonlab.caltech.edu \nPublications: https://scholar.google.com/citations?user=C88XVPQAAAAJ\n\nTimestamps\n00:00:00 David Anderson\n00:00:20 Emotions vs States\n00:01:53 Emotion Qualities: Persistence & Generalization\n00:04:04 Aggression \n00:06:39 Evolution of Fear & Aggression, Offensive vs Defensive Aggression\n00:08:55 Homeostatic Behaviors & Hydraulic Pressure\n00:11:56 Testosterone, Estrogen & Aggression\n00:13:49 Female vs Male Aggression\n00:15:46 Mating Behavior & Aggression; Sexual Violence\n00:19:21 Periaqueductal Gray, Pain Control & Fighting\n00:23:36 Tachykinin, Pain, Social Isolation & Aggression\n00:28:08 Emotions & Somatic Feeling; Vagus Nerve\n00:32:48 Acknowledgements & Future Direction\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Biology of Aggression, Mating & Arousal | Dr. David Anderson", "a8ba9513-78fc-40c4-840e-86bfb795492f", 2048, false, "xZ4I2aE8zQA", "https://www.youtube.com/watch?v=xZ4I2aE8zQA", 23, "/downloads/Andrew Huberman/2026-04-09 Essentials: The Biology of Aggression, Mating & Arousal | Dr. David Anderson/Essentials: The Biology of Aggression, Mating & Arousal | Dr. David Anderson [xZ4I2aE8zQA].mp4", false, false, false, 4, [], 1, ~U[2026-04-09 12:01:51Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Anderson, PhD, a professor of biology at the California Institute of Technology (Caltech) and an investigator at the Howard Hughes Medical Institute (HHMI). We discuss the brain circuits that underlie how emotions emerge and shape behaviors, including the neural control of fear, aggression and pain. We also explore how hormones and neuromodulators influence these emotional states, and why understanding these hidden internal processes is essential for improving future mental health treatments.\n\nShow notes: https://go.hubermanlab.com/blBjp0e\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. David Anderson\nCaltech academic profile: https://davidandersonlab.caltech.edu/people/professor-david-j-anderson\nThe Nature of the Beast (book): https://amzn.to/3qsrdOH\nLab website: https://davidandersonlab.caltech.edu \nPublications: https://scholar.google.com/citations?user=C88XVPQAAAAJ\n\nTimestamps\n00:00:00 David Anderson\n00:00:20 Emotions vs States\n00:01:53 Emotion Qualities: Persistence & Generalization\n00:04:04 Aggression \n00:06:39 Evolution of Fear & Aggression, Offensive vs Defensive Aggression\n00:08:55 Homeostatic Behaviors & Hydraulic Pressure\n00:11:56 Testosterone, Estrogen & Aggression\n00:13:49 Female vs Male Aggression\n00:15:46 Mating Behavior & Aggression; Sexual Violence\n00:19:21 Periaqueductal Gray, Pain Control & Fighting\n00:23:36 Tachykinin, Pain, Social Isolation & Aggression\n00:28:08 Emotions & Somatic Feeling; Vagus Nerve\n00:32:48 Acknowledgements & Future Direction\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Biology of Aggression, Mating & Arousal | Dr. David Anderson", 2048, false, "xZ4I2aE8zQA", "https://www.youtube.com/watch?v=xZ4I2aE8zQA", "/downloads/Andrew Huberman/2026-04-09 Essentials: The Biology of Aggression, Mating & Arousal | Dr. David Anderson/Essentials: The Biology of Aggression, Mating & Arousal | Dr. David Anderson [xZ4I2aE8zQA].mp4", false, 4, ~U[2026-04-09 12:01:51Z]] 17:13:58.665 [debug] QUERY OK source="sources" db=0.2ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.666 [debug] QUERY OK source="media_items" db=0.5ms idle=5.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-02 12:00:02Z], 4] 17:13:58.673 [debug] QUERY OK source="media_items" db=6.4ms idle=5.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Andy Galpin, PhD, Executive Director of the Human Performance Center at Parker University and an expert in building strength and muscle size (hypertrophy). We cover the core principles and protocols for building strength and muscle, including science-based guidance on reps, sets, frequency and rest intervals. We also discuss how breathing and mental focus can enhance training and how post-workout downregulation can speed recovery.\n\nShow notes: https://go.hubermanlab.com/y8QLDGd\n\nSubscribe to Perform with Dr. Andy Galpin: https://www.performpodcast.com/subscribe\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Andy Galpin\nX: https://x.com/DrAndyGalpin\nInstagram: https://www.instagram.com/drandygalpin\nYouTube: https://www.youtube.com/@drandygalpin\nWebsite: https://www.andygalpin.com\nPerform with Dr. Andy Galpin (podcast): https://www.performpodcast.com\n\n*Timestamps*\n00:00:00 Andy Galpin\n00:00:39 9 Exercise Adaptations; Progressive Overload\n00:03:53 Progressive Overload, One-Rep Max, Soreness, Tool: Modifiable Variables\n00:08:39 Full-Body Workout, Exercise Selection\n00:11:11 Training Intensity, Repetitions, Sets, Rest Intervals, Supersets\n00:14:51 Hypertrophy vs Strength Training Recovery\n00:17:06 Training Volume & Frequency for Hypertrophy\n00:18:59 Hypertrophy Rep Ranges, Frequency & Recovery; Cell Mechanisms\n00:22:31 Tool: 3 x 5 Protocol; Power vs Strength\n00:24:08 Mental Awareness in Training; Mind-Muscle Connection\n00:27:10 Activating Muscle Groups, Awareness, Tool: Eccentric Overload\n00:29:26 Tool: Resistance Training Breathing & Post-Training\n00:33:42 Acknowledgments\n\n#HubermanLab #Strength #Fitness\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Build Strength, Muscle Size & Endurance | Dr. Andy Galpin", "dae5b07d-97be-4f91-8c0e-f3f4eaacf9f4", 2066, false, "0VSOoMuStvg", "https://www.youtube.com/watch?v=0VSOoMuStvg", 24, "/downloads/Andrew Huberman/2026-04-02 Essentials: How to Build Strength, Muscle Size & Endurance | Dr. Andy Galpin/Essentials: How to Build Strength, Muscle Size & Endurance | Dr. Andy Galpin [0VSOoMuStvg].mp4", false, false, false, 4, [], 1, ~U[2026-04-02 12:00:02Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Andy Galpin, PhD, Executive Director of the Human Performance Center at Parker University and an expert in building strength and muscle size (hypertrophy). We cover the core principles and protocols for building strength and muscle, including science-based guidance on reps, sets, frequency and rest intervals. We also discuss how breathing and mental focus can enhance training and how post-workout downregulation can speed recovery.\n\nShow notes: https://go.hubermanlab.com/y8QLDGd\n\nSubscribe to Perform with Dr. Andy Galpin: https://www.performpodcast.com/subscribe\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Andy Galpin\nX: https://x.com/DrAndyGalpin\nInstagram: https://www.instagram.com/drandygalpin\nYouTube: https://www.youtube.com/@drandygalpin\nWebsite: https://www.andygalpin.com\nPerform with Dr. Andy Galpin (podcast): https://www.performpodcast.com\n\n*Timestamps*\n00:00:00 Andy Galpin\n00:00:39 9 Exercise Adaptations; Progressive Overload\n00:03:53 Progressive Overload, One-Rep Max, Soreness, Tool: Modifiable Variables\n00:08:39 Full-Body Workout, Exercise Selection\n00:11:11 Training Intensity, Repetitions, Sets, Rest Intervals, Supersets\n00:14:51 Hypertrophy vs Strength Training Recovery\n00:17:06 Training Volume & Frequency for Hypertrophy\n00:18:59 Hypertrophy Rep Ranges, Frequency & Recovery; Cell Mechanisms\n00:22:31 Tool: 3 x 5 Protocol; Power vs Strength\n00:24:08 Mental Awareness in Training; Mind-Muscle Connection\n00:27:10 Activating Muscle Groups, Awareness, Tool: Eccentric Overload\n00:29:26 Tool: Resistance Training Breathing & Post-Training\n00:33:42 Acknowledgments\n\n#HubermanLab #Strength #Fitness\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Build Strength, Muscle Size & Endurance | Dr. Andy Galpin", 2066, false, "0VSOoMuStvg", "https://www.youtube.com/watch?v=0VSOoMuStvg", "/downloads/Andrew Huberman/2026-04-02 Essentials: How to Build Strength, Muscle Size & Endurance | Dr. Andy Galpin/Essentials: How to Build Strength, Muscle Size & Endurance | Dr. Andy Galpin [0VSOoMuStvg].mp4", false, 4, ~U[2026-04-02 12:00:02Z]] 17:13:58.674 [debug] QUERY OK source="sources" db=0.5ms idle=12.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.675 [debug] QUERY OK source="media_items" db=0.5ms idle=10.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-26 12:01:18Z], 4] 17:13:58.677 [debug] QUERY OK source="media_items" db=1.5ms idle=10.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how salt (sodium) affects mental and physical performance, as well as cellular health. I describe how the brain monitors sodium levels to regulate thirst and fluid balance, and why salt needs can vary depending on activity level, stress, blood pressure, and diet. I also explain how to determine the right sodium intake for your individual needs and discuss why some people may benefit from increasing salt and other electrolytes.\n\nShow notes: https://go.hubermanlab.com/jiFQJYv\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Salt\n00:00:37 Brain & Monitoring Salt\n00:02:33 Thirst, Osmotic Thirst & Salt\n00:05:35 Hypovolemic Thirst & Blood Pressure\n00:06:59 Fluid Balance, Kidney & Urine Regulation\n00:10:13 How Much Salt Do You Need?, Blood Pressure, Dizziness & Postural Syndromes \n00:15:49 Replenish Salt for Performance, Tool: Galpin Equation & Exercise\n00:17:35 Stress & Craving Salt\n00:19:18 Electrolytes: Magnesium & Potassium; Low Carbohydrate Diet\n00:22:07 Salt & Sweet Taste, Sugar Cravings, Processed Foods\n00:26:26 Finding Your Ideal Salt Intake, Tool: Unprocessed Food Diet\n00:28:14 Neurons, Salt & Action Potentials; Ingesting Too Much Water\n00:30:15 Recap & Key Takeaways\n\n#HubermanLab #Health #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Salt to Optimize Mental & Physical Performance | Huberman Lab Essentials", "ae3df2e8-1e0a-48ff-a0e8-5f262bd8f4bd", 2034, false, "hnzrPKvRBD8", "https://www.youtube.com/watch?v=hnzrPKvRBD8", 25, "/downloads/Andrew Huberman/2026-03-26 Using Salt to Optimize Mental & Physical Performance | Huberman Lab Essentials/Using Salt to Optimize Mental & Physical Performance | Huberman Lab Essentials [hnzrPKvRBD8].mp4", false, false, false, 4, [], 1, ~U[2026-03-26 12:01:18Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how salt (sodium) affects mental and physical performance, as well as cellular health. I describe how the brain monitors sodium levels to regulate thirst and fluid balance, and why salt needs can vary depending on activity level, stress, blood pressure, and diet. I also explain how to determine the right sodium intake for your individual needs and discuss why some people may benefit from increasing salt and other electrolytes.\n\nShow notes: https://go.hubermanlab.com/jiFQJYv\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Salt\n00:00:37 Brain & Monitoring Salt\n00:02:33 Thirst, Osmotic Thirst & Salt\n00:05:35 Hypovolemic Thirst & Blood Pressure\n00:06:59 Fluid Balance, Kidney & Urine Regulation\n00:10:13 How Much Salt Do You Need?, Blood Pressure, Dizziness & Postural Syndromes \n00:15:49 Replenish Salt for Performance, Tool: Galpin Equation & Exercise\n00:17:35 Stress & Craving Salt\n00:19:18 Electrolytes: Magnesium & Potassium; Low Carbohydrate Diet\n00:22:07 Salt & Sweet Taste, Sugar Cravings, Processed Foods\n00:26:26 Finding Your Ideal Salt Intake, Tool: Unprocessed Food Diet\n00:28:14 Neurons, Salt & Action Potentials; Ingesting Too Much Water\n00:30:15 Recap & Key Takeaways\n\n#HubermanLab #Health #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Salt to Optimize Mental & Physical Performance | Huberman Lab Essentials", 2034, false, "hnzrPKvRBD8", "https://www.youtube.com/watch?v=hnzrPKvRBD8", "/downloads/Andrew Huberman/2026-03-26 Using Salt to Optimize Mental & Physical Performance | Huberman Lab Essentials/Using Salt to Optimize Mental & Physical Performance | Huberman Lab Essentials [hnzrPKvRBD8].mp4", false, 4, ~U[2026-03-26 12:01:18Z]] 17:13:58.678 [debug] QUERY OK source="sources" db=0.2ms idle=12.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.679 [debug] QUERY OK source="media_items" db=0.5ms idle=5.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 12:00:51Z], 4] 17:13:58.681 [debug] QUERY OK source="media_items" db=1.4ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is \u2060Dr. Emily Balcetis, PhD\u2060, a professor of psychology at New York University who studies how visual perception influences motivation and goal pursuit. She explains how to better visualize and overcome challenges to achieve physical or cognitive goals. We also explore the science of setting goals, measuring progress effectively and research showing how fitness level and energy state can shape how difficult the world appears.\n\nShow notes: https://go.hubermanlab.com/IoZCSSi\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Emily Balcetis\n00:00:21 Adjusting Vision to Meet Goals, Exercise, Tool: Narrow Visual Target\n00:07:39 Goal Setting, Do Vision Boards Work?\n00:11:16 Tool: Effectively Plan Goals, Plan for Obstacles\n00:16:40 How Fitness Shapes the Way People See the World \n00:22:03 Visual Spotlight, Exercise & Physical Fitness Level\n00:23:02 Stimulants & Motivation\n00:24:24 Cognitive Goals, Tools: Overcoming Bad Memories; Deadlines\n00:31:34 Acknowledgements\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis", "83fdf5ba-8836-4585-83ed-7677b100ffb4", 1922, false, "RECLTp_YxSU", "https://www.youtube.com/watch?v=RECLTp_YxSU", 26, "/downloads/Andrew Huberman/2026-03-19 Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis/Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis [RECLTp_YxSU].mp4", false, false, false, 4, [], 1, ~U[2026-03-19 12:00:51Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is \u2060Dr. Emily Balcetis, PhD\u2060, a professor of psychology at New York University who studies how visual perception influences motivation and goal pursuit. She explains how to better visualize and overcome challenges to achieve physical or cognitive goals. We also explore the science of setting goals, measuring progress effectively and research showing how fitness level and energy state can shape how difficult the world appears.\n\nShow notes: https://go.hubermanlab.com/IoZCSSi\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Emily Balcetis\n00:00:21 Adjusting Vision to Meet Goals, Exercise, Tool: Narrow Visual Target\n00:07:39 Goal Setting, Do Vision Boards Work?\n00:11:16 Tool: Effectively Plan Goals, Plan for Obstacles\n00:16:40 How Fitness Shapes the Way People See the World \n00:22:03 Visual Spotlight, Exercise & Physical Fitness Level\n00:23:02 Stimulants & Motivation\n00:24:24 Cognitive Goals, Tools: Overcoming Bad Memories; Deadlines\n00:31:34 Acknowledgements\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis", 1922, false, "RECLTp_YxSU", "https://www.youtube.com/watch?v=RECLTp_YxSU", "/downloads/Andrew Huberman/2026-03-19 Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis/Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis [RECLTp_YxSU].mp4", false, 4, ~U[2026-03-19 12:00:51Z]] 17:13:58.682 [debug] QUERY OK source="sources" db=0.2ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.683 [debug] QUERY OK source="media_items" db=0.4ms idle=5.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-12 12:01:17Z], 4] 17:13:58.685 [debug] QUERY OK source="media_items" db=1.4ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I discuss the mechanisms through which deliberate heat exposure enhances both physical and mental health.\n\nI outline specific protocols for deliberate heat exposure, including recommended temperature ranges, frequency, timing, duration and sauna alternatives. In addition, I explain how to tailor your heat protocols to support your specific goals, such as increasing growth hormone, reducing cortisol or supporting cognitive health.\n\nShow notes: https://go.hubermanlab.com/VsMKdhm\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Heat Exposure\n00:00:47 Shell vs Core Temperature; Heat Caution & Hyperthermia\n00:02:24 Body & Brain Circuit to Heat Up & Cool Down\n00:05:31 Deliberate Heat Exposure & Health Benefits; Tool: Sauna Temperature Range, Duration, Frequency\n00:10:45 Sauna Types, Alternatives to Sauna\n00:12:26 Sauna Mechanism; Reduced Cortisol; Tool: Hot/Cold Contrast\n00:16:14 Heat Shock Protein Activation & Sauna\n00:17:54 DNA Repair, FOXO3 & Sauna, Cognition & Health Benefits\n00:21:25 Sauna & Increase Growth Hormone\n00:27:22 Sauna Timing, Sleep & Growth Hormone, Tools: Fasting; Hydration\n00:30:42 Improve Mood, Endorphins & Sauna; Dynorphins\n00:35:50 Recap Sauna Protocols: Benefits, Frequency, Duration & Timing\n\n#HubermanLab #Science #Health #HeatExposure \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Benefits of Sauna & Deliberate Heat Exposure | Huberman Lab Essentials", "10242c25-3944-4bd7-843e-136394f1a917", 2360, false, "iuPQmw4Ax00", "https://www.youtube.com/watch?v=iuPQmw4Ax00", 27, "/downloads/Andrew Huberman/2026-03-12 Benefits of Sauna & Deliberate Heat Exposure | Huberman Lab Essentials/Benefits of Sauna & Deliberate Heat Exposure | Huberman Lab Essentials [iuPQmw4Ax00].mp4", false, false, false, 4, [], 1, ~U[2026-03-12 12:01:17Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I discuss the mechanisms through which deliberate heat exposure enhances both physical and mental health.\n\nI outline specific protocols for deliberate heat exposure, including recommended temperature ranges, frequency, timing, duration and sauna alternatives. In addition, I explain how to tailor your heat protocols to support your specific goals, such as increasing growth hormone, reducing cortisol or supporting cognitive health.\n\nShow notes: https://go.hubermanlab.com/VsMKdhm\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Heat Exposure\n00:00:47 Shell vs Core Temperature; Heat Caution & Hyperthermia\n00:02:24 Body & Brain Circuit to Heat Up & Cool Down\n00:05:31 Deliberate Heat Exposure & Health Benefits; Tool: Sauna Temperature Range, Duration, Frequency\n00:10:45 Sauna Types, Alternatives to Sauna\n00:12:26 Sauna Mechanism; Reduced Cortisol; Tool: Hot/Cold Contrast\n00:16:14 Heat Shock Protein Activation & Sauna\n00:17:54 DNA Repair, FOXO3 & Sauna, Cognition & Health Benefits\n00:21:25 Sauna & Increase Growth Hormone\n00:27:22 Sauna Timing, Sleep & Growth Hormone, Tools: Fasting; Hydration\n00:30:42 Improve Mood, Endorphins & Sauna; Dynorphins\n00:35:50 Recap Sauna Protocols: Benefits, Frequency, Duration & Timing\n\n#HubermanLab #Science #Health #HeatExposure \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Benefits of Sauna & Deliberate Heat Exposure | Huberman Lab Essentials", 2360, false, "iuPQmw4Ax00", "https://www.youtube.com/watch?v=iuPQmw4Ax00", "/downloads/Andrew Huberman/2026-03-12 Benefits of Sauna & Deliberate Heat Exposure | Huberman Lab Essentials/Benefits of Sauna & Deliberate Heat Exposure | Huberman Lab Essentials [iuPQmw4Ax00].mp4", false, 4, ~U[2026-03-12 12:01:17Z]] 17:13:58.690 [debug] QUERY OK source="sources" db=0.3ms idle=10.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.691 [debug] QUERY OK source="media_items" db=0.5ms idle=9.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-05 13:01:12Z], 4] 17:13:58.693 [debug] QUERY OK source="media_items" db=1.4ms idle=9.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Charles Zuker, PhD, a professor of biochemistry, molecular biophysics and neuroscience at Columbia University and an Investigator with the Howard Hughes Medical Institute (HHMI).\n\nWe explore taste perception and how the brain transforms chemical signals from food into distinct taste experiences. We discuss how these taste signals shape both conscious choices and unconscious behavior, as well as how food preferences can change over time. Additionally, we discuss gut–brain signaling and explain why sugar is especially powerful at driving cravings. \n\nShow notes: https://go.hubermanlab.com/98yVjnK\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Charles Zuker\n00:00:20 Senses & Perception \n00:02:29 Taste, 5 Taste Qualities & Dietary Needs\n00:05:49 Taste vs Flavor\n00:07:05 Taste Buds; Bitter\n00:08:54 Sweet vs Bitter, Sensory Perception from Tongue to Brain \n00:11:56 Taste Plasticity & Changing Food Preferences\n00:13:22 Taste Modulation; Salt\n00:16:17 Gut-Brain Signaling\n00:20:50 Sugar Appetite & Gut-Brain Axis; Artificial Sweeteners, Sugar Cravings \n00:26:34 Taste & Essential Nutrients; Highly Processed Foods; Brain & Food Choices\n00:30:07 Acknowledgements\n\n#HubermanLab #Science #Biology\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Biology of Taste Perception & Sugar Craving | Dr. Charles Zuker", "a25df809-04f3-45c1-886c-e09a73d626c4", 1853, false, "cru_4P6qVYQ", "https://www.youtube.com/watch?v=cru_4P6qVYQ", 28, "/downloads/Andrew Huberman/2026-03-05 Essentials: The Biology of Taste Perception & Sugar Craving | Dr. Charles Zuker/Essentials: The Biology of Taste Perception & Sugar Craving | Dr. Charles Zuker [cru_4P6qVYQ].mp4", false, false, false, 4, [], 1, ~U[2026-03-05 13:01:12Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Charles Zuker, PhD, a professor of biochemistry, molecular biophysics and neuroscience at Columbia University and an Investigator with the Howard Hughes Medical Institute (HHMI).\n\nWe explore taste perception and how the brain transforms chemical signals from food into distinct taste experiences. We discuss how these taste signals shape both conscious choices and unconscious behavior, as well as how food preferences can change over time. Additionally, we discuss gut–brain signaling and explain why sugar is especially powerful at driving cravings. \n\nShow notes: https://go.hubermanlab.com/98yVjnK\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Charles Zuker\n00:00:20 Senses & Perception \n00:02:29 Taste, 5 Taste Qualities & Dietary Needs\n00:05:49 Taste vs Flavor\n00:07:05 Taste Buds; Bitter\n00:08:54 Sweet vs Bitter, Sensory Perception from Tongue to Brain \n00:11:56 Taste Plasticity & Changing Food Preferences\n00:13:22 Taste Modulation; Salt\n00:16:17 Gut-Brain Signaling\n00:20:50 Sugar Appetite & Gut-Brain Axis; Artificial Sweeteners, Sugar Cravings \n00:26:34 Taste & Essential Nutrients; Highly Processed Foods; Brain & Food Choices\n00:30:07 Acknowledgements\n\n#HubermanLab #Science #Biology\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Biology of Taste Perception & Sugar Craving | Dr. Charles Zuker", 1853, false, "cru_4P6qVYQ", "https://www.youtube.com/watch?v=cru_4P6qVYQ", "/downloads/Andrew Huberman/2026-03-05 Essentials: The Biology of Taste Perception & Sugar Craving | Dr. Charles Zuker/Essentials: The Biology of Taste Perception & Sugar Craving | Dr. Charles Zuker [cru_4P6qVYQ].mp4", false, 4, ~U[2026-03-05 13:01:12Z]] 17:13:58.693 [debug] QUERY OK source="sources" db=0.3ms idle=10.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.694 [debug] QUERY OK source="media_items" db=0.5ms idle=9.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 13:00:12Z], 4] 17:13:58.697 [debug] QUERY OK source="media_items" db=1.5ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how different wavelengths of light affect the human body and how light exposure can improve sleep quality, mood and daytime alertness while supporting healthy hormone regulation. I also discuss the therapeutic use of ultraviolet and infrared/red light for a wide variety of benefits, including improved skin health and offsetting age-related vision loss. I explain the biological mechanisms behind these light-based therapies and offer practical tools that listeners can use to improve both their mental and physical well-being.\n\nShow notes: https://go.hubermanlab.com/HDM1kqz\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Light\n00:00:47 Physics of Light\n00:01:57 Light & Body, Rods & Cones, Skin, Seasons & Melatonin\n00:05:01 Melatonin Supplements?, Tool: Seasonal Sun Exposure; Reduce Night Light\n00:09:15 Light, UVB, Skin Exposure, Testosterone & Estrogen, Fertility\n00:12:38 UVB Light & Improved Pain Tolerance\n00:14:54 Tool: Daily Sunlight Exposure Protocol; Blue Blockers\n00:17:08 Seasonal Affective Disorder (SAD), Year-Round Sunlight Exposure\n00:19:16 Enhanced Immune Function & UVB Light, Tool: Winter Light Exposure\n00:21:37 Light, Wound Healing, Hair & Nail Growth \n00:23:03 Tool: Mood, Dopamine & Avoid Nighttime UVB Light\n00:25:38 Red Light Therapy, Infrared Light, Acne, Wound Healing & Scars; Mitochondria\n00:29:19 Offset Age-Related Eyesight Decline, Red Light\n00:33:35 Tool: Red Light Protocol, Frequency & Timing\n00:36:15 Red Light for Shift Workers\n00:37:55 Recap\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Light (Sunlight, Blue Light & Red Light) to Optimize Health | Huberman Lab Essentials", "e6fd9df8-5f99-4ed8-92b8-ff20f544572c", 2309, false, "7UeojKTzeHE", "https://www.youtube.com/watch?v=7UeojKTzeHE", 29, "/downloads/Andrew Huberman/2026-02-26 Using Light (Sunlight, Blue Light & Red Light) to Optimize Health | Huberman Lab Essentials/Using Light (Sunlight, Blue Light & Red Light) to Optimize Health | Huberman Lab Essentials [7UeojKTzeHE].mp4", false, false, false, 4, [], 1, ~U[2026-02-26 13:00:12Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how different wavelengths of light affect the human body and how light exposure can improve sleep quality, mood and daytime alertness while supporting healthy hormone regulation. I also discuss the therapeutic use of ultraviolet and infrared/red light for a wide variety of benefits, including improved skin health and offsetting age-related vision loss. I explain the biological mechanisms behind these light-based therapies and offer practical tools that listeners can use to improve both their mental and physical well-being.\n\nShow notes: https://go.hubermanlab.com/HDM1kqz\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Light\n00:00:47 Physics of Light\n00:01:57 Light & Body, Rods & Cones, Skin, Seasons & Melatonin\n00:05:01 Melatonin Supplements?, Tool: Seasonal Sun Exposure; Reduce Night Light\n00:09:15 Light, UVB, Skin Exposure, Testosterone & Estrogen, Fertility\n00:12:38 UVB Light & Improved Pain Tolerance\n00:14:54 Tool: Daily Sunlight Exposure Protocol; Blue Blockers\n00:17:08 Seasonal Affective Disorder (SAD), Year-Round Sunlight Exposure\n00:19:16 Enhanced Immune Function & UVB Light, Tool: Winter Light Exposure\n00:21:37 Light, Wound Healing, Hair & Nail Growth \n00:23:03 Tool: Mood, Dopamine & Avoid Nighttime UVB Light\n00:25:38 Red Light Therapy, Infrared Light, Acne, Wound Healing & Scars; Mitochondria\n00:29:19 Offset Age-Related Eyesight Decline, Red Light\n00:33:35 Tool: Red Light Protocol, Frequency & Timing\n00:36:15 Red Light for Shift Workers\n00:37:55 Recap\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Light (Sunlight, Blue Light & Red Light) to Optimize Health | Huberman Lab Essentials", 2309, false, "7UeojKTzeHE", "https://www.youtube.com/watch?v=7UeojKTzeHE", "/downloads/Andrew Huberman/2026-02-26 Using Light (Sunlight, Blue Light & Red Light) to Optimize Health | Huberman Lab Essentials/Using Light (Sunlight, Blue Light & Red Light) to Optimize Health | Huberman Lab Essentials [7UeojKTzeHE].mp4", false, 4, ~U[2026-02-26 13:00:12Z]] 17:13:58.697 [debug] QUERY OK source="sources" db=0.2ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.698 [debug] QUERY OK source="media_items" db=0.4ms idle=5.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-19 13:00:15Z], 4] 17:13:58.700 [debug] QUERY OK source="media_items" db=1.7ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Jeff Cavaliere (@athleanx), MSPT, CSCS, a physical therapist, strength coach and the founder of ATHLEAN-X, an online training platform.\n\nWe explain the foundations of an effective training program, including how to structure your weekly workouts and recovery to match your goals and schedule. We also discuss effective warm-ups and stretching, strategies to reduce injury risk and practical nutrition principles without strict calorie counting. Jeff's science-based approach offers clear, actionable guidance for anyone looking to improve fitness, physique and overall health.\n\nShow notes: https://go.hubermanlab.com/XQCAQHQ\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Jeff Cavaliere\n00:00:20 Beginner Whole Body Training Program, Warm-Ups\n00:02:18 Splits, Time Efficiency, Recovery; Bro Splits\n00:05:07 Cardiovascular & Resistance Training, Timing & Frequency; Blending Strategies\n00:08:13 Cramp Test & Resistance Training, “Cavaliere Test”, Muscularity\n00:10:44 Recovery, Soreness & Variability; Tool: Grip Strength Test\n00:13:37 Active vs Passive Stretching, Recovery\n00:16:01 Recovery, Heal “Shorter” & Muscle; Dynamic Stretching\n00:18:10 Upright Row, Shoulder, Posture, Tool: High Pull; Strengthening Hips\n00:23:25 Tool: Proper Bar Grip, Elbow Pain\n00:27:50 Tool: Training Journal & Goals\n00:28:27 Nutrition; Tool: Plate Method\n00:31:52 Post-Training Meal, Protein; Pre-Workout Supplements\n00:34:09 Acknowledgements\n\n#HubermanLab #Science #Exercise\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Optimize Your Exercise Program with Science-Based Tools | Jeff Cavaliere", "b7e77e9c-34d2-4858-be20-1d608eaf8dfb", 2091, false, "9GzlbLIU5dU", "https://www.youtube.com/watch?v=9GzlbLIU5dU", 30, "/downloads/Andrew Huberman/2026-02-19 Essentials: Optimize Your Exercise Program with Science-Based Tools | Jeff Cavaliere/Essentials: Optimize Your Exercise Program with Science-Based Tools | Jeff Cavaliere [9GzlbLIU5dU].mp4", false, false, false, 4, [], 1, ~U[2026-02-19 13:00:15Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Jeff Cavaliere (@athleanx), MSPT, CSCS, a physical therapist, strength coach and the founder of ATHLEAN-X, an online training platform.\n\nWe explain the foundations of an effective training program, including how to structure your weekly workouts and recovery to match your goals and schedule. We also discuss effective warm-ups and stretching, strategies to reduce injury risk and practical nutrition principles without strict calorie counting. Jeff's science-based approach offers clear, actionable guidance for anyone looking to improve fitness, physique and overall health.\n\nShow notes: https://go.hubermanlab.com/XQCAQHQ\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Jeff Cavaliere\n00:00:20 Beginner Whole Body Training Program, Warm-Ups\n00:02:18 Splits, Time Efficiency, Recovery; Bro Splits\n00:05:07 Cardiovascular & Resistance Training, Timing & Frequency; Blending Strategies\n00:08:13 Cramp Test & Resistance Training, “Cavaliere Test”, Muscularity\n00:10:44 Recovery, Soreness & Variability; Tool: Grip Strength Test\n00:13:37 Active vs Passive Stretching, Recovery\n00:16:01 Recovery, Heal “Shorter” & Muscle; Dynamic Stretching\n00:18:10 Upright Row, Shoulder, Posture, Tool: High Pull; Strengthening Hips\n00:23:25 Tool: Proper Bar Grip, Elbow Pain\n00:27:50 Tool: Training Journal & Goals\n00:28:27 Nutrition; Tool: Plate Method\n00:31:52 Post-Training Meal, Protein; Pre-Workout Supplements\n00:34:09 Acknowledgements\n\n#HubermanLab #Science #Exercise\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Optimize Your Exercise Program with Science-Based Tools | Jeff Cavaliere", 2091, false, "9GzlbLIU5dU", "https://www.youtube.com/watch?v=9GzlbLIU5dU", "/downloads/Andrew Huberman/2026-02-19 Essentials: Optimize Your Exercise Program with Science-Based Tools | Jeff Cavaliere/Essentials: Optimize Your Exercise Program with Science-Based Tools | Jeff Cavaliere [9GzlbLIU5dU].mp4", false, 4, ~U[2026-02-19 13:00:15Z]] 17:13:58.701 [debug] QUERY OK source="sources" db=0.2ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.702 [debug] QUERY OK source="media_items" db=0.4ms idle=4.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-12 13:00:41Z], 4] 17:13:58.704 [debug] QUERY OK source="media_items" db=1.5ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the psychology and biology of desire, love and attachment. I explain how childhood attachment styles can shape adult romantic relationships and how the brain and body systems influence emotional bonds. I also discuss supplements that may support a healthy libido and practical, science-based tools for understanding your relationship patterns and building stronger relationships.\n\nShow notes: https://go.hubermanlab.com/jwe6R2e\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Desire, Love & Attachment\n00:00:23 4 Attachment Styles, Child & Parent\n00:04:11 Attachment & Autonomic Arousal, Seesaw Analogy\n00:07:26 Tool: Self-Awareness of Attachment Style, Autonomic State & Relationship\n00:08:31 Brain & Neural Circuits for Desire, Love & Attachment\n 00:10:01 Empathy, Autonomic Matching\n00:11:51 Positive Delusions, Relationship Breakdown & Failure\n00:14:42 Universality of Love, Autonomic Coordination\n00:18:41 Self-Expansion & Relationships, Shaping Self-Perception\n00:24:56 Testosterone, Estrogen, Dopamine & Libido\n00:28:03 Supplements to Increase Libido: Maca Root, Tongkat Ali (Longjack), Tribulus\n00:35:07 Recap\n\n#HubermanLab #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science of Love, Desire & Attachment | Huberman Lab Essentials", "08e8b0ab-db95-46b0-8e76-88872b341530", 2149, false, "NEkUNahduWY", "https://www.youtube.com/watch?v=NEkUNahduWY", 31, "/downloads/Andrew Huberman/2026-02-12 The Science of Love, Desire & Attachment | Huberman Lab Essentials/The Science of Love, Desire & Attachment | Huberman Lab Essentials [NEkUNahduWY].mp4", false, false, false, 4, [], 1, ~U[2026-02-12 13:00:41Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the psychology and biology of desire, love and attachment. I explain how childhood attachment styles can shape adult romantic relationships and how the brain and body systems influence emotional bonds. I also discuss supplements that may support a healthy libido and practical, science-based tools for understanding your relationship patterns and building stronger relationships.\n\nShow notes: https://go.hubermanlab.com/jwe6R2e\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Desire, Love & Attachment\n00:00:23 4 Attachment Styles, Child & Parent\n00:04:11 Attachment & Autonomic Arousal, Seesaw Analogy\n00:07:26 Tool: Self-Awareness of Attachment Style, Autonomic State & Relationship\n00:08:31 Brain & Neural Circuits for Desire, Love & Attachment\n 00:10:01 Empathy, Autonomic Matching\n00:11:51 Positive Delusions, Relationship Breakdown & Failure\n00:14:42 Universality of Love, Autonomic Coordination\n00:18:41 Self-Expansion & Relationships, Shaping Self-Perception\n00:24:56 Testosterone, Estrogen, Dopamine & Libido\n00:28:03 Supplements to Increase Libido: Maca Root, Tongkat Ali (Longjack), Tribulus\n00:35:07 Recap\n\n#HubermanLab #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science of Love, Desire & Attachment | Huberman Lab Essentials", 2149, false, "NEkUNahduWY", "https://www.youtube.com/watch?v=NEkUNahduWY", "/downloads/Andrew Huberman/2026-02-12 The Science of Love, Desire & Attachment | Huberman Lab Essentials/The Science of Love, Desire & Attachment | Huberman Lab Essentials [NEkUNahduWY].mp4", false, 4, ~U[2026-02-12 13:00:41Z]] 17:13:58.705 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.705 [debug] QUERY OK source="media_items" db=0.5ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 13:00:40Z], 4] 17:13:58.708 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Ido Portal, a movement coach and world expert on human movement.\n\nWe explore the science and practice of movement, including how the nervous system shapes our actions, the distinction between reflexive and deliberate movement patterns and how emotion and awareness influence our movement. Ido shares how to build a holistic movement practice into everyday life through an exploration-based approach grounded in playfulness and self-inquiry.\n\nEpisode show notes: https://go.hubermanlab.com/bx4pANM\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Ido Portal*\nWebsite: https://www.idoportal.com \nInstagram: https://www.instagram.com/portal.ido \nYouTube: https://www.youtube.com/user/portaldo \nFacebook: https://www.facebook.com/portal.ido \n\n*Timestamps*\n00:00:00 Ido Portal\n00:00:20 Movement Practice, Self-Inquiry\n00:02:08 Wordlessness, 3 Core Elements of the Body; Focus & Movement\n00:06:35 Mental & Physical Postures; Virtuosity\n00:11:03 Vision & Eyes; Focus vs Relaxed Vision; Tool: Panoramic View\n00:16:20 Hearing; Different Opinions\n00:19:25 Body Shape; Developing Many Walks\n00:22:19 Playful Exploration, Openness\n00:25:00 Peripersonal Space & Movement, Proximity, Reactivity, Discomfort\n00:29:52 Exercise, Traditional Movements; Examination of Movement \n00:35:17 Exploration; Acknowledgements\n\n#HubermanLab #Science #Movement\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Science & Practice of Movement | Ido Portal", "6a3adadc-2537-43d5-8a46-b0f950c5832f", 2170, false, "JsICN9ZiSjA", "https://www.youtube.com/watch?v=JsICN9ZiSjA", 32, "/downloads/Andrew Huberman/2026-02-05 Essentials: The Science & Practice of Movement | Ido Portal/Essentials: The Science & Practice of Movement | Ido Portal [JsICN9ZiSjA].mp4", false, false, false, 4, [], 1, ~U[2026-02-05 13:00:40Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Ido Portal, a movement coach and world expert on human movement.\n\nWe explore the science and practice of movement, including how the nervous system shapes our actions, the distinction between reflexive and deliberate movement patterns and how emotion and awareness influence our movement. Ido shares how to build a holistic movement practice into everyday life through an exploration-based approach grounded in playfulness and self-inquiry.\n\nEpisode show notes: https://go.hubermanlab.com/bx4pANM\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Ido Portal*\nWebsite: https://www.idoportal.com \nInstagram: https://www.instagram.com/portal.ido \nYouTube: https://www.youtube.com/user/portaldo \nFacebook: https://www.facebook.com/portal.ido \n\n*Timestamps*\n00:00:00 Ido Portal\n00:00:20 Movement Practice, Self-Inquiry\n00:02:08 Wordlessness, 3 Core Elements of the Body; Focus & Movement\n00:06:35 Mental & Physical Postures; Virtuosity\n00:11:03 Vision & Eyes; Focus vs Relaxed Vision; Tool: Panoramic View\n00:16:20 Hearing; Different Opinions\n00:19:25 Body Shape; Developing Many Walks\n00:22:19 Playful Exploration, Openness\n00:25:00 Peripersonal Space & Movement, Proximity, Reactivity, Discomfort\n00:29:52 Exercise, Traditional Movements; Examination of Movement \n00:35:17 Exploration; Acknowledgements\n\n#HubermanLab #Science #Movement\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Science & Practice of Movement | Ido Portal", 2170, false, "JsICN9ZiSjA", "https://www.youtube.com/watch?v=JsICN9ZiSjA", "/downloads/Andrew Huberman/2026-02-05 Essentials: The Science & Practice of Movement | Ido Portal/Essentials: The Science & Practice of Movement | Ido Portal [JsICN9ZiSjA].mp4", false, 4, ~U[2026-02-05 13:00:40Z]] 17:13:58.709 [debug] QUERY OK source="sources" db=0.4ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.709 [debug] QUERY OK source="media_items" db=0.4ms idle=5.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 13:00:31Z], 4] 17:13:58.712 [debug] QUERY OK source="media_items" db=1.4ms idle=5.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss why play is a powerful yet often overlooked tool for shaping the brain across the entire lifespan, not just during childhood. I explain how play engages specific brain circuits and neurochemicals, allowing us to explore different roles and learn in low-stakes environments uniquely suited to learning. I also describe why adults benefit from deliberately reintroducing play and which forms of play are most effective for expanding cognitive flexibility and creative thinking.\n\nEpisode show notes: https://go.hubermanlab.com/FA0Bkww\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Power of Play\n00:00:37 Play, Brain & Exploring Contingencies; Creatives\n00:03:27 Childhood Play & Low-Stakes Scenarios\n00:05:18 Tool: Adults & Playful Mindset\n00:07:50 Play Postures; Eyes\n00:10:58 Group Play, Testing & Breaking Rules\n00:13:30 Role Play\n00:14:40 Play Mindset, Low-Stakes Situations, Tool: Adult Play for Brain Health\n00:20:36 Tinkerers & Creatives, Playful Spirit\n00:23:00 Tool: Play to Enhance Neuroplasticity: Dynamic Movement, Chess & Mental Roles\n00:27:06 Personal Play Identity, Adulthood\n00:30:14 Recap\n\n#HubermanLab #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Play to Rewire & Improve Your Brain | Huberman Lab Essentials", "2a728437-d5c5-475d-9eee-45dcab311066", 1908, false, "BRG4_KfTxbs", "https://www.youtube.com/watch?v=BRG4_KfTxbs", 33, "/downloads/Andrew Huberman/2026-01-29 Using Play to Rewire & Improve Your Brain | Huberman Lab Essentials/Using Play to Rewire & Improve Your Brain | Huberman Lab Essentials [BRG4_KfTxbs].mp4", false, false, false, 4, [], 1, ~U[2026-01-29 13:00:31Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss why play is a powerful yet often overlooked tool for shaping the brain across the entire lifespan, not just during childhood. I explain how play engages specific brain circuits and neurochemicals, allowing us to explore different roles and learn in low-stakes environments uniquely suited to learning. I also describe why adults benefit from deliberately reintroducing play and which forms of play are most effective for expanding cognitive flexibility and creative thinking.\n\nEpisode show notes: https://go.hubermanlab.com/FA0Bkww\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Power of Play\n00:00:37 Play, Brain & Exploring Contingencies; Creatives\n00:03:27 Childhood Play & Low-Stakes Scenarios\n00:05:18 Tool: Adults & Playful Mindset\n00:07:50 Play Postures; Eyes\n00:10:58 Group Play, Testing & Breaking Rules\n00:13:30 Role Play\n00:14:40 Play Mindset, Low-Stakes Situations, Tool: Adult Play for Brain Health\n00:20:36 Tinkerers & Creatives, Playful Spirit\n00:23:00 Tool: Play to Enhance Neuroplasticity: Dynamic Movement, Chess & Mental Roles\n00:27:06 Personal Play Identity, Adulthood\n00:30:14 Recap\n\n#HubermanLab #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Play to Rewire & Improve Your Brain | Huberman Lab Essentials", 1908, false, "BRG4_KfTxbs", "https://www.youtube.com/watch?v=BRG4_KfTxbs", "/downloads/Andrew Huberman/2026-01-29 Using Play to Rewire & Improve Your Brain | Huberman Lab Essentials/Using Play to Rewire & Improve Your Brain | Huberman Lab Essentials [BRG4_KfTxbs].mp4", false, 4, ~U[2026-01-29 13:00:31Z]] 17:13:58.712 [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" = ?) [4] 17:13:58.713 [debug] QUERY OK source="media_items" db=0.4ms idle=4.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 13:01:20Z], 4] 17:13:58.715 [debug] QUERY OK source="media_items" db=1.4ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Paul Conti, MD, a psychiatrist and expert in treating trauma and psychiatric illness. \n\nWe explain what trauma is and how it affects the mind and body, as well as the best treatment approaches to support recovery. We also discuss why guilt and shame often follow traumatic experiences and why processing trauma is essential for healing. Dr. Conti shares practical tools for how to choose and work effectively with a therapist and discusses the therapeutic potential of psychedelics and MDMA in clinician-assisted settings.\n\nEpisode show notes: https://go.hubermanlab.com/0zSjjGy\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Paul Conti\n00:00:21 What is Trauma?, Guilt & Shame\n00:03:20 Evolutionary Context of Trauma, Shame & Guilt\n00:07:18 Repetition Compulsion, Repeating Trauma\n00:11:08 Processing Trauma in Therapy or On Your Own, Grieving\n00:15:08 Introspection, Tool: Processing Trauma Through Words\n00:16:23 Finding a Therapist, Rapport; Duration of Therapy\n00:18:37 Prescriptions, Depression, Treating Core Issues\n00:21:16 Psychedelics & Overcoming Trauma, Psychedelic-Assisted Therapy\n00:25:05 MDMA, Overcoming Fear\n00:27:01 Talking about Trauma, Language\n00:28:54 Taking Care of Oneself, Tool: Self-Care Basics\n00:32:14 Acknowledgements\n\n#HubermanLab #Therapy \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Therapy, Treating Trauma & Other Life Challenges | Dr. Paul Conti", "111260aa-df42-4f1b-a589-b9c91784944e", 2004, false, "iNL_BFlHYZ8", "https://www.youtube.com/watch?v=iNL_BFlHYZ8", 34, "/downloads/Andrew Huberman/2026-01-22 Essentials: Therapy, Treating Trauma & Other Life Challenges | Dr. Paul Conti/Essentials: Therapy, Treating Trauma & Other Life Challenges | Dr. Paul Conti [iNL_BFlHYZ8].mp4", false, false, false, 4, [], 1, ~U[2026-01-22 13:01:20Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Paul Conti, MD, a psychiatrist and expert in treating trauma and psychiatric illness. \n\nWe explain what trauma is and how it affects the mind and body, as well as the best treatment approaches to support recovery. We also discuss why guilt and shame often follow traumatic experiences and why processing trauma is essential for healing. Dr. Conti shares practical tools for how to choose and work effectively with a therapist and discusses the therapeutic potential of psychedelics and MDMA in clinician-assisted settings.\n\nEpisode show notes: https://go.hubermanlab.com/0zSjjGy\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\n*Timestamps*\n00:00:00 Paul Conti\n00:00:21 What is Trauma?, Guilt & Shame\n00:03:20 Evolutionary Context of Trauma, Shame & Guilt\n00:07:18 Repetition Compulsion, Repeating Trauma\n00:11:08 Processing Trauma in Therapy or On Your Own, Grieving\n00:15:08 Introspection, Tool: Processing Trauma Through Words\n00:16:23 Finding a Therapist, Rapport; Duration of Therapy\n00:18:37 Prescriptions, Depression, Treating Core Issues\n00:21:16 Psychedelics & Overcoming Trauma, Psychedelic-Assisted Therapy\n00:25:05 MDMA, Overcoming Fear\n00:27:01 Talking about Trauma, Language\n00:28:54 Taking Care of Oneself, Tool: Self-Care Basics\n00:32:14 Acknowledgements\n\n#HubermanLab #Therapy \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Therapy, Treating Trauma & Other Life Challenges | Dr. Paul Conti", 2004, false, "iNL_BFlHYZ8", "https://www.youtube.com/watch?v=iNL_BFlHYZ8", "/downloads/Andrew Huberman/2026-01-22 Essentials: Therapy, Treating Trauma & Other Life Challenges | Dr. Paul Conti/Essentials: Therapy, Treating Trauma & Other Life Challenges | Dr. Paul Conti [iNL_BFlHYZ8].mp4", false, 4, ~U[2026-01-22 13:01:20Z]] 17:13:58.716 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.716 [debug] QUERY OK source="media_items" db=0.4ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-15 13:00:59Z], 4] 17:13:58.719 [debug] QUERY OK source="media_items" db=1.4ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is Dr. Wendy Suzuki, PhD, a professor of neural science and psychology at New York University.\n\nWe discuss simple, daily habits to improve focus, memory and overall cognitive performance. Dr. Suzuki explains how exercise directly enhances brain function—both the immediate benefits of a single workout and long-term support for cognitive health. We also discuss how meditation, verbal affirmations, sleep and other behavioral practices positively influence mood and stress regulation.\n\nEpisode show notes: https://go.hubermanlab.com/4IcdLnG\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Wendy Suzuki\n00:00:21 What Makes Moments Memorable?\n00:02:24 Memory & Hippocampus, Imagination\n00:05:35 One-Trial Learning, Fear\n00:07:08 Exercise Effects on Focus, Attention & Memory\n00:11:29 Brain-Derived Neurotrophic Factor (BDNF) & Exercise\n00:13:16 Tools: Cardiovascular Exercise; 10-Minute Walk & Mood\n00:15:55 How Exercise Increases BDNF\n00:17:59 Adults, Neuron Growth, Hippocampus\n00:20:03 Exercise Effects on Memory, Tool: Morning Exercise\n00:23:20 Exercise & Long-term Effects on Cognition, Older Adults\n00:25:08 Minimum Exercise For Cognitive Benefits (Adults, 30s-50s)\n00:29:15 Increase Exercise For Greater Cognitive Benefits\n00:31:23 Affirmations, Exercise, Mood, IntenSati\n00:33:30 Meditation & Benefits, Tool: Brief Meditation\n00:35:25 Tools to Improve Attention\n\n#HubermanLab #Science #Memory\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Tools to Boost Attention & Memory | Dr. Wendy Suzuki", "c901cad8-b91a-47f6-8f18-a27b207ee761", 2211, false, "RmwbNdyrilk", "https://www.youtube.com/watch?v=RmwbNdyrilk", 35, "/downloads/Andrew Huberman/2026-01-15 Essentials: Tools to Boost Attention & Memory | Dr. Wendy Suzuki/Essentials: Tools to Boost Attention & Memory | Dr. Wendy Suzuki [RmwbNdyrilk].mp4", false, false, false, 4, [], 1, ~U[2026-01-15 13:00:59Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is Dr. Wendy Suzuki, PhD, a professor of neural science and psychology at New York University.\n\nWe discuss simple, daily habits to improve focus, memory and overall cognitive performance. Dr. Suzuki explains how exercise directly enhances brain function—both the immediate benefits of a single workout and long-term support for cognitive health. We also discuss how meditation, verbal affirmations, sleep and other behavioral practices positively influence mood and stress regulation.\n\nEpisode show notes: https://go.hubermanlab.com/4IcdLnG\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Wendy Suzuki\n00:00:21 What Makes Moments Memorable?\n00:02:24 Memory & Hippocampus, Imagination\n00:05:35 One-Trial Learning, Fear\n00:07:08 Exercise Effects on Focus, Attention & Memory\n00:11:29 Brain-Derived Neurotrophic Factor (BDNF) & Exercise\n00:13:16 Tools: Cardiovascular Exercise; 10-Minute Walk & Mood\n00:15:55 How Exercise Increases BDNF\n00:17:59 Adults, Neuron Growth, Hippocampus\n00:20:03 Exercise Effects on Memory, Tool: Morning Exercise\n00:23:20 Exercise & Long-term Effects on Cognition, Older Adults\n00:25:08 Minimum Exercise For Cognitive Benefits (Adults, 30s-50s)\n00:29:15 Increase Exercise For Greater Cognitive Benefits\n00:31:23 Affirmations, Exercise, Mood, IntenSati\n00:33:30 Meditation & Benefits, Tool: Brief Meditation\n00:35:25 Tools to Improve Attention\n\n#HubermanLab #Science #Memory\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Tools to Boost Attention & Memory | Dr. Wendy Suzuki", 2211, false, "RmwbNdyrilk", "https://www.youtube.com/watch?v=RmwbNdyrilk", "/downloads/Andrew Huberman/2026-01-15 Essentials: Tools to Boost Attention & Memory | Dr. Wendy Suzuki/Essentials: Tools to Boost Attention & Memory | Dr. Wendy Suzuki [RmwbNdyrilk].mp4", false, 4, ~U[2026-01-15 13:00:59Z]] 17:13:58.719 [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" = ?) [4] 17:13:58.720 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-08 13:00:05Z], 4] 17:13:58.722 [debug] QUERY OK source="media_items" db=1.4ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss how to optimize your workspace to maximize productivity, focus and creativity.\n\nI explain how key environmental factors such as lighting, the physical layout of your work area and desk setup can influence attention and performance. I also discuss how specific types of sounds can enhance focus and how to adjust your work environment for particular tasks. These practical, flexible protocols can be applied whether you are working from home, in an office or on the road.\n\nEpisode show notes: https://go.hubermanlab.com/YleBU4q\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Workplace Optimization for Performance\n00:00:36 Clutter, Variables for Workspace Optimization\n00:02:41 Vision & Light, Tool: Mornings & Bright Light; Windows\n00:04:45 Afternoon, Evenings & Light; Tool: Dimming Lights\n00:07:13 Alertness & Visual Focus, Tool: Screen Placement\n00:09:05 Vergence Eye Movement & Alertness, Tool: Visual Breaks\n00:11:50 Cathedral Effect, Creative vs Analytical Thinking, Tool: Ceiling Height by Task\n00:14:50 Background Noise to Avoid; White Noise, Pink Noise\n00:17:38 Sound Patterns to Improve Concentration\n00:20:54 Tool: Binaural Beat Frequency for Focus; Dopamine\n00:22:27 Tool: Managing Interruptions\n00:23:51 Sit or Stand for Work?, Tool: Sit-Stand Desk\n00:26:21 Key Takeaways, Flexibility & Changing Locations\n\n#HubermanLab #Productivity #Focus #Creativity\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Optimizing Workspace for Productivity, Focus & Creativity | Huberman Lab Essentials", "803a840e-c67c-46b1-a9ef-7bca9472e2d3", 1812, false, "23t_ynq2tmk", "https://www.youtube.com/watch?v=23t_ynq2tmk", 36, "/downloads/Andrew Huberman/2026-01-08 Optimizing Workspace for Productivity, Focus & Creativity | Huberman Lab Essentials/Optimizing Workspace for Productivity, Focus & Creativity | Huberman Lab Essentials [23t_ynq2tmk].mp4", false, false, false, 4, [], 1, ~U[2026-01-08 13:00:05Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss how to optimize your workspace to maximize productivity, focus and creativity.\n\nI explain how key environmental factors such as lighting, the physical layout of your work area and desk setup can influence attention and performance. I also discuss how specific types of sounds can enhance focus and how to adjust your work environment for particular tasks. These practical, flexible protocols can be applied whether you are working from home, in an office or on the road.\n\nEpisode show notes: https://go.hubermanlab.com/YleBU4q\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Workplace Optimization for Performance\n00:00:36 Clutter, Variables for Workspace Optimization\n00:02:41 Vision & Light, Tool: Mornings & Bright Light; Windows\n00:04:45 Afternoon, Evenings & Light; Tool: Dimming Lights\n00:07:13 Alertness & Visual Focus, Tool: Screen Placement\n00:09:05 Vergence Eye Movement & Alertness, Tool: Visual Breaks\n00:11:50 Cathedral Effect, Creative vs Analytical Thinking, Tool: Ceiling Height by Task\n00:14:50 Background Noise to Avoid; White Noise, Pink Noise\n00:17:38 Sound Patterns to Improve Concentration\n00:20:54 Tool: Binaural Beat Frequency for Focus; Dopamine\n00:22:27 Tool: Managing Interruptions\n00:23:51 Sit or Stand for Work?, Tool: Sit-Stand Desk\n00:26:21 Key Takeaways, Flexibility & Changing Locations\n\n#HubermanLab #Productivity #Focus #Creativity\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Optimizing Workspace for Productivity, Focus & Creativity | Huberman Lab Essentials", 1812, false, "23t_ynq2tmk", "https://www.youtube.com/watch?v=23t_ynq2tmk", "/downloads/Andrew Huberman/2026-01-08 Optimizing Workspace for Productivity, Focus & Creativity | Huberman Lab Essentials/Optimizing Workspace for Productivity, Focus & Creativity | Huberman Lab Essentials [23t_ynq2tmk].mp4", false, 4, ~U[2026-01-08 13:00:05Z]] 17:13:58.723 [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" = ?) [4] 17:13:58.723 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-01 13:01:21Z], 4] 17:13:58.726 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Rhonda Patrick, PhD, a biomedical scientist and a leading health educator focused on nutrition, aging and general health.\n\nWe discuss four key micronutrients that influence cellular stress responses, inflammation, detoxification and longevity, and how to increase your intake of each through diet or supplementation. We also cover deliberate cold and heat exposure, along with exercise, and how these tools support metabolic, cardiovascular and cognitive health as we age.\n\nEpisode show notes: https://go.hubermanlab.com/tbklEg9\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Rhonda Patrick*\nWebsite: https://www.foundmyfitness.com\nInstagram: https://www.instagram.com/foundmyfitness\nFacebook: https://www.facebook.com/foundmyfitness\nX: https://x.com/foundmyfitness\nYouTube: https://www.youtube.com/user/FoundMyFitness\n\n*Timestamps*\n00:00:00 Rhonda Patrick\n00:00:20 Physical Challenges, Stress Response Pathways, Hormesis, Temperature\n00:03:43 Tool: Sulforaphane & Detoxification, Cruciferous Vegetables, Moringa\n00:06:19 Tool: Marine Omega-3s Fatty Acids, Fish Oil Supplements\n00:08:16 Benefits of Fish Oil Supplementation, Longevity, Tool: Omega-3 Index\n00:10:34 Omega-3s & Inflammation\n00:13:14 Vitamin D; Health Benefits\n00:15:44 Tool: Vitamin D Supplementation, Bloodwork\n00:19:09 Tool: Magnesium, Dark Leafy Greens, Supplementation\n00:21:23 Deliberate Cold Exposure, Mood & Dopamine\n00:22:16 Cold Exposure to Enhance Mitochondria, Shivering, Browning Effect\n00:26:40 Tool: High-Intensity Interval Training, Tabata Workout, Sauna, Memory \n00:28:36 Sauna, Cardiovascular & Cognitive Heath; Tool: Sauna Duration & Frequency\n00:34:10 Tool: Hot Bath; Acknowledgements\n\n#HubermanLab #Health #Longevity \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Micronutrients for Health & Longevity | Dr. Rhonda Patrick", "372b6ee3-d7bc-45f4-b81b-7840ef82a2d3", 2137, false, "fh2dBmLN-ZM", "https://www.youtube.com/watch?v=fh2dBmLN-ZM", 37, "/downloads/Andrew Huberman/2026-01-01 Essentials: Micronutrients for Health & Longevity | Dr. Rhonda Patrick/Essentials: Micronutrients for Health & Longevity | Dr. Rhonda Patrick [fh2dBmLN-ZM].mp4", false, false, false, 4, [], 1, ~U[2026-01-01 13:01:21Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Rhonda Patrick, PhD, a biomedical scientist and a leading health educator focused on nutrition, aging and general health.\n\nWe discuss four key micronutrients that influence cellular stress responses, inflammation, detoxification and longevity, and how to increase your intake of each through diet or supplementation. We also cover deliberate cold and heat exposure, along with exercise, and how these tools support metabolic, cardiovascular and cognitive health as we age.\n\nEpisode show notes: https://go.hubermanlab.com/tbklEg9\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Rhonda Patrick*\nWebsite: https://www.foundmyfitness.com\nInstagram: https://www.instagram.com/foundmyfitness\nFacebook: https://www.facebook.com/foundmyfitness\nX: https://x.com/foundmyfitness\nYouTube: https://www.youtube.com/user/FoundMyFitness\n\n*Timestamps*\n00:00:00 Rhonda Patrick\n00:00:20 Physical Challenges, Stress Response Pathways, Hormesis, Temperature\n00:03:43 Tool: Sulforaphane & Detoxification, Cruciferous Vegetables, Moringa\n00:06:19 Tool: Marine Omega-3s Fatty Acids, Fish Oil Supplements\n00:08:16 Benefits of Fish Oil Supplementation, Longevity, Tool: Omega-3 Index\n00:10:34 Omega-3s & Inflammation\n00:13:14 Vitamin D; Health Benefits\n00:15:44 Tool: Vitamin D Supplementation, Bloodwork\n00:19:09 Tool: Magnesium, Dark Leafy Greens, Supplementation\n00:21:23 Deliberate Cold Exposure, Mood & Dopamine\n00:22:16 Cold Exposure to Enhance Mitochondria, Shivering, Browning Effect\n00:26:40 Tool: High-Intensity Interval Training, Tabata Workout, Sauna, Memory \n00:28:36 Sauna, Cardiovascular & Cognitive Heath; Tool: Sauna Duration & Frequency\n00:34:10 Tool: Hot Bath; Acknowledgements\n\n#HubermanLab #Health #Longevity \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Micronutrients for Health & Longevity | Dr. Rhonda Patrick", 2137, false, "fh2dBmLN-ZM", "https://www.youtube.com/watch?v=fh2dBmLN-ZM", "/downloads/Andrew Huberman/2026-01-01 Essentials: Micronutrients for Health & Longevity | Dr. Rhonda Patrick/Essentials: Micronutrients for Health & Longevity | Dr. Rhonda Patrick [fh2dBmLN-ZM].mp4", false, 4, ~U[2026-01-01 13:01:21Z]] 17:13:58.726 [debug] QUERY OK source="sources" db=0.2ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.727 [debug] QUERY OK source="media_items" db=0.4ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-25 13:01:24Z], 4] 17:13:58.729 [debug] QUERY OK source="media_items" db=1.5ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Kyle Gillett, MD, a dual board-certified physician in family medicine and obesity medicine and an expert in optimizing hormone levels to improve overall health.\n\nWe explain how to improve hormone levels across the lifespan in both men and women using behavioral, nutritional and exercise-based tools. We also discuss common clinical topics, including hormone testing, PCOS, hair loss, testosterone replacement therapy (TRT) and peptides, focusing on potential benefits, tradeoffs and risks.\n\nEpisode show notes: https://go.hubermanlab.com/EkpDEyt\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Kyle Gillett\n00:00:36 Hormone Health; Women vs Men, Tool: Hormone Testing\n00:02:35 Tool: Big 6 Lifestyle Pillars to Optimize Hormone Health\n00:04:32 Diet, Individualization; Bloodwork & Frequency\n00:05:35 Exercise, Zone 2 Cardio; Caloric Restriction\n00:06:51 Intermittent Fasting, Growth Hormone, IGF-1\n00:09:20 Hormones & Sleep, Growth Hormone, Menopause, Andropause, TRT\n00:11:43 Testosterone & Women, SHGB\n00:13:34 Dihydrotestosterone (DHT), Androgens; Turmeric & Black Pepper; Hair Loss\n00:16:47 Polycystic Ovarian Syndrome (PCOS), Symptoms, Metformin, Inositol\n00:20:13 Cannabis, Alcohol, Testosterone\n00:21:47 Males & Testosterone, TRT, Prostate Cancer\n00:23:04 Prolactin, Dopamine “Wave Pool”, Tool: Casein & Gluten\n00:24:23 Social Relationships & Hormones, Tool: Planning for Crisis\n00:26:22 Peptides, Growth Hormone & Risk; BPC 157, Sourcing & LPS\n00:32:02 Melanotan, Uses & Risks\n00:34:05 Spiritual Health, Interdisciplinary Health Integration\n00:36:43 Caffeine & Hormones, Sleep; Acknowledgements\n\n#HubermanLab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Optimize Your Hormones for Health & Vitality | Dr. Kyle Gillett", "b8371564-b063-4d74-ad5b-6763acbce77a", 2236, false, "fYhY-vC000A", "https://www.youtube.com/watch?v=fYhY-vC000A", 38, "/downloads/Andrew Huberman/2025-12-25 Essentials: How to Optimize Your Hormones for Health & Vitality | Dr. Kyle Gillett/Essentials: How to Optimize Your Hormones for Health & Vitality | Dr. Kyle Gillett [fYhY-vC000A].mp4", false, false, false, 4, [], 1, ~U[2025-12-25 13:01:24Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Kyle Gillett, MD, a dual board-certified physician in family medicine and obesity medicine and an expert in optimizing hormone levels to improve overall health.\n\nWe explain how to improve hormone levels across the lifespan in both men and women using behavioral, nutritional and exercise-based tools. We also discuss common clinical topics, including hormone testing, PCOS, hair loss, testosterone replacement therapy (TRT) and peptides, focusing on potential benefits, tradeoffs and risks.\n\nEpisode show notes: https://go.hubermanlab.com/EkpDEyt\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Timestamps*\n00:00:00 Kyle Gillett\n00:00:36 Hormone Health; Women vs Men, Tool: Hormone Testing\n00:02:35 Tool: Big 6 Lifestyle Pillars to Optimize Hormone Health\n00:04:32 Diet, Individualization; Bloodwork & Frequency\n00:05:35 Exercise, Zone 2 Cardio; Caloric Restriction\n00:06:51 Intermittent Fasting, Growth Hormone, IGF-1\n00:09:20 Hormones & Sleep, Growth Hormone, Menopause, Andropause, TRT\n00:11:43 Testosterone & Women, SHGB\n00:13:34 Dihydrotestosterone (DHT), Androgens; Turmeric & Black Pepper; Hair Loss\n00:16:47 Polycystic Ovarian Syndrome (PCOS), Symptoms, Metformin, Inositol\n00:20:13 Cannabis, Alcohol, Testosterone\n00:21:47 Males & Testosterone, TRT, Prostate Cancer\n00:23:04 Prolactin, Dopamine “Wave Pool”, Tool: Casein & Gluten\n00:24:23 Social Relationships & Hormones, Tool: Planning for Crisis\n00:26:22 Peptides, Growth Hormone & Risk; BPC 157, Sourcing & LPS\n00:32:02 Melanotan, Uses & Risks\n00:34:05 Spiritual Health, Interdisciplinary Health Integration\n00:36:43 Caffeine & Hormones, Sleep; Acknowledgements\n\n#HubermanLab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Optimize Your Hormones for Health & Vitality | Dr. Kyle Gillett", 2236, false, "fYhY-vC000A", "https://www.youtube.com/watch?v=fYhY-vC000A", "/downloads/Andrew Huberman/2025-12-25 Essentials: How to Optimize Your Hormones for Health & Vitality | Dr. Kyle Gillett/Essentials: How to Optimize Your Hormones for Health & Vitality | Dr. Kyle Gillett [fYhY-vC000A].mp4", false, 4, ~U[2025-12-25 13:01:24Z]] 17:13:58.730 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.730 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-18 13:01:56Z], 4] 17:13:58.733 [debug] QUERY OK source="media_items" db=1.4ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to use science-based tools to better set and achieve goals. \n\nI discuss the neuroscience of goal pursuit and how dopamine and visual attention shape motivation and effort. I explain whether visualizing success or failure better supports goal pursuit, how to choose goals at the right level of difficulty and evaluate progress. I also share a short “space-time bridging” protocol that helps train long-range, goal-directed behavior. These tools will help you stay motivated and reach goals more effectively. \n\nEpisode show notes: https://go.hubermanlab.com/WaR2Hzr\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Goal Setting\n00:00:23 Brain & Goal Pursuit\n00:03:32 Goal Value, Action Steps\n00:05:49 Peripersonal vs Extrapersonal Space\n00:07:17 Tool: Visual Focus & Pursuing Goals\n00:11:47 Visualization & Goal Pursuit, Tool: Visualize Failure\n00:14:08 Tool: Goal Setting & Difficulty Level\n00:15:47 Dopamine & Goal Pursuit, Reward Prediction Error, Tool: Weekly Goal Assessment\n00:21:00 Dopamine & Vision; Importance of Behavioral Tools\n00:22:57 Recap of Tools for Goal Setting & Pursuit\n00:24:09 Goal Pursuit, Time; Tool: Space-Time Bridging\n00:31:38 Recap, Key Takeaways\n\n#HubermanLab #Science #GoalSetting\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Set & Achieve Goals | Huberman Lab Essentials", "c4d10c39-c73f-4176-b304-475dbebf4efe", 1998, false, "zYuw-8pwnp8", "https://www.youtube.com/watch?v=zYuw-8pwnp8", 39, "/downloads/Andrew Huberman/2025-12-18 How to Set & Achieve Goals | Huberman Lab Essentials/How to Set & Achieve Goals | Huberman Lab Essentials [zYuw-8pwnp8].mp4", false, false, false, 4, [], 1, ~U[2025-12-18 13:01:56Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to use science-based tools to better set and achieve goals. \n\nI discuss the neuroscience of goal pursuit and how dopamine and visual attention shape motivation and effort. I explain whether visualizing success or failure better supports goal pursuit, how to choose goals at the right level of difficulty and evaluate progress. I also share a short “space-time bridging” protocol that helps train long-range, goal-directed behavior. These tools will help you stay motivated and reach goals more effectively. \n\nEpisode show notes: https://go.hubermanlab.com/WaR2Hzr\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Goal Setting\n00:00:23 Brain & Goal Pursuit\n00:03:32 Goal Value, Action Steps\n00:05:49 Peripersonal vs Extrapersonal Space\n00:07:17 Tool: Visual Focus & Pursuing Goals\n00:11:47 Visualization & Goal Pursuit, Tool: Visualize Failure\n00:14:08 Tool: Goal Setting & Difficulty Level\n00:15:47 Dopamine & Goal Pursuit, Reward Prediction Error, Tool: Weekly Goal Assessment\n00:21:00 Dopamine & Vision; Importance of Behavioral Tools\n00:22:57 Recap of Tools for Goal Setting & Pursuit\n00:24:09 Goal Pursuit, Time; Tool: Space-Time Bridging\n00:31:38 Recap, Key Takeaways\n\n#HubermanLab #Science #GoalSetting\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Set & Achieve Goals | Huberman Lab Essentials", 1998, false, "zYuw-8pwnp8", "https://www.youtube.com/watch?v=zYuw-8pwnp8", "/downloads/Andrew Huberman/2025-12-18 How to Set & Achieve Goals | Huberman Lab Essentials/How to Set & Achieve Goals | Huberman Lab Essentials [zYuw-8pwnp8].mp4", false, 4, ~U[2025-12-18 13:01:56Z]] 17:13:58.733 [debug] QUERY OK source="sources" db=0.2ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.734 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-04 13:00:39Z], 4] 17:13:58.740 [debug] QUERY OK source="media_items" db=5.7ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how to create lasting habits and break unwanted ones.\n\nI explain two habit-building systems: one aligned with daily rhythms and another based on a 21-day cycle of forming and reinforcing habits. I also discuss why habit formation differs between individuals and how certain \"linchpin\" habits can make other behaviors easier to adopt. Finally, I share practical tools—including visualization, task bracketing, and methods for rewiring bad habits—to support lasting behavioral change.\n\nShow notes: https://go.hubermanlab.com/Y9DJfJV\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/Wcs2PFz5q6g\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Habits\n00:00:43 What are Habits?, Neuroplasticity\n00:01:15 Goal-Based vs Identity-Based Habits\n00:02:33 How Long Does It Take to Form a Habit?; Limbic Friction\n00:05:31 Tool: Linchpin Habits\n00:07:23 Habit Strength, Context Dependence & Limbic Friction\n00:09:13 How We Form Habits, Tool: Review Procedural Steps\n00:11:21 Tool: Task Bracketing\n00:15:02 Should You Schedule Habits?; Phase-Based Habit Plan\n00:17:00 Phase 1 (Morning) & Challenging Habits\n00:18:23 Phase 2 (Afternoon), Relaxation; Mellow Habits \n00:21:46 Phase 3 (Evening), Enhancing Sleep & Habit Consolidation\n00:25:00 Habit Flexibility & Daily Timing\n00:27:33 Tool: 21-Day Habit Program; Habit Missteps\n00:32:47 Tool: How to Break Habits & Replacement Behaviors\n00:35:30 Recap\n\n#HubermanLab #Science #Habits\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science of Making & Breaking Habits | Huberman Lab Essentials", "56d114ed-5e02-4050-9e0f-48730835bdef", 2176, false, "HXuj7wAt7u8", "https://www.youtube.com/watch?v=HXuj7wAt7u8", 40, "/downloads/Andrew Huberman/2025-12-04 The Science of Making & Breaking Habits | Huberman Lab Essentials/The Science of Making & Breaking Habits | Huberman Lab Essentials [HXuj7wAt7u8].mp4", false, false, false, 4, [], 1, ~U[2025-12-04 13:00:39Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how to create lasting habits and break unwanted ones.\n\nI explain two habit-building systems: one aligned with daily rhythms and another based on a 21-day cycle of forming and reinforcing habits. I also discuss why habit formation differs between individuals and how certain \"linchpin\" habits can make other behaviors easier to adopt. Finally, I share practical tools—including visualization, task bracketing, and methods for rewiring bad habits—to support lasting behavioral change.\n\nShow notes: https://go.hubermanlab.com/Y9DJfJV\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/Wcs2PFz5q6g\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Habits\n00:00:43 What are Habits?, Neuroplasticity\n00:01:15 Goal-Based vs Identity-Based Habits\n00:02:33 How Long Does It Take to Form a Habit?; Limbic Friction\n00:05:31 Tool: Linchpin Habits\n00:07:23 Habit Strength, Context Dependence & Limbic Friction\n00:09:13 How We Form Habits, Tool: Review Procedural Steps\n00:11:21 Tool: Task Bracketing\n00:15:02 Should You Schedule Habits?; Phase-Based Habit Plan\n00:17:00 Phase 1 (Morning) & Challenging Habits\n00:18:23 Phase 2 (Afternoon), Relaxation; Mellow Habits \n00:21:46 Phase 3 (Evening), Enhancing Sleep & Habit Consolidation\n00:25:00 Habit Flexibility & Daily Timing\n00:27:33 Tool: 21-Day Habit Program; Habit Missteps\n00:32:47 Tool: How to Break Habits & Replacement Behaviors\n00:35:30 Recap\n\n#HubermanLab #Science #Habits\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science of Making & Breaking Habits | Huberman Lab Essentials", 2176, false, "HXuj7wAt7u8", "https://www.youtube.com/watch?v=HXuj7wAt7u8", "/downloads/Andrew Huberman/2025-12-04 The Science of Making & Breaking Habits | Huberman Lab Essentials/The Science of Making & Breaking Habits | Huberman Lab Essentials [HXuj7wAt7u8].mp4", false, 4, ~U[2025-12-04 13:00:39Z]] 17:13:58.741 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=10.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.742 [debug] QUERY OK source="media_items" db=0.4ms idle=9.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-27 13:01:02Z], 4] 17:13:58.776 [debug] QUERY OK source="media_items" db=33.1ms idle=8.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Spiegel, MD, the Associate Chair of Psychiatry & Behavioral Sciences, Director of the Center on Stress and Health, and Director of the Center for Integrative Medicine at Stanford University School of Medicine.\n\nWe discuss the science and clinical applications of hypnosis, including how hypnosis works in the brain. We examine the evidence-based uses of clinical and self-hypnosis for pain, trauma, phobias, sleep and stress, and explain how to gauge your own level of \"hypnotizability.\" We also outline practical ways to access these tools, from working with a trained clinician to using structured self-hypnosis protocols.\n\nShow notes: https://go.hubermanlab.com/KsO42nz\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/PctD-ki8dCc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 David Spiegel\n00:00:20 What is Hypnosis?; Clinical vs Stage Hypnosis\n00:02:33 Brain & Hypnosis, Cognitive Flexibility\n00:06:14 ADHD, Self-Hypnosis & Focus\n00:07:16 Stress Reduction, Mind-Brain Connection; Improve Sleep, Phobias\n00:10:35 Narrative & Hypnosis, Mental State Change; Reframing Trauma\n00:16:44 Naming Importance; Clinical Hypnotist, Durability of Hypnosis, Reveri App\n00:19:17 Obsessive Thoughts, OCD, Hypnosis\n00:20:35 Hypnotizability, Spiegel Eye Roll Test, Eye-Brain Connection\n00:23:51 Trauma Recovery, Deliberate Self-Exposure to Pain or Trauma, Control\n00:25:57 Mind-Body Connection, Control; Reframing Pain, Tool: Opportunity for Action\n00:28:42 Children & Hypnosis; Group Hypnosis\n00:30:29 Breathing in Hypnosis, Cyclic Sighing, Relaxation\n00:32:06 Peak Performance & Hypnotic States\n00:33:15 Reveri Hypnosis App, Finding Clinical Hypnotist; Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Using Hypnosis to Enhance Mental & Physical Health & Performance | Dr. David Spiegel", "fbaf64c4-8d2b-44f2-bf2b-677f3a0a5bb3", 2098, false, "SOo4yNoaAoc", "https://www.youtube.com/watch?v=SOo4yNoaAoc", 41, "/downloads/Andrew Huberman/2025-11-27 Essentials: Using Hypnosis to Enhance Mental & Physical Health & Performance | Dr. David Spiegel/Essentials: Using Hypnosis to Enhance Mental & Physical Health & Performance | Dr. David Spiegel [SOo4yNoaAoc].mp4", false, false, false, 4, [], 1, ~U[2025-11-27 13:01:02Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Spiegel, MD, the Associate Chair of Psychiatry & Behavioral Sciences, Director of the Center on Stress and Health, and Director of the Center for Integrative Medicine at Stanford University School of Medicine.\n\nWe discuss the science and clinical applications of hypnosis, including how hypnosis works in the brain. We examine the evidence-based uses of clinical and self-hypnosis for pain, trauma, phobias, sleep and stress, and explain how to gauge your own level of \"hypnotizability.\" We also outline practical ways to access these tools, from working with a trained clinician to using structured self-hypnosis protocols.\n\nShow notes: https://go.hubermanlab.com/KsO42nz\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/PctD-ki8dCc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 David Spiegel\n00:00:20 What is Hypnosis?; Clinical vs Stage Hypnosis\n00:02:33 Brain & Hypnosis, Cognitive Flexibility\n00:06:14 ADHD, Self-Hypnosis & Focus\n00:07:16 Stress Reduction, Mind-Brain Connection; Improve Sleep, Phobias\n00:10:35 Narrative & Hypnosis, Mental State Change; Reframing Trauma\n00:16:44 Naming Importance; Clinical Hypnotist, Durability of Hypnosis, Reveri App\n00:19:17 Obsessive Thoughts, OCD, Hypnosis\n00:20:35 Hypnotizability, Spiegel Eye Roll Test, Eye-Brain Connection\n00:23:51 Trauma Recovery, Deliberate Self-Exposure to Pain or Trauma, Control\n00:25:57 Mind-Body Connection, Control; Reframing Pain, Tool: Opportunity for Action\n00:28:42 Children & Hypnosis; Group Hypnosis\n00:30:29 Breathing in Hypnosis, Cyclic Sighing, Relaxation\n00:32:06 Peak Performance & Hypnotic States\n00:33:15 Reveri Hypnosis App, Finding Clinical Hypnotist; Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Using Hypnosis to Enhance Mental & Physical Health & Performance | Dr. David Spiegel", 2098, false, "SOo4yNoaAoc", "https://www.youtube.com/watch?v=SOo4yNoaAoc", "/downloads/Andrew Huberman/2025-11-27 Essentials: Using Hypnosis to Enhance Mental & Physical Health & Performance | Dr. David Spiegel/Essentials: Using Hypnosis to Enhance Mental & Physical Health & Performance | Dr. David Spiegel [SOo4yNoaAoc].mp4", false, 4, ~U[2025-11-27 13:01:02Z]] 17:13:58.777 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.777 [debug] QUERY OK source="media_items" db=0.5ms idle=36.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-20 13:00:09Z], 4] 17:13:58.782 [debug] QUERY OK source="media_items" db=4.0ms idle=36.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the science of social connection and how we form meaningful bonds with others.\n\nI explore the neural basis for \"social homeostasis\"—our drive for a certain amount of social interaction—which explains why we feel lonely, seek connection and how we navigate social hierarchies. I also explain how the brain and neurochemicals, such as oxytocin and dopamine, shape our relationships from infancy through adulthood and underlie traits like introversion and extroversion. The episode also offers practical insights into forming deeper connections and how shared experiences with others enhance social bonding.\n\nEpisode show notes: https://go.hubermanlab.com/O6ooDgN\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/RgAcOqVRfYA\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Social Connection\n00:01:10 Social Bonds, Social Isolation & Stress Hormones\n00:03:09 Brain & Social Homeostasis; Social Hierarchies & Flexibility\n00:07:41 Dopamine & Pro-Social Behaviors; Chronic Social Isolation & Introversion\n00:09:31 Introverts vs Extroverts, Dopamine & Social Homeostasis; Context\n00:11:36 Loneliness, Dorsal Raphe Nucleus & Social Hunger\n00:13:15 Key Takeaway: Introvert vs Extrovert & Dopamine\n00:13:50 Social Bonds & Physiological Synchrony, Tool: Shared Experiences\n00:16:47 Right- vs Left-Brained Attachment, Parent & Child, Unconscious Mind\n00:21:29 Friends & Romantic Partners, Emotional & Cognitive Empathy\n00:24:51 Oxytocin & Social Connection\n00:27:21 Tool: Emotional & Cognitive Empathy\n00:28:36 Introverts, Extroverts & Social Interaction\n00:29:30 Break-Ups; Key Takeaways\n\n#HubermanLab #HubermanLabPodcast #SocialConnection #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Science of Building Strong Social Bonds with Family, Friends & Romantic Partners", "89219534-f215-4b2a-80f0-51c2cc84a373", 1935, false, "25PtptE7mWk", "https://www.youtube.com/watch?v=25PtptE7mWk", 42, "/downloads/Andrew Huberman/2025-11-20 Essentials: Science of Building Strong Social Bonds with Family, Friends & Romantic Partners/Essentials: Science of Building Strong Social Bonds with Family, Friends & Romantic Partners [25PtptE7mWk].mp4", false, false, false, 4, [], 1, ~U[2025-11-20 13:00:09Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the science of social connection and how we form meaningful bonds with others.\n\nI explore the neural basis for \"social homeostasis\"—our drive for a certain amount of social interaction—which explains why we feel lonely, seek connection and how we navigate social hierarchies. I also explain how the brain and neurochemicals, such as oxytocin and dopamine, shape our relationships from infancy through adulthood and underlie traits like introversion and extroversion. The episode also offers practical insights into forming deeper connections and how shared experiences with others enhance social bonding.\n\nEpisode show notes: https://go.hubermanlab.com/O6ooDgN\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/RgAcOqVRfYA\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Social Connection\n00:01:10 Social Bonds, Social Isolation & Stress Hormones\n00:03:09 Brain & Social Homeostasis; Social Hierarchies & Flexibility\n00:07:41 Dopamine & Pro-Social Behaviors; Chronic Social Isolation & Introversion\n00:09:31 Introverts vs Extroverts, Dopamine & Social Homeostasis; Context\n00:11:36 Loneliness, Dorsal Raphe Nucleus & Social Hunger\n00:13:15 Key Takeaway: Introvert vs Extrovert & Dopamine\n00:13:50 Social Bonds & Physiological Synchrony, Tool: Shared Experiences\n00:16:47 Right- vs Left-Brained Attachment, Parent & Child, Unconscious Mind\n00:21:29 Friends & Romantic Partners, Emotional & Cognitive Empathy\n00:24:51 Oxytocin & Social Connection\n00:27:21 Tool: Emotional & Cognitive Empathy\n00:28:36 Introverts, Extroverts & Social Interaction\n00:29:30 Break-Ups; Key Takeaways\n\n#HubermanLab #HubermanLabPodcast #SocialConnection #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Science of Building Strong Social Bonds with Family, Friends & Romantic Partners", 1935, false, "25PtptE7mWk", "https://www.youtube.com/watch?v=25PtptE7mWk", "/downloads/Andrew Huberman/2025-11-20 Essentials: Science of Building Strong Social Bonds with Family, Friends & Romantic Partners/Essentials: Science of Building Strong Social Bonds with Family, Friends & Romantic Partners [25PtptE7mWk].mp4", false, 4, ~U[2025-11-20 13:00:09Z]] 17:13:58.783 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=40.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.784 [debug] QUERY OK source="media_items" db=0.5ms idle=7.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-13 13:01:11Z], 4] 17:13:58.788 [debug] QUERY OK source="media_items" db=3.1ms idle=7.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Jack Feldman, PhD, a Distinguished Professor of Neurobiology at the University of California, Los Angeles, and a leading expert in the science of breathing.\n\nWe explain the mechanics of breathing and the neural circuits that generate and regulate our breathing rhythm. We also discuss how breathing patterns profoundly influence mental states, including their role in reducing anxiety and enhancing emotional resilience. Dr. Feldman also shares practical tools, such as box breathing for daily performance and magnesium L-threonate supplementation to support cognitive health and longevity.\n\nEpisode show notes: https://go.hubermanlab.com/11vofKY\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/GLgKkG44MGo\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Jack Feldman*\nUCLA academic profile: https://bioscience.ucla.edu/people/jack-feldman\nGoogle Scholar: https://scholar.google.com/citations?user=7VU42UMAAAAJ&hl=en\nWikipedia: https://en.wikipedia.org/wiki/Jack_L._Feldman\nX: https://x.com/prebotzinger\nInstagram: https://www.instagram.com/jacklfeldman\n\n*Timestamps*\n00:00:00 Jack Feldman\n00:00:23 Breathing Mechanics, Diaphragm; Pre-Bötzinger Complex & Breath Initiation\n00:03:25 Nose vs Mouth Breathing\n00:04:23 Active Expiration & Brain; Retrotrapezoid Nucleus\n00:07:32 Diaphragm & Evolution; Lung Surface Area & Alveoli, Oxygen Exchange\n00:11:56 Diaphragmatic vs Non-Diaphragmatic Breathing\n00:13:23 Physiological Sighs: Frequency & Function; Polio & Ventilators \n00:17:21 Drug Overdose, Death & Gasps \n00:19:06 Meditation, Slow Breathing & Fear Conditioning Study\n00:22:57 Mechanistic Science in Breathwork Validation; Breath Practice & Reduced Fear\n00:24:50 Breathing & Emotional/Cognitive State, Olfaction, Vagus Nerve\n00:27:13 Carbon Dioxide, Hyperventilation & Anxiety, Emotion\n00:29:27 Breathing & Autonomic Processes Coordination; Depression & Breath Practices\n00:32:44 Tool: Breathwork Practices, Box Breathing, Tummo, Wim Hof\n00:34:47 Magnesium L-Threonate & Cognitive Enhancement; Compound Refinement\n00:40:29 Clinical Trial, Magnesium L-Threonate & Cognitive Improvements; Dose, Sleep\n00:44:28 Acknowledgements\n\n#HubermanLab #HubermanLabPodcast #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Breathing for Mental & Physical Health & Performance | Dr. Jack Feldman", "b761370b-5eff-4485-a719-862f425a049e", 2748, false, "Y3NUEPNZDMA", "https://www.youtube.com/watch?v=Y3NUEPNZDMA", 43, "/downloads/Andrew Huberman/2025-11-13 Essentials: Breathing for Mental & Physical Health & Performance | Dr. Jack Feldman/Essentials: Breathing for Mental & Physical Health & Performance | Dr. Jack Feldman [Y3NUEPNZDMA].mp4", false, false, false, 4, [], 1, ~U[2025-11-13 13:01:11Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Jack Feldman, PhD, a Distinguished Professor of Neurobiology at the University of California, Los Angeles, and a leading expert in the science of breathing.\n\nWe explain the mechanics of breathing and the neural circuits that generate and regulate our breathing rhythm. We also discuss how breathing patterns profoundly influence mental states, including their role in reducing anxiety and enhancing emotional resilience. Dr. Feldman also shares practical tools, such as box breathing for daily performance and magnesium L-threonate supplementation to support cognitive health and longevity.\n\nEpisode show notes: https://go.hubermanlab.com/11vofKY\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/GLgKkG44MGo\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Jack Feldman*\nUCLA academic profile: https://bioscience.ucla.edu/people/jack-feldman\nGoogle Scholar: https://scholar.google.com/citations?user=7VU42UMAAAAJ&hl=en\nWikipedia: https://en.wikipedia.org/wiki/Jack_L._Feldman\nX: https://x.com/prebotzinger\nInstagram: https://www.instagram.com/jacklfeldman\n\n*Timestamps*\n00:00:00 Jack Feldman\n00:00:23 Breathing Mechanics, Diaphragm; Pre-Bötzinger Complex & Breath Initiation\n00:03:25 Nose vs Mouth Breathing\n00:04:23 Active Expiration & Brain; Retrotrapezoid Nucleus\n00:07:32 Diaphragm & Evolution; Lung Surface Area & Alveoli, Oxygen Exchange\n00:11:56 Diaphragmatic vs Non-Diaphragmatic Breathing\n00:13:23 Physiological Sighs: Frequency & Function; Polio & Ventilators \n00:17:21 Drug Overdose, Death & Gasps \n00:19:06 Meditation, Slow Breathing & Fear Conditioning Study\n00:22:57 Mechanistic Science in Breathwork Validation; Breath Practice & Reduced Fear\n00:24:50 Breathing & Emotional/Cognitive State, Olfaction, Vagus Nerve\n00:27:13 Carbon Dioxide, Hyperventilation & Anxiety, Emotion\n00:29:27 Breathing & Autonomic Processes Coordination; Depression & Breath Practices\n00:32:44 Tool: Breathwork Practices, Box Breathing, Tummo, Wim Hof\n00:34:47 Magnesium L-Threonate & Cognitive Enhancement; Compound Refinement\n00:40:29 Clinical Trial, Magnesium L-Threonate & Cognitive Improvements; Dose, Sleep\n00:44:28 Acknowledgements\n\n#HubermanLab #HubermanLabPodcast #Science\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Breathing for Mental & Physical Health & Performance | Dr. Jack Feldman", 2748, false, "Y3NUEPNZDMA", "https://www.youtube.com/watch?v=Y3NUEPNZDMA", "/downloads/Andrew Huberman/2025-11-13 Essentials: Breathing for Mental & Physical Health & Performance | Dr. Jack Feldman/Essentials: Breathing for Mental & Physical Health & Performance | Dr. Jack Feldman [Y3NUEPNZDMA].mp4", false, 4, ~U[2025-11-13 13:01:11Z]] 17:13:58.789 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=10.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.790 [debug] QUERY OK source="media_items" db=1.1ms idle=7.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-06 13:01:56Z], 4] 17:13:58.794 [debug] QUERY OK source="media_items" db=2.4ms idle=7.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explore the neuroscience of fear and trauma and how to effectively process and eliminate traumatic responses.\n\nI explain why successful fear treatment requires both extinction of the old fearful response and replacement with a new positive association—not just cognitive reframing. I also explain how the threat reflex activates specific circuits connecting the amygdala, prefrontal cortex, and dopamine systems, and why detailed recounting of traumatic events progressively reduces their physiological impact. Finally, I review evidence-based approaches, including prolonged exposure therapy and cognitive behavioral therapy, discuss how five minutes per day of deliberate stress through cyclic hyperventilation can rewire fear responses, explain the critical role of social connection in activating neural pathways that reduce trauma, and share supplementation options for managing anxiety.\n\nEpisode show notes: https://go.hubermanlab.com/WeEXeyX\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/31wjVhCcI5Y\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Introducing Fear & Trauma\n00:00:17 What is Fear?\n00:01:03 Autonomic Arousal: \"Alertness\" vs. \"Calmness\"\n00:02:05 Fear vs. Stress & Anxiety\n00:07:51 \"The Threat Reflex\": Neural Circuits for Fear\n00:17:49 Cognitive (Narrative) Therapies for Fear\n00:23:34 PTSD Treatments: Ketamine, MDMA, Oxytocin\n00:28:30 Deliberate Brief Stress Can Erase Fears & Trauma\n00:31:10 Nutrition, Sleep, & Other General Support Erasing Fear & Trauma\n00:33:38 Recap\n\n#HubermanLab #Science #Neuroscience\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Erasing Fears & Traumas Using Modern Neuroscience | Huberman Lab Essentials", "44a8b36a-4e06-40c6-8b1f-8341ab0b3b36", 2104, false, "tpntW9Tte4M", "https://www.youtube.com/watch?v=tpntW9Tte4M", 44, "/downloads/Andrew Huberman/2025-11-06 Erasing Fears & Traumas Using Modern Neuroscience | Huberman Lab Essentials/Erasing Fears & Traumas Using Modern Neuroscience | Huberman Lab Essentials [tpntW9Tte4M].mp4", false, false, false, 4, [], 1, ~U[2025-11-06 13:01:56Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explore the neuroscience of fear and trauma and how to effectively process and eliminate traumatic responses.\n\nI explain why successful fear treatment requires both extinction of the old fearful response and replacement with a new positive association—not just cognitive reframing. I also explain how the threat reflex activates specific circuits connecting the amygdala, prefrontal cortex, and dopamine systems, and why detailed recounting of traumatic events progressively reduces their physiological impact. Finally, I review evidence-based approaches, including prolonged exposure therapy and cognitive behavioral therapy, discuss how five minutes per day of deliberate stress through cyclic hyperventilation can rewire fear responses, explain the critical role of social connection in activating neural pathways that reduce trauma, and share supplementation options for managing anxiety.\n\nEpisode show notes: https://go.hubermanlab.com/WeEXeyX\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/31wjVhCcI5Y\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Introducing Fear & Trauma\n00:00:17 What is Fear?\n00:01:03 Autonomic Arousal: \"Alertness\" vs. \"Calmness\"\n00:02:05 Fear vs. Stress & Anxiety\n00:07:51 \"The Threat Reflex\": Neural Circuits for Fear\n00:17:49 Cognitive (Narrative) Therapies for Fear\n00:23:34 PTSD Treatments: Ketamine, MDMA, Oxytocin\n00:28:30 Deliberate Brief Stress Can Erase Fears & Trauma\n00:31:10 Nutrition, Sleep, & Other General Support Erasing Fear & Trauma\n00:33:38 Recap\n\n#HubermanLab #Science #Neuroscience\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Erasing Fears & Traumas Using Modern Neuroscience | Huberman Lab Essentials", 2104, false, "tpntW9Tte4M", "https://www.youtube.com/watch?v=tpntW9Tte4M", "/downloads/Andrew Huberman/2025-11-06 Erasing Fears & Traumas Using Modern Neuroscience | Huberman Lab Essentials/Erasing Fears & Traumas Using Modern Neuroscience | Huberman Lab Essentials [tpntW9Tte4M].mp4", false, 4, ~U[2025-11-06 13:01:56Z]] 17:13:58.795 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [4] 17:13:58.796 [debug] QUERY OK source="media_items" db=0.9ms idle=8.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 12:01:11Z], 4] 17:13:58.799 [debug] QUERY OK source="media_items" db=2.1ms idle=7.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is Dr. David Sinclair, PhD, a professor of genetics at Harvard Medical School and a leading expert on the biology of aging.\n\nWe discuss the cellular and molecular mechanisms of aging—and how specific behaviors, such as fasting, regular exercise and NAD⁺-boosting compounds like NMN, can activate the body's natural longevity pathways. This discussion highlights how lifestyle choices profoundly influence the aging process and may even slow or reverse key aspects of biological aging.\n\nEpisode show notes: https://go.hubermanlab.com/MW6SYCf\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/n9IxomBusuw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 David Sinclair\n00:00:20 Longevity, Anti-Aging, Aging as a Disease\n00:02:27 Causes of Aging; Epigenome & Genes\n00:04:53 CD & Scratches Analogy, DNA, Silencing & Expressing Genes\n00:06:44 Physical Appearance & Aging\n00:07:36 Childhood Development & Aging, Horvath Clock, Accelerate Aging\n00:10:13 Rates of Puberty & Aging, Growth Hormone\n00:11:20 Body Size & Longevity; Epigenetics\n00:11:50 Fasting, Calorie Restriction & Longevity, Sirtuins, Insulin & Glucose\n00:15:14 Tool: Skip a Meal\n00:15:50 Longer Fasts & Autophagy, “Deep Cleanse”; Fluids, Electrolytes\n00:17:28 Sirtuins, Glucose, mTOR & Fasting; Leucine, Tool: Pulsing Behaviors\n00:21:37 Breaking a Fast, Tools: Do Your Best; Transitions\n00:24:13 Sirtuins, NAD, NMN Supplementation\n00:26:18 Iron & Senescent Cells; Personalize Medicine\n00:27:48 Tool: Blood Markers, CRP\n00:29:57 Tool: Aerobic & Resistance Exercise\n00:31:02 Estrogen, Fasting & Fertility; Aging & Rejuvenation\n00:33:28 Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Biology of Slowing & Reversing Aging | Dr. David Sinclair", "58db9c0b-5c0e-4f35-bd82-ac51853e2f1a", 2039, false, "Ykvkg2Jz3X8", "https://www.youtube.com/watch?v=Ykvkg2Jz3X8", 45, "/downloads/Andrew Huberman/2025-10-30 Essentials: The Biology of Slowing & Reversing Aging | Dr. David Sinclair/Essentials: The Biology of Slowing & Reversing Aging | Dr. David Sinclair [Ykvkg2Jz3X8].mp4", false, false, false, 4, [], 1, ~U[2025-10-30 12:01:11Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is Dr. David Sinclair, PhD, a professor of genetics at Harvard Medical School and a leading expert on the biology of aging.\n\nWe discuss the cellular and molecular mechanisms of aging—and how specific behaviors, such as fasting, regular exercise and NAD⁺-boosting compounds like NMN, can activate the body's natural longevity pathways. This discussion highlights how lifestyle choices profoundly influence the aging process and may even slow or reverse key aspects of biological aging.\n\nEpisode show notes: https://go.hubermanlab.com/MW6SYCf\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/n9IxomBusuw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 David Sinclair\n00:00:20 Longevity, Anti-Aging, Aging as a Disease\n00:02:27 Causes of Aging; Epigenome & Genes\n00:04:53 CD & Scratches Analogy, DNA, Silencing & Expressing Genes\n00:06:44 Physical Appearance & Aging\n00:07:36 Childhood Development & Aging, Horvath Clock, Accelerate Aging\n00:10:13 Rates of Puberty & Aging, Growth Hormone\n00:11:20 Body Size & Longevity; Epigenetics\n00:11:50 Fasting, Calorie Restriction & Longevity, Sirtuins, Insulin & Glucose\n00:15:14 Tool: Skip a Meal\n00:15:50 Longer Fasts & Autophagy, “Deep Cleanse”; Fluids, Electrolytes\n00:17:28 Sirtuins, Glucose, mTOR & Fasting; Leucine, Tool: Pulsing Behaviors\n00:21:37 Breaking a Fast, Tools: Do Your Best; Transitions\n00:24:13 Sirtuins, NAD, NMN Supplementation\n00:26:18 Iron & Senescent Cells; Personalize Medicine\n00:27:48 Tool: Blood Markers, CRP\n00:29:57 Tool: Aerobic & Resistance Exercise\n00:31:02 Estrogen, Fasting & Fertility; Aging & Rejuvenation\n00:33:28 Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: The Biology of Slowing & Reversing Aging | Dr. David Sinclair", 2039, false, "Ykvkg2Jz3X8", "https://www.youtube.com/watch?v=Ykvkg2Jz3X8", "/downloads/Andrew Huberman/2025-10-30 Essentials: The Biology of Slowing & Reversing Aging | Dr. David Sinclair/Essentials: The Biology of Slowing & Reversing Aging | Dr. David Sinclair [Ykvkg2Jz3X8].mp4", false, 4, ~U[2025-10-30 12:01:11Z]] 17:13:58.801 [debug] QUERY OK source="sources" db=0.6ms queue=0.2ms idle=9.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.802 [debug] QUERY OK source="media_items" db=0.9ms idle=7.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 12:00:31Z], 4] 17:13:58.805 [debug] QUERY OK source="media_items" db=2.2ms idle=7.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the science of gratitude and how to develop an effective, research-supported gratitude practice.\n\nI explain why common gratitude practices (like simply listing things you're grateful for) are far less impactful than engaging in story-based gratitude practices. I also explain how being grateful activates specific brain regions, which enhance calm, social connection and motivation, while reducing anxiety and inflammation. Finally, I share why we can't simply trick our brains into feeling grateful and describe a practical weekly gratitude practice that will improve both your mental and physical well-being.\n\nEpisode show notes: https://go.hubermanlab.com/bpHpAWB\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/KVjfFN89qvQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Gratitude\n00:00:30 Gratitude Practice Benefits\n00:03:22 Pro-Social vs Defensive Behaviors, Gratitude\n00:06:25 Serotonin, Brain & Context; Gratitude Mindset\n00:12:21 Context, Can You Lie to Yourself?\n00:13:06 Effective Gratitude Practice, Tools: Receiving Gratitude, Story\n00:19:36 Tool: Find & Revisit Inspirational Stories\n00:24:19 Heartfelt Intention, Genuine Thanks\n00:26:31 Gratitude Practice Benefits for Anxiety, Fear & Motivation\n00:28:58 Gratitude Practice Benefits for Immune System\n00:31:31 Recap: Establishing an Effective Gratitude Practice\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science of Gratitude & How to Build a Gratitude Practice | Huberman Lab Essentials", "f255d4d2-6a02-418a-8570-74d8f5d8956d", 2085, false, "9gJLWk3W5GQ", "https://www.youtube.com/watch?v=9gJLWk3W5GQ", 46, "/downloads/Andrew Huberman/2025-10-23 The Science of Gratitude & How to Build a Gratitude Practice | Huberman Lab Essentials/The Science of Gratitude & How to Build a Gratitude Practice | Huberman Lab Essentials [9gJLWk3W5GQ].mp4", false, false, false, 4, [], 1, ~U[2025-10-23 12:00:31Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the science of gratitude and how to develop an effective, research-supported gratitude practice.\n\nI explain why common gratitude practices (like simply listing things you're grateful for) are far less impactful than engaging in story-based gratitude practices. I also explain how being grateful activates specific brain regions, which enhance calm, social connection and motivation, while reducing anxiety and inflammation. Finally, I share why we can't simply trick our brains into feeling grateful and describe a practical weekly gratitude practice that will improve both your mental and physical well-being.\n\nEpisode show notes: https://go.hubermanlab.com/bpHpAWB\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/KVjfFN89qvQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Gratitude\n00:00:30 Gratitude Practice Benefits\n00:03:22 Pro-Social vs Defensive Behaviors, Gratitude\n00:06:25 Serotonin, Brain & Context; Gratitude Mindset\n00:12:21 Context, Can You Lie to Yourself?\n00:13:06 Effective Gratitude Practice, Tools: Receiving Gratitude, Story\n00:19:36 Tool: Find & Revisit Inspirational Stories\n00:24:19 Heartfelt Intention, Genuine Thanks\n00:26:31 Gratitude Practice Benefits for Anxiety, Fear & Motivation\n00:28:58 Gratitude Practice Benefits for Immune System\n00:31:31 Recap: Establishing an Effective Gratitude Practice\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science of Gratitude & How to Build a Gratitude Practice | Huberman Lab Essentials", 2085, false, "9gJLWk3W5GQ", "https://www.youtube.com/watch?v=9gJLWk3W5GQ", "/downloads/Andrew Huberman/2025-10-23 The Science of Gratitude & How to Build a Gratitude Practice | Huberman Lab Essentials/The Science of Gratitude & How to Build a Gratitude Practice | Huberman Lab Essentials [9gJLWk3W5GQ].mp4", false, 4, ~U[2025-10-23 12:00:31Z]] 17:13:58.806 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms idle=9.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.807 [debug] QUERY OK source="media_items" db=0.7ms idle=7.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-16 12:00:01Z], 4] 17:13:58.811 [debug] QUERY OK source="media_items" db=2.4ms idle=6.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Berson, PhD, a professor of neuroscience at Brown University and an expert on the visual system and circadian biology.\n\nWe explore how the brain processes visual information, from photons entering the eye to conscious perception in the cortex. We discuss color vision, the discovery of melanopsin and intrinsically photosensitive retinal ganglion cells, and how light regulates our circadian clock and melatonin release. We also examine the vestibular system's role in balance and motion detection, the cerebellum's function in motor coordination, and the midbrain's integration of multiple sensory inputs. Finally, we discuss the basal ganglia's role in decision-making and an extraordinary case of neuroplasticity in visual cortex.\n\nEpisode show notes: https://go.hubermanlab.com/kJOETdg\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/oC3fhUjg30E\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. David Berson*\nDr. Berson’s academic profile: https://vivo.brown.edu/display/dberson\nEyewire (contribute to neuroscience research from home/computer): https://eyewire.org/explore\nBest neuroscience textbook: https://amzn.to/4n87UoC\nWe Know It When We See It: What the Neurobiology of Vision Tells Us About How We Think (book): https://amzn.to/47qC9lU\n\n*Timestamps*\n00:00:00 Dr. David Berson\n00:00:38 Visual Perception, Photons & Retinal Processing, Ganglion Cells\n00:02:12 Color Vision, Wavelengths & Photoreceptors; Cones & Rods\n00:06:32 Melanopsin, Intrinsically Photosensitive Retinal Ganglion Cells & Brightness Detection\n00:08:45 Circadian Clock & Synchronization, Suprachiasmatic Nucleus (SCN); Master Clock Function\n00:11:30 Hypothalamus, Autonomic Nervous System & Hormonal Systems\n00:12:12 Tool: Light Exposure & Melatonin Regulation, Pineal Function\n00:13:06 Vestibular System, Balance & Motion Detection; Semicircular Canals\n00:15:45 Vestibulo-Ocular Reflex, Image Stabilization & Head Rotation\n00:17:22 Motion Sickness, Visual-Vestibular Conflict; Tool: Avoiding Nausea\n00:19:06 Cerebellum, Motor Coordination & Learning\n00:20:28 Cerebellar Function, Precision & Timing of Movement; Cerebellar Ataxia\n00:21:56 Flocculus & Visual-Vestibular Integration\n00:22:52 Midbrain, Brainstem & Reflexive Behavior; Superior Colliculus\n00:25:33 Spatial Orientation & Multisensory Integration; Rattlesnake Heat Detection\n00:27:20 Sensory Integration & Corroboration\n00:28:12 Basal Ganglia, Go vs No-Go Behavior & Decision Making\n00:29:15 Tool: Impulse Control & Delayed Gratification, Marshmallow Test\n00:30:13 Individual Differences, Genetics & Experience\n00:31:05 Visual Cortex, Neural Processing & Brain Plasticity\n00:32:00 Cortical Reorganization, Braille Reading & Stroke Recovery\n00:34:34 David Berson's Work; Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How Your Brain Functions & Interprets the World | Dr. David Berson", "648bfb0d-0318-474b-a47d-03638d80093d", 2144, false, "-zI0ZgKM0xA", "https://www.youtube.com/watch?v=-zI0ZgKM0xA", 47, "/downloads/Andrew Huberman/2025-10-16 Essentials: How Your Brain Functions & Interprets the World | Dr. David Berson/Essentials: How Your Brain Functions & Interprets the World | Dr. David Berson [-zI0ZgKM0xA].mp4", false, false, false, 4, [], 1, ~U[2025-10-16 12:00:01Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Berson, PhD, a professor of neuroscience at Brown University and an expert on the visual system and circadian biology.\n\nWe explore how the brain processes visual information, from photons entering the eye to conscious perception in the cortex. We discuss color vision, the discovery of melanopsin and intrinsically photosensitive retinal ganglion cells, and how light regulates our circadian clock and melatonin release. We also examine the vestibular system's role in balance and motion detection, the cerebellum's function in motor coordination, and the midbrain's integration of multiple sensory inputs. Finally, we discuss the basal ganglia's role in decision-making and an extraordinary case of neuroplasticity in visual cortex.\n\nEpisode show notes: https://go.hubermanlab.com/kJOETdg\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/oC3fhUjg30E\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. David Berson*\nDr. Berson’s academic profile: https://vivo.brown.edu/display/dberson\nEyewire (contribute to neuroscience research from home/computer): https://eyewire.org/explore\nBest neuroscience textbook: https://amzn.to/4n87UoC\nWe Know It When We See It: What the Neurobiology of Vision Tells Us About How We Think (book): https://amzn.to/47qC9lU\n\n*Timestamps*\n00:00:00 Dr. David Berson\n00:00:38 Visual Perception, Photons & Retinal Processing, Ganglion Cells\n00:02:12 Color Vision, Wavelengths & Photoreceptors; Cones & Rods\n00:06:32 Melanopsin, Intrinsically Photosensitive Retinal Ganglion Cells & Brightness Detection\n00:08:45 Circadian Clock & Synchronization, Suprachiasmatic Nucleus (SCN); Master Clock Function\n00:11:30 Hypothalamus, Autonomic Nervous System & Hormonal Systems\n00:12:12 Tool: Light Exposure & Melatonin Regulation, Pineal Function\n00:13:06 Vestibular System, Balance & Motion Detection; Semicircular Canals\n00:15:45 Vestibulo-Ocular Reflex, Image Stabilization & Head Rotation\n00:17:22 Motion Sickness, Visual-Vestibular Conflict; Tool: Avoiding Nausea\n00:19:06 Cerebellum, Motor Coordination & Learning\n00:20:28 Cerebellar Function, Precision & Timing of Movement; Cerebellar Ataxia\n00:21:56 Flocculus & Visual-Vestibular Integration\n00:22:52 Midbrain, Brainstem & Reflexive Behavior; Superior Colliculus\n00:25:33 Spatial Orientation & Multisensory Integration; Rattlesnake Heat Detection\n00:27:20 Sensory Integration & Corroboration\n00:28:12 Basal Ganglia, Go vs No-Go Behavior (truncated) 17:13:58.812 [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" = ?) [4] 17:13:58.813 [debug] QUERY OK source="media_items" db=0.6ms idle=7.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-09 12:01:51Z], 4] 17:13:58.815 [debug] QUERY OK source="media_items" db=1.9ms idle=6.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explore how biological rhythms and neurochemicals impact our perception of time.\n\nI describe how the body aligns with daily and seasonal light cycles to regulate hormones that influence energy, mood and motivation throughout the year. I share science-based tools to enhance focus and productivity, including strategies for structuring work intervals and optimizing the timing of exercise and daily light exposure. I also explain how neurotransmitters like dopamine and serotonin influence our perception of time and how factors such as novelty, emotion and routine impact how we experience and recall time.\n\nEpisode show notes: https://go.hubermanlab.com/cns2pS3\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/8IWDAqodDas\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Time Perception\n00:00:48 Entrainment, Circannual Rhythms & Melatonin\n00:04:22 Circadian Rhythms, Tools: Exercise; Morning & Evening Light for Circadian Entrainment\n00:09:01 Ultradian Cycles, Focus & Work\n00:12:37 Time Perception, Past, Present & Future\n00:14:53 Dopamine, Norepinephrine & Serotonin, Time Perception\n00:17:11 Dopamine & Serotonin, Daily Fluctuations, Tool: Structuring Work, Sleep\n00:18:52 Trauma, “Over-clocking”, Slowing Time & Emotions\n00:23:30 Event Perception (Fun vs Boring), Time & Memories\n00:26:37 Novel Experiences, Places & People, Retrospective Time \n00:28:38 Habits, Tool: Schedule Functional Units\n00:30:13 Recap & Book Suggestion\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Time Perception, Memory & Focus | Huberman Lab Essentials", "4acb558f-0aea-4551-88d6-02bc8cde719a", 1855, false, "vXTK0Ac9i1Q", "https://www.youtube.com/watch?v=vXTK0Ac9i1Q", 48, "/downloads/Andrew Huberman/2025-10-09 Time Perception, Memory & Focus | Huberman Lab Essentials/Time Perception, Memory & Focus | Huberman Lab Essentials [vXTK0Ac9i1Q].mp4", false, false, false, 4, [], 1, ~U[2025-10-09 12:01:51Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explore how biological rhythms and neurochemicals impact our perception of time.\n\nI describe how the body aligns with daily and seasonal light cycles to regulate hormones that influence energy, mood and motivation throughout the year. I share science-based tools to enhance focus and productivity, including strategies for structuring work intervals and optimizing the timing of exercise and daily light exposure. I also explain how neurotransmitters like dopamine and serotonin influence our perception of time and how factors such as novelty, emotion and routine impact how we experience and recall time.\n\nEpisode show notes: https://go.hubermanlab.com/cns2pS3\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/8IWDAqodDas\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Time Perception\n00:00:48 Entrainment, Circannual Rhythms & Melatonin\n00:04:22 Circadian Rhythms, Tools: Exercise; Morning & Evening Light for Circadian Entrainment\n00:09:01 Ultradian Cycles, Focus & Work\n00:12:37 Time Perception, Past, Present & Future\n00:14:53 Dopamine, Norepinephrine & Serotonin, Time Perception\n00:17:11 Dopamine & Serotonin, Daily Fluctuations, Tool: Structuring Work, Sleep\n00:18:52 Trauma, “Over-clocking”, Slowing Time & Emotions\n00:23:30 Event Perception (Fun vs Boring), Time & Memories\n00:26:37 Novel Experiences, Places & People, Retrospective Time \n00:28:38 Habits, Tool: Schedule Functional Units\n00:30:13 Recap & Book Suggestion\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Time Perception, Memory & Focus | Huberman Lab Essentials", 1855, false, "vXTK0Ac9i1Q", "https://www.youtube.com/watch?v=vXTK0Ac9i1Q", "/downloads/Andrew Huberman/2025-10-09 Time Perception, Memory & Focus | Huberman Lab Essentials/Time Perception, Memory & Focus | Huberman Lab Essentials [vXTK0Ac9i1Q].mp4", false, 4, ~U[2025-10-09 12:01:51Z]] 17:13:58.816 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [4] 17:13:58.817 [debug] QUERY OK source="media_items" db=0.4ms idle=6.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-02 12:01:03Z], 4] 17:13:58.820 [debug] QUERY OK source="media_items" db=1.9ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Buss, PhD, a professor of psychology at the University of Texas at Austin and a pioneer in the field of evolutionary psychology.\n\nWe explore the science behind human mate selection in both short- and long-term relationships. We discuss universal traits valued in long-term partners along with key differences between women and men in what they prioritize when selecting a mate. We also discuss the darker aspects of mating behavior, such as deception, the evolutionary function of jealousy and the motivations behind stalking.\n\nEpisode show notes: https://go.hubermanlab.com/91Vn4e1\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/HXzTbCEqCJc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. David Buss*\nBooks: https://amzn.to/4pPNWS3\nLab website: https://labs.la.utexas.edu/buss/david-buss\nX: https://x.com/ProfDavidBuss\nLinkedIn: https://www.linkedin.com/in/davidmbuss\n\n*Timestamps*\n00:00:00 David Buss\n00:00:21 Mate Selection, Preferences & Competition\n00:03:26 Desirable Qualities of Men & Women, Universal Traits for Long-Term Mates\n00:04:38 Women’s Preferences; Men’s Preferences; Age Differences\n00:08:58 Mate Deception & Online Dating, Tool: Travel, Stress & Emotional Stability \n00:12:07 Short- vs Long-Term Mates, Men vs Women Preferences\n00:14:23 Jealousy, Mate Value Discrepancy, Vigilance to Violence\n00:17:07 The Dark Triad, Sexual Harassment & Coercion\n00:19:14 Stalking, Motivations & Outcomes\n00:21:53 Childhood Attachment Styles & Relationship Stability\n00:22:58 Self-Assessment for Mate Value, Self-Esteem\n00:26:35 Evolutionary Psychology & Neuroscience\n00:27:20 David Buss’ Books; Acknowledgements \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How Humans Select & Keep Romantic Partners in the Short & Long Term | Dr. David Buss", "1fc7b732-6323-43e3-aa07-dda72101d6a0", 1861, false, "VqiPNN4Jblk", "https://www.youtube.com/watch?v=VqiPNN4Jblk", 49, "/downloads/Andrew Huberman/2025-10-02 Essentials: How Humans Select & Keep Romantic Partners in the Short & Long Term | Dr. David Buss/Essentials: How Humans Select & Keep Romantic Partners in the Short & Long Term | Dr. David Buss [VqiPNN4Jblk].mp4", false, false, false, 4, [], 1, ~U[2025-10-02 12:01:03Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. David Buss, PhD, a professor of psychology at the University of Texas at Austin and a pioneer in the field of evolutionary psychology.\n\nWe explore the science behind human mate selection in both short- and long-term relationships. We discuss universal traits valued in long-term partners along with key differences between women and men in what they prioritize when selecting a mate. We also discuss the darker aspects of mating behavior, such as deception, the evolutionary function of jealousy and the motivations behind stalking.\n\nEpisode show notes: https://go.hubermanlab.com/91Vn4e1\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/HXzTbCEqCJc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. David Buss*\nBooks: https://amzn.to/4pPNWS3\nLab website: https://labs.la.utexas.edu/buss/david-buss\nX: https://x.com/ProfDavidBuss\nLinkedIn: https://www.linkedin.com/in/davidmbuss\n\n*Timestamps*\n00:00:00 David Buss\n00:00:21 Mate Selection, Preferences & Competition\n00:03:26 Desirable Qualities of Men & Women, Universal Traits for Long-Term Mates\n00:04:38 Women’s Preferences; Men’s Preferences; Age Differences\n00:08:58 Mate Deception & Online Dating, Tool: Travel, Stress & Emotional Stability \n00:12:07 Short- vs Long-Term Mates, Men vs Women Preferences\n00:14:23 Jealousy, Mate Value Discrepancy, Vigilance to Violence\n00:17:07 The Dark Triad, Sexual Harassment & Coercion\n00:19:14 Stalking, Motivations & Outcomes\n00:21:53 Childhood Attachment Styles & Relationship Stability\n00:22:58 Self-Assessment for Mate Value, Self-Esteem\n00:26:35 Evolutionary Psychology & Neuroscience\n00:27:20 David Buss’ Books; Acknowledgements \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How Humans Select & Keep Romantic Partners in the Short & Long Term | Dr. David Buss", 1861, false, "VqiPNN4Jblk", "https://www.youtube.com/watch?v=VqiPNN4Jblk", "/downloads/Andrew Huberman/2025-10-02 Essentials: How Humans Select & Keep Romantic Partners in the Short & Long Term | Dr. David Buss/Essentials: How Humans Select & Keep Romantic Partners in the Short & Long Term | Dr. David Buss [VqiPNN4Jblk].mp4", false, 4, ~U[2025-10-02 12:01:03Z]] 17:13:58.820 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.821 [debug] QUERY OK source="media_items" db=0.4ms idle=5.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-25 12:01:39Z], 4] 17:13:58.824 [debug] QUERY OK source="media_items" db=1.6ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how the immune system defends against infection and describe the relationship between the immune and nervous systems.\n\nI discuss the immune system's three primary layers of defense, emphasizing how each contributes to protection from infection. I share practical tools to enhance immune function and accelerate recovery from sickness, including specific breathing patterns, sleep positioning and targeted supplementation. I also explore the powerful mind-body connection, showing how mindset and nervous system activation can directly influence the body's ability to heal.\n\nEpisode show notes: https://go.hubermanlab.com/rzAunNW\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/poOf8b2WE2g\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Immune System & Nervous System\n00:00:33 Immune System 101, Innate & Adaptive Immune Systems\n00:08:03 Mucus & Microbiome, Tools: Nasal Breathing; Avoid Eyes; Ingest Fermented Foods\n00:10:57 Sickness Behavior & Vagus Nerve, Fever, Photophobia, Rest\n00:15:35 Humoral Factors, Inflammatory Cytokines\n00:17:05 Sleep & Enhancing Immune System, Glymphatic System, Tool: Elevate Feet\n00:20:04 Stress & Inflammation, Tool: Early Symptoms & Cyclic Hyperventilation\n00:28:29 Positive Mindset & Immune Function, Dopamine\n00:31:22 Electroacupuncture, Fascia, Catecholamines & Inflammation \n00:33:42 Accelerating Recovery, Medication, Tool: Spirulina & Rhinitis\n00:35:53 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Your Nervous System to Enhance Your Immune System | Huberman Lab Essentials", "dfb37fb2-74be-483f-ac70-a0b9db884238", 2182, false, "pN1UL1M9sqc", "https://www.youtube.com/watch?v=pN1UL1M9sqc", 50, "/downloads/Andrew Huberman/2025-09-25 Using Your Nervous System to Enhance Your Immune System | Huberman Lab Essentials/Using Your Nervous System to Enhance Your Immune System | Huberman Lab Essentials [pN1UL1M9sqc].mp4", false, false, false, 4, [], 1, ~U[2025-09-25 12:01:39Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how the immune system defends against infection and describe the relationship between the immune and nervous systems.\n\nI discuss the immune system's three primary layers of defense, emphasizing how each contributes to protection from infection. I share practical tools to enhance immune function and accelerate recovery from sickness, including specific breathing patterns, sleep positioning and targeted supplementation. I also explore the powerful mind-body connection, showing how mindset and nervous system activation can directly influence the body's ability to heal.\n\nEpisode show notes: https://go.hubermanlab.com/rzAunNW\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/poOf8b2WE2g\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Immune System & Nervous System\n00:00:33 Immune System 101, Innate & Adaptive Immune Systems\n00:08:03 Mucus & Microbiome, Tools: Nasal Breathing; Avoid Eyes; Ingest Fermented Foods\n00:10:57 Sickness Behavior & Vagus Nerve, Fever, Photophobia, Rest\n00:15:35 Humoral Factors, Inflammatory Cytokines\n00:17:05 Sleep & Enhancing Immune System, Glymphatic System, Tool: Elevate Feet\n00:20:04 Stress & Inflammation, Tool: Early Symptoms & Cyclic Hyperventilation\n00:28:29 Positive Mindset & Immune Function, Dopamine\n00:31:22 Electroacupuncture, Fascia, Catecholamines & Inflammation \n00:33:42 Accelerating Recovery, Medication, Tool: Spirulina & Rhinitis\n00:35:53 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Your Nervous System to Enhance Your Immune System | Huberman Lab Essentials", 2182, false, "pN1UL1M9sqc", "https://www.youtube.com/watch?v=pN1UL1M9sqc", "/downloads/Andrew Huberman/2025-09-25 Using Your Nervous System to Enhance Your Immune System | Huberman Lab Essentials/Using Your Nervous System to Enhance Your Immune System | Huberman Lab Essentials [pN1UL1M9sqc].mp4", false, 4, ~U[2025-09-25 12:01:39Z]] 17:13:58.824 [debug] QUERY OK source="sources" db=0.2ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.825 [debug] QUERY OK source="media_items" db=0.4ms idle=5.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-18 12:01:18Z], 4] 17:13:58.828 [debug] QUERY OK source="media_items" db=2.0ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is Dr. Duncan French, PhD, the vice president of performance at the UFC Performance Institute and a world-class performance specialist.\n\nWe explain how resistance training and acute stress impact hormones and outline specific weight training protocols to increase testosterone to support strength and hypertrophy. We also discuss how to use cold and heat exposure to enhance recovery and performance. Finally, we explain how to match nutrition to training goals and improve metabolic flexibility.\n\nEpisode show notes: https://go.hubermanlab.com/VLuwKLs\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/iMvtHqLmEkI\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Duncan French\n00:00:20 Resistance Training & Hormones, Testosterone, Men vs Women\n00:04:32 Increase Testosterone & Resistance Intensity, Tool: 6 x 10 Protocol\n00:07:53 Rest Periods & Metabolic Stimulus\n00:09:26 Weekly Training Sessions, Varied Intensity & Volume, Recovery\n00:10:53 Short-Term Stress, Testosterone & Performance, Mindset\n00:13:24 Deliberate Cold Exposure, Mindset & Recovery\n00:15:33 Tool: Cold Periodization, Recovery & Goals\n00:20:31 Sport, Skill Training & Quality Movement, Fatigue; Mental Fatigue\n00:22:57 High-Intensity Training & Carbohydrates; Exogenous Ketones; Ketogenic Diet\n00:26:10 Metabolic Efficiency, Carbohydrates & Fat Stores, Tool: Nutrition Periodization\n00:29:23 Heat Adaptation, Sauna, Sweating\n00:32:22 Training, Nutrition & Adaptations, Tool: 12 Week Program\n00:34:15 Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Exercise for Strength Gains & Hormone Optimization | Dr. Duncan French", "6ca6e67f-f8ef-4e27-9d4d-5c566f3beeee", 2097, false, "dy_iLCJggO0", "https://www.youtube.com/watch?v=dy_iLCJggO0", 51, "/downloads/Andrew Huberman/2025-09-18 Essentials: How to Exercise for Strength Gains & Hormone Optimization | Dr. Duncan French/Essentials: How to Exercise for Strength Gains & Hormone Optimization | Dr. Duncan French [dy_iLCJggO0].mp4", false, false, false, 4, [], 1, ~U[2025-09-18 12:01:18Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is Dr. Duncan French, PhD, the vice president of performance at the UFC Performance Institute and a world-class performance specialist.\n\nWe explain how resistance training and acute stress impact hormones and outline specific weight training protocols to increase testosterone to support strength and hypertrophy. We also discuss how to use cold and heat exposure to enhance recovery and performance. Finally, we explain how to match nutrition to training goals and improve metabolic flexibility.\n\nEpisode show notes: https://go.hubermanlab.com/VLuwKLs\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/iMvtHqLmEkI\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Duncan French\n00:00:20 Resistance Training & Hormones, Testosterone, Men vs Women\n00:04:32 Increase Testosterone & Resistance Intensity, Tool: 6 x 10 Protocol\n00:07:53 Rest Periods & Metabolic Stimulus\n00:09:26 Weekly Training Sessions, Varied Intensity & Volume, Recovery\n00:10:53 Short-Term Stress, Testosterone & Performance, Mindset\n00:13:24 Deliberate Cold Exposure, Mindset & Recovery\n00:15:33 Tool: Cold Periodization, Recovery & Goals\n00:20:31 Sport, Skill Training & Quality Movement, Fatigue; Mental Fatigue\n00:22:57 High-Intensity Training & Carbohydrates; Exogenous Ketones; Ketogenic Diet\n00:26:10 Metabolic Efficiency, Carbohydrates & Fat Stores, Tool: Nutrition Periodization\n00:29:23 Heat Adaptation, Sauna, Sweating\n00:32:22 Training, Nutrition & Adaptations, Tool: 12 Week Program\n00:34:15 Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: How to Exercise for Strength Gains & Hormone Optimization | Dr. Duncan French", 2097, false, "dy_iLCJggO0", "https://www.youtube.com/watch?v=dy_iLCJggO0", "/downloads/Andrew Huberman/2025-09-18 Essentials: How to Exercise for Strength Gains & Hormone Optimization | Dr. Duncan French/Essentials: How to Exercise for Strength Gains & Hormone Optimization | Dr. Duncan French [dy_iLCJggO0].mp4", false, 4, ~U[2025-09-18 12:01:18Z]] 17:13:58.829 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [4] 17:13:58.830 [debug] QUERY OK source="media_items" db=0.4ms idle=6.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-11 12:01:19Z], 4] 17:13:58.832 [debug] QUERY OK source="media_items" db=1.7ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I discuss science-supported nutrients that directly support brain structure, function and long-term cognitive health.\n\nI highlight specific nutrients, including omega-3 fatty acids, creatine, phosphatidylserine, anthocyanins, choline and glutamine, and discuss their recommended doses and dietary sources. I also describe how taste perception, gut-brain signaling and learned associations shape what foods we prefer and crave. Finally, I share practical behavioral tools to help rewire your food preferences toward healthier choices.\n\nEpisode show notes: https://go.hubermanlab.com/Nyby76Z\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/E7W4OQfJWdw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Food & Brain Health \n00:01:32 Structural Fat & Neurons, Tools: Omega-3s, EPA; Phosphatidylserine\n00:05:11 Acetylcholine & Focus, Tool: Dietary Choline\n00:06:48 Creatine & Brain Health, Tool: Creatine Supplementation\n00:08:26 Anthocyanins & Brain Function, Tool: Blueberries & Berries\n00:09:37 Glutamine & Brain, Tool: Glutamine & Offset Sugar Cravings\n00:11:33 Brain-Boosting Nutrients, Foods & Supplements\n00:13:48 Food Preference; Yum, Yuck or Meh; Mouth, Taste & Palatability \n00:18:15 Gut, Nutrients & Subconscious Signaling\n00:20:41 Learned Food Preferences, Tool: Unpair Artificial Sweeteners\n00:26:34 Belief Effects, Satiety, Tool: Rewiring Food Preferences\n00:31:53 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Food & Supplements for Brain Health & Cognitive Performance | Huberman Lab Essentials", "6fea632a-eb20-4781-bd27-c5fcdc705304", 1954, false, "cIla9axQRyM", "https://www.youtube.com/watch?v=cIla9axQRyM", 52, "/downloads/Andrew Huberman/2025-09-11 Food & Supplements for Brain Health & Cognitive Performance | Huberman Lab Essentials/Food & Supplements for Brain Health & Cognitive Performance | Huberman Lab Essentials [cIla9axQRyM].mp4", false, false, false, 4, [], 1, ~U[2025-09-11 12:01:19Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I discuss science-supported nutrients that directly support brain structure, function and long-term cognitive health.\n\nI highlight specific nutrients, including omega-3 fatty acids, creatine, phosphatidylserine, anthocyanins, choline and glutamine, and discuss their recommended doses and dietary sources. I also describe how taste perception, gut-brain signaling and learned associations shape what foods we prefer and crave. Finally, I share practical behavioral tools to help rewire your food preferences toward healthier choices.\n\nEpisode show notes: https://go.hubermanlab.com/Nyby76Z\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/E7W4OQfJWdw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Food & Brain Health \n00:01:32 Structural Fat & Neurons, Tools: Omega-3s, EPA; Phosphatidylserine\n00:05:11 Acetylcholine & Focus, Tool: Dietary Choline\n00:06:48 Creatine & Brain Health, Tool: Creatine Supplementation\n00:08:26 Anthocyanins & Brain Function, Tool: Blueberries & Berries\n00:09:37 Glutamine & Brain, Tool: Glutamine & Offset Sugar Cravings\n00:11:33 Brain-Boosting Nutrients, Foods & Supplements\n00:13:48 Food Preference; Yum, Yuck or Meh; Mouth, Taste & Palatability \n00:18:15 Gut, Nutrients & Subconscious Signaling\n00:20:41 Learned Food Preferences, Tool: Unpair Artificial Sweeteners\n00:26:34 Belief Effects, Satiety, Tool: Rewiring Food Preferences\n00:31:53 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Food & Supplements for Brain Health & Cognitive Performance | Huberman Lab Essentials", 1954, false, "cIla9axQRyM", "https://www.youtube.com/watch?v=cIla9axQRyM", "/downloads/Andrew Huberman/2025-09-11 Food & Supplements for Brain Health & Cognitive Performance | Huberman Lab Essentials/Food & Supplements for Brain Health & Cognitive Performance | Huberman Lab Essentials [cIla9axQRyM].mp4", false, 4, ~U[2025-09-11 12:01:19Z]] 17:13:58.833 [debug] QUERY OK source="sources" db=0.2ms idle=7.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.834 [debug] QUERY OK source="media_items" db=0.4ms idle=5.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-04 12:00:06Z], 4] 17:13:58.836 [debug] QUERY OK source="media_items" db=1.6ms idle=5.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Alia Crum, PhD, professor of psychology at Stanford University and the director of the Stanford Mind & Body Lab.\n\nDr. Crum explains that our mindsets—for example, what we believe about stress, exercise and the food we eat—shape how we feel, behave and even how our bodies respond. We discuss studies showing simply believing a food is indulgent can shift satiety hormones and that viewing your daily activity as real exercise can improve weight loss and health markers. We also discuss how to reframe stress so it becomes a tool for growth and improved performance.\n\nEpisode show notes: https://go.hubermanlab.com/rTtaOnp\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/dFR_wFN23ZY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Alia Crum\n00:00:20 Mindset, Core Beliefs; Examples of Mindset\n00:04:56 Mindset Shapes Body’s Response, Placebo Effects, Tool: Mindset for Weight Loss\n00:10:18 Different Diets & Mindset\n00:11:51 Nocebo Effect\n00:12:45 Exercise Mindsets, Weight Loss & Health Benefits\n00:15:31 Stress, Tool: Stress is Enhancing Mindset, Mental & Physical Benefits\n00:22:43 Mindset, Stress, Motivation & Physiology; Hormones\n00:26:09 Mindsets as Portals to Unconscious, Tool: Stress Mindset Awareness\n00:27:43 Leverage Stress, Tool: Adopt a Stress is Enhancing Mindset\n00:30:47 Mindsets Matter, Athletics\n00:32:35 Resources, Toolkits & Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Science of Mindsets for Health & Performance | Dr. Alia Crum", "168a9fdc-9e26-4497-ba99-2bbe4c21f280", 2052, false, "alVWRl_X_AA", "https://www.youtube.com/watch?v=alVWRl_X_AA", 53, "/downloads/Andrew Huberman/2025-09-04 Essentials: Science of Mindsets for Health & Performance | Dr. Alia Crum/Essentials: Science of Mindsets for Health & Performance | Dr. Alia Crum [alVWRl_X_AA].mp4", false, false, false, 4, [], 1, ~U[2025-09-04 12:00:06Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Alia Crum, PhD, professor of psychology at Stanford University and the director of the Stanford Mind & Body Lab.\n\nDr. Crum explains that our mindsets—for example, what we believe about stress, exercise and the food we eat—shape how we feel, behave and even how our bodies respond. We discuss studies showing simply believing a food is indulgent can shift satiety hormones and that viewing your daily activity as real exercise can improve weight loss and health markers. We also discuss how to reframe stress so it becomes a tool for growth and improved performance.\n\nEpisode show notes: https://go.hubermanlab.com/rTtaOnp\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/dFR_wFN23ZY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Alia Crum\n00:00:20 Mindset, Core Beliefs; Examples of Mindset\n00:04:56 Mindset Shapes Body’s Response, Placebo Effects, Tool: Mindset for Weight Loss\n00:10:18 Different Diets & Mindset\n00:11:51 Nocebo Effect\n00:12:45 Exercise Mindsets, Weight Loss & Health Benefits\n00:15:31 Stress, Tool: Stress is Enhancing Mindset, Mental & Physical Benefits\n00:22:43 Mindset, Stress, Motivation & Physiology; Hormones\n00:26:09 Mindsets as Portals to Unconscious, Tool: Stress Mindset Awareness\n00:27:43 Leverage Stress, Tool: Adopt a Stress is Enhancing Mindset\n00:30:47 Mindsets Matter, Athletics\n00:32:35 Resources, Toolkits & Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Science of Mindsets for Health & Performance | Dr. Alia Crum", 2052, false, "alVWRl_X_AA", "https://www.youtube.com/watch?v=alVWRl_X_AA", "/downloads/Andrew Huberman/2025-09-04 Essentials: Science of Mindsets for Health & Performance | Dr. Alia Crum/Essentials: Science of Mindsets for Health & Performance | Dr. Alia Crum [alVWRl_X_AA].mp4", false, 4, ~U[2025-09-04 12:00:06Z]] 17:13:58.837 [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" = ?) [4] 17:13:58.838 [debug] QUERY OK source="media_items" db=0.4ms idle=5.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-28 12:00:22Z], 4] 17:13:58.840 [debug] QUERY OK source="media_items" db=1.6ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore intermittent fasting and time-restricted eating, highlighting the positive benefits for weight loss, metabolism, organ health, circadian rhythms and cellular repair.\n\nI explain a practical framework for designing a time-restricted eating window that aligns with your lifestyle, exercise schedule and social schedule. I also cover what breaks a fast, how to support fasting with tools like salt intake and post-meal walks, and the use of fasting-related supplements, including berberine and metformin.\n\nEpisode show notes: https://go.hubermanlab.com/CcvKrMh\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/9tRohh0gErM \n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Intermittent Fasting, Time-Restricted Eating (TRE)\n00:00:50 Diet, Weight Loss, Calories & Hormones\n00:05:52 Body’s Response to Eating vs Fasting, Fasting Duration\n00:09:04 Time-Restricted Feeding & Metabolic Benefits, Circadian Gene Rhythm\n00:14:32 Optimal Meal Timing, Tool: Extend Sleep-Related Fasts\n00:19:42 Eating Window Length, Tools: Adjusting TRE for Building Muscle, Regularity\n00:22:34 Accelerate Transition to Fasting, Glucose Clearing, Tool: After-Meal Walk\n00:24:16 Metformin, Berberine, Continuous Glucose Monitors; Cell Growth vs Repair, mTOR\n00:27:25 Gut Microbiome; Transitioning to Intermittent Fasting & Individualization\n00:29:43 Tool: 8-Hour Feeding Window & Weight Loss\n00:31:05 What Breaks a Fast?, Sugar; Tool: Using Salt to Support Fasting\n00:34:08 Tool: Ideal Feeding Window Guidelines; Exercise & Social Considerations\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Effects of Fasting & Time Restricted Eating on Fat Loss & Health | Huberman Lab Essentials", "a9b11a18-f852-4683-8010-76255fd1fc32", 2302, false, "D61jJJPIQeo", "https://www.youtube.com/watch?v=D61jJJPIQeo", 54, "/downloads/Andrew Huberman/2025-08-28 Effects of Fasting & Time Restricted Eating on Fat Loss & Health | Huberman Lab Essentials/Effects of Fasting & Time Restricted Eating on Fat Loss & Health | Huberman Lab Essentials [D61jJJPIQeo].mp4", false, false, false, 4, [], 1, ~U[2025-08-28 12:00:22Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore intermittent fasting and time-restricted eating, highlighting the positive benefits for weight loss, metabolism, organ health, circadian rhythms and cellular repair.\n\nI explain a practical framework for designing a time-restricted eating window that aligns with your lifestyle, exercise schedule and social schedule. I also cover what breaks a fast, how to support fasting with tools like salt intake and post-meal walks, and the use of fasting-related supplements, including berberine and metformin.\n\nEpisode show notes: https://go.hubermanlab.com/CcvKrMh\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/9tRohh0gErM \n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Intermittent Fasting, Time-Restricted Eating (TRE)\n00:00:50 Diet, Weight Loss, Calories & Hormones\n00:05:52 Body’s Response to Eating vs Fasting, Fasting Duration\n00:09:04 Time-Restricted Feeding & Metabolic Benefits, Circadian Gene Rhythm\n00:14:32 Optimal Meal Timing, Tool: Extend Sleep-Related Fasts\n00:19:42 Eating Window Length, Tools: Adjusting TRE for Building Muscle, Regularity\n00:22:34 Accelerate Transition to Fasting, Glucose Clearing, Tool: After-Meal Walk\n00:24:16 Metformin, Berberine, Continuous Glucose Monitors; Cell Growth vs Repair, mTOR\n00:27:25 Gut Microbiome; Transitioning to Intermittent Fasting & Individualization\n00:29:43 Tool: 8-Hour Feeding Window & Weight Loss\n00:31:05 What Breaks a Fast?, Sugar; Tool: Using Salt to Support Fasting\n00:34:08 Tool: Ideal Feeding Window Guidelines; Exercise & Social Considerations\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Effects of Fasting & Time Restricted Eating on Fat Loss & Health | Huberman Lab Essentials", 2302, false, "D61jJJPIQeo", "https://www.youtube.com/watch?v=D61jJJPIQeo", "/downloads/Andrew Huberman/2025-08-28 Effects of Fasting & Time Restricted Eating on Fat Loss & Health | Huberman Lab Essentials/Effects of Fasting & Time Restricted Eating on Fat Loss & Health | Huberman Lab Essentials [D61jJJPIQeo].mp4", false, 4, ~U[2025-08-28 12:00:22Z]] 17:13:58.841 [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" = ?) [4] 17:13:58.841 [debug] QUERY OK source="media_items" db=0.4ms idle=4.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-21 12:00:05Z], 4] 17:13:58.844 [debug] QUERY OK source="media_items" db=1.7ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Samer Hattar, PhD, the Chief of the Section on Light and Circadian Rhythms at the National Institute of Mental Health.\n\nWe discuss how light powerfully shapes mood, sleep, appetite, learning and overall mental health by aligning—or misaligning—our internal circadian clock. We explain practical protocols to support your circadian rhythm, including morning sunlight exposure, dim evening lighting and regular mealtimes. We also discuss strategies to manage jet lag, limit evening screen use, ease seasonal depression and improve focus by syncing light, sleep and food with natural biological rhythms.\n\nEpisode show notes: https://go.hubermanlab.com/dKJ2cZQ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/oUu3f0ETMJQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Samer Hattar*\nX: https://x.com/samerhattar \nInstagram: https://www.instagram.com/samerhattar\n\n*Timestamps*\n00:00:00 Samer Hattar\n00:00:27 Light, Circadian Clock vs Solar Day, Sleep-Wake Cycle\n00:03:20 Eyes, Photoreceptors & Light Entrainment, Blindness, Sleep\n00:06:13 Morning Light, Artificial Lights, Tool: Morning Sunlight Exposure\n00:08:28 Jet Lag Without Traveling, Sleep Issues, Screens, Staying Indoors\n00:09:18 Chronotypes, Intrinsic Circadian Rhythms\n00:11:10 Afternoon & Evening Light, Tools: Dimming Lights, Reduce Screen Use\n00:13:00 Light Exposure & Effects on Stress, Mood & Learning, Tripartite Model\n00:16:33 Light & Appetite, Tool: Regular Meal Times\n00:19:42 Using Light to Improve Sleep, Mood & Mental Health\n00:21:23 Jet Lag, Tools: Temperature Minimum; Eat on Local Schedule, Avoid Mismatched Light Exposure\n00:24:55 Sleep Issues, Light-Dark Cycle\n00:26:29 Seasonality, Seasonal Depression; Daylight Savings Time\n00:29:46 Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Timing Light for Better Sleep, Energy & Mood | Dr. Samer Hattar", "3429893f-1fa8-4afa-bf10-97befd987ab4", 1845, false, "2XMb3MD6g6Q", "https://www.youtube.com/watch?v=2XMb3MD6g6Q", 55, "/downloads/Andrew Huberman/2025-08-21 Essentials: Timing Light for Better Sleep, Energy & Mood | Dr. Samer Hattar/Essentials: Timing Light for Better Sleep, Energy & Mood | Dr. Samer Hattar [2XMb3MD6g6Q].mp4", false, false, false, 4, [], 1, ~U[2025-08-21 12:00:05Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Samer Hattar, PhD, the Chief of the Section on Light and Circadian Rhythms at the National Institute of Mental Health.\n\nWe discuss how light powerfully shapes mood, sleep, appetite, learning and overall mental health by aligning—or misaligning—our internal circadian clock. We explain practical protocols to support your circadian rhythm, including morning sunlight exposure, dim evening lighting and regular mealtimes. We also discuss strategies to manage jet lag, limit evening screen use, ease seasonal depression and improve focus by syncing light, sleep and food with natural biological rhythms.\n\nEpisode show notes: https://go.hubermanlab.com/dKJ2cZQ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/oUu3f0ETMJQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Samer Hattar*\nX: https://x.com/samerhattar \nInstagram: https://www.instagram.com/samerhattar\n\n*Timestamps*\n00:00:00 Samer Hattar\n00:00:27 Light, Circadian Clock vs Solar Day, Sleep-Wake Cycle\n00:03:20 Eyes, Photoreceptors & Light Entrainment, Blindness, Sleep\n00:06:13 Morning Light, Artificial Lights, Tool: Morning Sunlight Exposure\n00:08:28 Jet Lag Without Traveling, Sleep Issues, Screens, Staying Indoors\n00:09:18 Chronotypes, Intrinsic Circadian Rhythms\n00:11:10 Afternoon & Evening Light, Tools: Dimming Lights, Reduce Screen Use\n00:13:00 Light Exposure & Effects on Stress, Mood & Learning, Tripartite Model\n00:16:33 Light & Appetite, Tool: Regular Meal Times\n00:19:42 Using Light to Improve Sleep, Mood & Mental Health\n00:21:23 Jet Lag, Tools: Temperature Minimum; Eat on Local Schedule, Avoid Mismatched Light Exposure\n00:24:55 Sleep Issues, Light-Dark Cycle\n00:26:29 Seasonality, Seasonal Depression; Daylight Savings Time\n00:29:46 Acknowledgements\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Timing Light for Better Sleep, Energy & Mood | Dr. Samer Hattar", 1845, false, "2XMb3MD6g6Q", "https://www.youtube.com/watch?v=2XMb3MD6g6Q", "/downloads/Andrew Huberman/2025-08-21 Essentials: Timing Light for Better Sleep, Energy & Mood | Dr. Samer Hattar/Essentials: Timing Light for Better Sleep, Energy & Mood | Dr. Samer Hattar [2XMb3MD6g6Q].mp4", false, 4, ~U[2025-08-21 12:00:05Z]] 17:13:58.844 [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" = ?) [4] 17:13:58.845 [debug] QUERY OK source="media_items" db=0.4ms idle=5.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-14 12:00:59Z], 4] 17:13:58.853 [debug] QUERY OK source="media_items" db=6.6ms queue=0.1ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how dopamine regulates motivation and provide science-based tools to help improve focus, discipline and overall drive.\n\nI explore how particular activities affect dopamine levels and discuss how the highs, lows and baseline levels of dopamine shape your motivation and long-term satisfaction. I also explain practical strategies to boost dopamine levels, such as deliberate cold exposure, caffeine, effort-based rewards and specific supplements. Whether you're looking to enhance motivation for school, work or daily life, this episode explains how to get and stay motivated while supporting healthy dopamine levels.\n\nEpisode show notes: https://go.hubermanlab.com/YnpwniW\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/QmOF0crdyRU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Dopamine & Drive\n00:00:33 Neuromodulator; Dopamine Effects, Parkinson’s Disease; Brain Circuits\n00:03:36 Motivation & Dopamine Levels\n00:04:55 Subjective Experience & Dopamine, Activities that Increase Dopamine\n00:08:21 Dopamine Highs, Lows & Baseline; Evolutionary Context, Addiction\n00:13:42 Dopamine Reward Prediction Error, Tool: Intermittent Rewards\n00:15:41 Caffeine & Dopamine; Tool: Yerba Mate & Protecting Dopamine Neurons\n00:17:05 Amphetamine, Cocaine & Challenges for Learning\n00:18:33 Tool: Increase Dopamine & Deliberate Cold Exposure\n00:21:17 Hard Work & Motivation, Intrinsic vs Extrinsic Rewards, Tool: Growth Mindset\n00:26:36 Experiences & Shifting Perception, Dopamine Balance\n00:27:48 Compounds to Increase Dopamine: Wellbutrin, L-Tyrosine, PEA, Alpha-GPC\n00:31:25 Social Connection; Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Controlling Your Dopamine for Motivation, Focus & Satisfaction | Huberman Lab Essentials", "493634c1-60af-479b-9e43-5b400ec465ae", 1974, false, "XeN6eGO6FVQ", "https://www.youtube.com/watch?v=XeN6eGO6FVQ", 56, "/downloads/Andrew Huberman/2025-08-14 Controlling Your Dopamine for Motivation, Focus & Satisfaction | Huberman Lab Essentials/Controlling Your Dopamine for Motivation, Focus & Satisfaction | Huberman Lab Essentials [XeN6eGO6FVQ].mp4", false, false, false, 4, [], 1, ~U[2025-08-14 12:00:59Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I explain how dopamine regulates motivation and provide science-based tools to help improve focus, discipline and overall drive.\n\nI explore how particular activities affect dopamine levels and discuss how the highs, lows and baseline levels of dopamine shape your motivation and long-term satisfaction. I also explain practical strategies to boost dopamine levels, such as deliberate cold exposure, caffeine, effort-based rewards and specific supplements. Whether you're looking to enhance motivation for school, work or daily life, this episode explains how to get and stay motivated while supporting healthy dopamine levels.\n\nEpisode show notes: https://go.hubermanlab.com/YnpwniW\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/QmOF0crdyRU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Dopamine & Drive\n00:00:33 Neuromodulator; Dopamine Effects, Parkinson’s Disease; Brain Circuits\n00:03:36 Motivation & Dopamine Levels\n00:04:55 Subjective Experience & Dopamine, Activities that Increase Dopamine\n00:08:21 Dopamine Highs, Lows & Baseline; Evolutionary Context, Addiction\n00:13:42 Dopamine Reward Prediction Error, Tool: Intermittent Rewards\n00:15:41 Caffeine & Dopamine; Tool: Yerba Mate & Protecting Dopamine Neurons\n00:17:05 Amphetamine, Cocaine & Challenges for Learning\n00:18:33 Tool: Increase Dopamine & Deliberate Cold Exposure\n00:21:17 Hard Work & Motivation, Intrinsic vs Extrinsic Rewards, Tool: Growth Mindset\n00:26:36 Experiences & Shifting Perception, Dopamine Balance\n00:27:48 Compounds to Increase Dopamine: Wellbutrin, L-Tyrosine, PEA, Alpha-GPC\n00:31:25 Social Connection; Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Controlling Your Dopamine for Motivation, Focus & Satisfaction | Huberman Lab Essentials", 1974, false, "XeN6eGO6FVQ", "https://www.youtube.com/watch?v=XeN6eGO6FVQ", "/downloads/Andrew Huberman/2025-08-14 Controlling Your Dopamine for Motivation, Focus & Satisfaction | Huberman Lab Essentials/Controlling Your Dopamine for Motivation, Focus & Satisfaction | Huberman Lab Essentials [XeN6eGO6FVQ].mp4", false, 4, ~U[2025-08-14 12:00:59Z]] 17:13:58.853 [debug] QUERY OK source="sources" db=0.3ms idle=11.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.854 [debug] QUERY OK source="media_items" db=0.7ms idle=10.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-07 12:00:03Z], 4] 17:13:58.857 [debug] QUERY OK source="media_items" db=2.1ms idle=10.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Craig Heller, PhD, a professor of biology at Stanford University and a world expert on the science of temperature regulation.\n\nWe discuss how the body and brain regulate temperature in different conditions and why conventional cooling methods, such as placing ice packs on the neck, do not effectively reduce core body temperature. Dr. Heller explains why cooling glabrous skin areas—the palms, soles and upper face—efficiently releases body heat and can significantly enhance physical performance and endurance. We discuss how targeted palmar cooling improves both short-term performance and long-term training adaptation in aerobic and anaerobic exercise.\n\nEpisode show notes: https://go.hubermanlab.com/aERGXSD\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/77CdVSpnUX4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Craig Heller\n00:00:26 Deliberate Cold Exposure, Cold Showers, Ice Baths; Vasoconstriction\n00:02:26 Cold Shower vs Cold Immersion, Boundary Layer, Tool: Improve Aerobic Exercise Performance\n00:04:54 Anerobic Exercise & Overheating, Muscle Failure, Muscle Fatigue\n00:07:19 Anerobic Exercise, Heat, Cool Down with Ice Water or Cold Towel?\n00:09:42 Should You Cool Body/Head to Lower Body Temperature?, Hyperthermia, Heat Stroke\n00:13:30 Body Sites for Quick Cooling: Palms, Soles & Upper Face, Glabrous Surfaces\n00:16:01 Tool: Loosen Grip & Performance; Gloves & Socks\n00:17:33 Cooling Brain via Upper Face; Offset Concussion?\n00:19:50 Enhance Anerobic Performance & Cooling Palms, Heat Loss \n00:23:05 Improve Aerobic Endurance & Cooling Palms\n00:24:00 CoolMitt; Ice Cold Is Too Cold\n00:27:00 Tool: Use Palmer Cooling to Enhance Performance; Cooling Palms, Soles & Face\n00:30:42 Acknowledgments\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Increase Strength & Endurance with Cooling Protocols | Dr. Craig Heller", "04012baf-98ca-4a3b-845c-75751fab77c8", 1880, false, "aZklQpFa2kE", "https://www.youtube.com/watch?v=aZklQpFa2kE", 57, "/downloads/Andrew Huberman/2025-08-07 Essentials: Increase Strength & Endurance with Cooling Protocols | Dr. Craig Heller/Essentials: Increase Strength & Endurance with Cooling Protocols | Dr. Craig Heller [aZklQpFa2kE].mp4", false, false, false, 4, [], 1, ~U[2025-08-07 12:00:03Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Craig Heller, PhD, a professor of biology at Stanford University and a world expert on the science of temperature regulation.\n\nWe discuss how the body and brain regulate temperature in different conditions and why conventional cooling methods, such as placing ice packs on the neck, do not effectively reduce core body temperature. Dr. Heller explains why cooling glabrous skin areas—the palms, soles and upper face—efficiently releases body heat and can significantly enhance physical performance and endurance. We discuss how targeted palmar cooling improves both short-term performance and long-term training adaptation in aerobic and anaerobic exercise.\n\nEpisode show notes: https://go.hubermanlab.com/aERGXSD\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/77CdVSpnUX4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Craig Heller\n00:00:26 Deliberate Cold Exposure, Cold Showers, Ice Baths; Vasoconstriction\n00:02:26 Cold Shower vs Cold Immersion, Boundary Layer, Tool: Improve Aerobic Exercise Performance\n00:04:54 Anerobic Exercise & Overheating, Muscle Failure, Muscle Fatigue\n00:07:19 Anerobic Exercise, Heat, Cool Down with Ice Water or Cold Towel?\n00:09:42 Should You Cool Body/Head to Lower Body Temperature?, Hyperthermia, Heat Stroke\n00:13:30 Body Sites for Quick Cooling: Palms, Soles & Upper Face, Glabrous Surfaces\n00:16:01 Tool: Loosen Grip & Performance; Gloves & Socks\n00:17:33 Cooling Brain via Upper Face; Offset Concussion?\n00:19:50 Enhance Anerobic Performance & Cooling Palms, Heat Loss \n00:23:05 Improve Aerobic Endurance & Cooling Palms\n00:24:00 CoolMitt; Ice Cold Is Too Cold\n00:27:00 Tool: Use Palmer Cooling to Enhance Performance; Cooling Palms, Soles & Face\n00:30:42 Acknowledgments\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Increase Strength & Endurance with Cooling Protocols | Dr. Craig Heller", 1880, false, "aZklQpFa2kE", "https://www.youtube.com/watch?v=aZklQpFa2kE", "/downloads/Andrew Huberman/2025-08-07 Essentials: Increase Strength & Endurance with Cooling Protocols | Dr. Craig Heller/Essentials: Increase Strength & Endurance with Cooling Protocols | Dr. Craig Heller [aZklQpFa2kE].mp4", false, 4, ~U[2025-08-07 12:00:03Z]] 17:13:58.859 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [4] 17:13:58.860 [debug] QUERY OK source="media_items" db=0.9ms idle=6.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-31 12:00:38Z], 4] 17:13:58.872 [debug] QUERY OK source="media_items" db=11.3ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the biology and psychology of attention-deficit/hyperactivity disorder (ADHD), and discuss both prescription and non-prescription treatment options. \n\nI discuss the neural circuits involved in attention and concentration, emphasizing dopamine's role in regulating and coordinating focus. I explain how common prescription stimulants like Ritalin, Adderall, and Modafinil act on the brain to treat ADHD, and discuss non-drug approaches, including supplements and behavioral training to support focus. The episode offers tools and insights beneficial not only for those with ADHD but for anyone seeking to improve attention and focus.\n\nEpisode show notes: https://go.hubermanlab.com/WMbQOmQ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/hFL6qRIJZ_Y\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Attention-Deficit/Hyperactivity Disorder (ADHD)\n00:01:10 ADHD Challenges, Attention, Impulsivity, Hyperfocus, Time Perception, Working Memory\n00:05:22 Dopamine & Focus; Default Mode Network & Task Network\n00:10:15 ADHD & Low-Dopamine Hypothesis, Stimulants, Sugar\n00:14:33 ADHD Prescriptions, Ritalin, Adderall, Stimulants\n00:16:23 Children, Learning to Focus & ADHD Prescriptions\n00:19:31 Attentional Blinks, Tool: Improve Focus, Open-Monitoring, Panoramic Vision\n00:23:31 Blinking, Dopamine & Time Perception, Tool: Visual Focus Training\n00:27:43 Ritalin, Adderall, Modafinil, Side Effects, Tapering \n00:29:32 Omega-3 Fatty Acids, EPA, DHA & Attention Effects; Phosphatidylserine\n00:31:28 Modafinil, Armodafinil\n00:32:18 Acetylcholine, Alpha-GPC\n00:34:21 L-Tyrosine, Dopamine, Preexisting Conditions & Caution\n00:35:18 Smartphones & Focus, Tool: Limiting Smartphone Use\n00:37:23 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "ADHD & How Anyone Can Improve Their Focus | Huberman Lab Essentials", "450b1568-29c1-4484-b22e-5a29570ac55e", 2274, false, "LAwBdRR4wQk", "https://www.youtube.com/watch?v=LAwBdRR4wQk", 58, "/downloads/Andrew Huberman/2025-07-31 ADHD & How Anyone Can Improve Their Focus | Huberman Lab Essentials/ADHD & How Anyone Can Improve Their Focus | Huberman Lab Essentials [LAwBdRR4wQk].mp4", false, false, false, 4, [], 1, ~U[2025-07-31 12:00:38Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the biology and psychology of attention-deficit/hyperactivity disorder (ADHD), and discuss both prescription and non-prescription treatment options. \n\nI discuss the neural circuits involved in attention and concentration, emphasizing dopamine's role in regulating and coordinating focus. I explain how common prescription stimulants like Ritalin, Adderall, and Modafinil act on the brain to treat ADHD, and discuss non-drug approaches, including supplements and behavioral training to support focus. The episode offers tools and insights beneficial not only for those with ADHD but for anyone seeking to improve attention and focus.\n\nEpisode show notes: https://go.hubermanlab.com/WMbQOmQ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/hFL6qRIJZ_Y\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Attention-Deficit/Hyperactivity Disorder (ADHD)\n00:01:10 ADHD Challenges, Attention, Impulsivity, Hyperfocus, Time Perception, Working Memory\n00:05:22 Dopamine & Focus; Default Mode Network & Task Network\n00:10:15 ADHD & Low-Dopamine Hypothesis, Stimulants, Sugar\n00:14:33 ADHD Prescriptions, Ritalin, Adderall, Stimulants\n00:16:23 Children, Learning to Focus & ADHD Prescriptions\n00:19:31 Attentional Blinks, Tool: Improve Focus, Open-Monitoring, Panoramic Vision\n00:23:31 Blinking, Dopamine & Time Perception, Tool: Visual Focus Training\n00:27:43 Ritalin, Adderall, Modafinil, Side Effects, Tapering \n00:29:32 Omega-3 Fatty Acids, EPA, DHA & Attention Effects; Phosphatidylserine\n00:31:28 Modafinil, Armodafinil\n00:32:18 Acetylcholine, Alpha-GPC\n00:34:21 L-Tyrosine, Dopamine, Preexisting Conditions & Caution\n00:35:18 Smartphones & Focus, Tool: Limiting Smartphone Use\n00:37:23 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "ADHD & How Anyone Can Improve Their Focus | Huberman Lab Essentials", 2274, false, "LAwBdRR4wQk", "https://www.youtube.com/watch?v=LAwBdRR4wQk", "/downloads/Andrew Huberman/2025-07-31 ADHD & How Anyone Can Improve Their Focus | Huberman Lab Essentials/ADHD & How Anyone Can Improve Their Focus | Huberman Lab Essentials [LAwBdRR4wQk].mp4", false, 4, ~U[2025-07-31 12:00:38Z]] 17:13:58.873 [debug] QUERY OK source="sources" db=0.2ms idle=17.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.873 [debug] QUERY OK source="media_items" db=0.4ms idle=15.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-24 12:00:47Z], 4] 17:13:58.877 [debug] QUERY OK source="media_items" db=1.9ms idle=15.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is \u2060Dr. Matthew Johnson, PhD\u2060, a senior researcher for the Center of Excellence for Psilocybin Research and Treatment at Sheppard Pratt’s Institute for Advanced Diagnostics and Therapeutics.\n\nWe explore the science and therapeutic potential of psychedelic medicine, including psilocybin, MDMA and LSD. We discuss how these substances can profoundly alter perception and self-identity, providing long-lasting relief from depression, addiction and trauma when used in controlled clinical settings. We also discuss microdosing and emerging research on psychedelics’ potential to support recovery from neurological injuries. \n\nEpisode show notes: https://go.hubermanlab.com/yjsDPfV\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/GzvzWO0NU50\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Matthew Johnson; Psychedelics\n00:01:44 Different Classes of Psychedelics\n00:04:33 Psychedelics & Altering Models\n00:06:18 LSD, Psylocibin & Serotonin\n00:08:44 Psychedelic Clinical Trials\n00:12:28 Therapy, Trust, Psychedelics\n00:15:36 Letting Go & Psychedelic Experience, Self-Representation, Lasting Changes\n00:21:19 MDMA, Dopamine & Serotonin; Bad Trips & Transcendental Experience\n00:24:43 Dangers of Psychedelics \n00:27:04 Microdosing Psychedelics, Antidepressant\n00:31:20 Head Injuries, Psychedelics, Depression\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Psychedelics for Treating Mental Disorders | Dr. Matthew Johnson", "b972ea7a-bba1-4bd7-97b8-8511a54a6e40", 2088, false, "OvHbhzArbfE", "https://www.youtube.com/watch?v=OvHbhzArbfE", 59, "/downloads/Andrew Huberman/2025-07-24 Essentials: Psychedelics for Treating Mental Disorders | Dr. Matthew Johnson/Essentials: Psychedelics for Treating Mental Disorders | Dr. Matthew Johnson [OvHbhzArbfE].mp4", false, false, false, 4, [], 1, ~U[2025-07-24 12:00:47Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is \u2060Dr. Matthew Johnson, PhD\u2060, a senior researcher for the Center of Excellence for Psilocybin Research and Treatment at Sheppard Pratt’s Institute for Advanced Diagnostics and Therapeutics.\n\nWe explore the science and therapeutic potential of psychedelic medicine, including psilocybin, MDMA and LSD. We discuss how these substances can profoundly alter perception and self-identity, providing long-lasting relief from depression, addiction and trauma when used in controlled clinical settings. We also discuss microdosing and emerging research on psychedelics’ potential to support recovery from neurological injuries. \n\nEpisode show notes: https://go.hubermanlab.com/yjsDPfV\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/GzvzWO0NU50\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Matthew Johnson; Psychedelics\n00:01:44 Different Classes of Psychedelics\n00:04:33 Psychedelics & Altering Models\n00:06:18 LSD, Psylocibin & Serotonin\n00:08:44 Psychedelic Clinical Trials\n00:12:28 Therapy, Trust, Psychedelics\n00:15:36 Letting Go & Psychedelic Experience, Self-Representation, Lasting Changes\n00:21:19 MDMA, Dopamine & Serotonin; Bad Trips & Transcendental Experience\n00:24:43 Dangers of Psychedelics \n00:27:04 Microdosing Psychedelics, Antidepressant\n00:31:20 Head Injuries, Psychedelics, Depression\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Psychedelics for Treating Mental Disorders | Dr. Matthew Johnson", 2088, false, "OvHbhzArbfE", "https://www.youtube.com/watch?v=OvHbhzArbfE", "/downloads/Andrew Huberman/2025-07-24 Essentials: Psychedelics for Treating Mental Disorders | Dr. Matthew Johnson/Essentials: Psychedelics for Treating Mental Disorders | Dr. Matthew Johnson [OvHbhzArbfE].mp4", false, 4, ~U[2025-07-24 12:00:47Z]] 17:13:58.877 [debug] QUERY OK source="sources" db=0.6ms idle=17.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.878 [debug] QUERY OK source="media_items" db=0.6ms idle=6.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-17 12:01:38Z], 4] 17:13:58.881 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=6.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss both healthy eating and clinically recognized eating disorders, including anorexia, bulimia and binge eating disorder.\n\nI explain how brain circuits, hormones such as leptin and reward systems interact to regulate appetite, satiety and overall eating behaviors. I also discuss the serious health risks associated with anorexia, explain how disrupted eating habits contribute to its development and highlight evidence-based treatments for anorexia. Finally, I explore binge eating and bulimia, discussing the underlying causes and the pharmacological treatments commonly used to support recovery.\n\nEpisode show notes: https://go.hubermanlab.com/pexmg01\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/2XGREPnlI8U\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Eating Disorders\n00:01:05 Fasting, Intermittent Fasting, Healthy Eating\n00:06:10 Self-Diagnosis Caution\n00:07:20 Eating Disorders, Anorexia Nervosa\n00:11:07 Hunger & Satiety; Appetite, Body Fat & Brain\n00:15:48 Homeostasis & Reward Systems, Eating Disorders\n00:19:40 Anorexia, Puberty, Hyperacuity & Food\n00:22:46 Decision-Making vs Reflexes/Habits, Anorexia \n00:26:20 Anorexia & Breaking Habits, Therapies & Family-Based Models\n00:28:59 Distorted Self-Image & Anorexia\n00:31:53 Bulimia & Binge-Eating Disorder, Impulsivity & Prescription Treatments\n00:35:39 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Healthy Eating & Eating Disorders - Anorexia, Bulimia, Binging | Huberman Lab Essentials", "3fc8354e-27d7-46d4-ad96-3d544f331e68", 2372, false, "mJv1_esiJ8g", "https://www.youtube.com/watch?v=mJv1_esiJ8g", 60, "/downloads/Andrew Huberman/2025-07-17 Healthy Eating & Eating Disorders - Anorexia, Bulimia, Binging | Huberman Lab Essentials/Healthy Eating & Eating Disorders - Anorexia, Bulimia, Binging | Huberman Lab Essentials [mJv1_esiJ8g].mp4", false, false, false, 4, [], 1, ~U[2025-07-17 12:01:38Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss both healthy eating and clinically recognized eating disorders, including anorexia, bulimia and binge eating disorder.\n\nI explain how brain circuits, hormones such as leptin and reward systems interact to regulate appetite, satiety and overall eating behaviors. I also discuss the serious health risks associated with anorexia, explain how disrupted eating habits contribute to its development and highlight evidence-based treatments for anorexia. Finally, I explore binge eating and bulimia, discussing the underlying causes and the pharmacological treatments commonly used to support recovery.\n\nEpisode show notes: https://go.hubermanlab.com/pexmg01\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/2XGREPnlI8U\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Eating Disorders\n00:01:05 Fasting, Intermittent Fasting, Healthy Eating\n00:06:10 Self-Diagnosis Caution\n00:07:20 Eating Disorders, Anorexia Nervosa\n00:11:07 Hunger & Satiety; Appetite, Body Fat & Brain\n00:15:48 Homeostasis & Reward Systems, Eating Disorders\n00:19:40 Anorexia, Puberty, Hyperacuity & Food\n00:22:46 Decision-Making vs Reflexes/Habits, Anorexia \n00:26:20 Anorexia & Breaking Habits, Therapies & Family-Based Models\n00:28:59 Distorted Self-Image & Anorexia\n00:31:53 Bulimia & Binge-Eating Disorder, Impulsivity & Prescription Treatments\n00:35:39 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Healthy Eating & Eating Disorders - Anorexia, Bulimia, Binging | Huberman Lab Essentials", 2372, false, "mJv1_esiJ8g", "https://www.youtube.com/watch?v=mJv1_esiJ8g", "/downloads/Andrew Huberman/2025-07-17 Healthy Eating & Eating Disorders - Anorexia, Bulimia, Binging | Huberman Lab Essentials/Healthy Eating & Eating Disorders - Anorexia, Bulimia, Binging | Huberman Lab Essentials [mJv1_esiJ8g].mp4", false, 4, ~U[2025-07-17 12:01:38Z]] 17:13:58.882 [debug] QUERY OK source="sources" db=0.6ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.884 [debug] QUERY OK source="media_items" db=1.6ms idle=6.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-10 12:01:04Z], 4] 17:13:58.887 [debug] QUERY OK source="media_items" db=1.8ms idle=7.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode my guest is Dr. Robert Sapolsky, PhD, a professor of biology, neurology and neurological sciences at Stanford University. \n\nWe discuss different types of stress and how our perception of stress as harmful or beneficial largely depends on context. He also explains how testosterone amplifies pre-existing behaviors and tendencies, and he highlights the crucial role of estrogen in supporting brain and body health. We also discuss daily cognitive practices for stress mitigation and how modern life, influenced by social media and complex social hierarchies, shapes our responses to stress. \n\nEpisode show notes: https://go.hubermanlab.com/MPalfmV\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/DtmwtjOoSYU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Robert Sapolsky\n00:00:23 Positive & Negative Stress; Excitement, Amygdala \n00:02:47 Testosterone & Brain, Aggression, Hierarchy\n00:06:27 Testosterone, Motivation, Challenge & Confidence\n00:11:01 Dopamine, Testosterone & Motivation\n00:13:28 Estrogen, Brain & Health, Replacement Therapies\n00:15:21 Stress Mitigation\n00:19:17 Cognitive Practices for Stress Mitigation, Individual Variability, Consistency\n00:21:36 Stress, Perception & Individual Differences \n00:23:58 Context, Stress & Brain\n00:27:05 Social Media, Context, Multiple Hierarchies\n00:30:15 Acknowledgments\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Science of Stress, Testosterone, Aggression & Motivation | Dr. Robert Sapolsky", "6ad01e84-eace-435b-b67c-25035b33ba60", 1854, false, "WxtxzRdJFTI", "https://www.youtube.com/watch?v=WxtxzRdJFTI", 61, "/downloads/Andrew Huberman/2025-07-10 Essentials: Science of Stress, Testosterone, Aggression & Motivation | Dr. Robert Sapolsky/Essentials: Science of Stress, Testosterone, Aggression & Motivation | Dr. Robert Sapolsky [WxtxzRdJFTI].mp4", false, false, false, 4, [], 1, ~U[2025-07-10 12:01:04Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode my guest is Dr. Robert Sapolsky, PhD, a professor of biology, neurology and neurological sciences at Stanford University. \n\nWe discuss different types of stress and how our perception of stress as harmful or beneficial largely depends on context. He also explains how testosterone amplifies pre-existing behaviors and tendencies, and he highlights the crucial role of estrogen in supporting brain and body health. We also discuss daily cognitive practices for stress mitigation and how modern life, influenced by social media and complex social hierarchies, shapes our responses to stress. \n\nEpisode show notes: https://go.hubermanlab.com/MPalfmV\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/DtmwtjOoSYU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Robert Sapolsky\n00:00:23 Positive & Negative Stress; Excitement, Amygdala \n00:02:47 Testosterone & Brain, Aggression, Hierarchy\n00:06:27 Testosterone, Motivation, Challenge & Confidence\n00:11:01 Dopamine, Testosterone & Motivation\n00:13:28 Estrogen, Brain & Health, Replacement Therapies\n00:15:21 Stress Mitigation\n00:19:17 Cognitive Practices for Stress Mitigation, Individual Variability, Consistency\n00:21:36 Stress, Perception & Individual Differences \n00:23:58 Context, Stress & Brain\n00:27:05 Social Media, Context, Multiple Hierarchies\n00:30:15 Acknowledgments\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Science of Stress, Testosterone, Aggression & Motivation | Dr. Robert Sapolsky", 1854, false, "WxtxzRdJFTI", "https://www.youtube.com/watch?v=WxtxzRdJFTI", "/downloads/Andrew Huberman/2025-07-10 Essentials: Science of Stress, Testosterone, Aggression & Motivation | Dr. Robert Sapolsky/Essentials: Science of Stress, Testosterone, Aggression & Motivation | Dr. Robert Sapolsky [WxtxzRdJFTI].mp4", false, 4, ~U[2025-07-10 12:01:04Z]] 17:13:58.889 [debug] QUERY OK source="sources" db=0.8ms idle=9.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.891 [debug] QUERY OK source="media_items" db=1.1ms idle=8.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-03 12:00:30Z], 4] 17:13:58.894 [debug] QUERY OK source="media_items" db=1.8ms idle=8.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore major depression, including its underlying biology and discuss science-based approaches to alleviate symptoms and improve mood.\n\nI describe the wide-ranging symptoms of depression and explain how key neurotransmitters, hormones, stress, genetics and inflammation contribute to its development and persistence. I also cover treatment options, from traditional classes of antidepressant medications to emerging therapies such as ketamine and psilocybin. Finally, I highlight lifestyle-based tools, including exercise, supplementation and dietary strategies that can help manage depressive symptoms and promote mental well-being.\n\nEpisode show notes: https://go.hubermanlab.com/Tg17gmA\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/Xu1FMCxoEFc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Major Depression\n00:01:10 Depression Symptoms\n00:06:14 Pharmaceuticals for Depression, SSRIs; Norepinephrine, Dopamine & Serotonin\n00:13:14 Thyroid Hormone, Cortisol, Stress & Depression, Menstrual Cycle, Genetics\n00:16:23 Increase Norepinephrine, Tools: Deliberate Cold Exposure & Exercise\n00:18:43 Chronic Inflammation & Depression, Tools: Omega-3s (EPA) & Exercise\n00:23:52 Tool: Creatine Monohydrate Supplementation & Improving Depression\n00:25:32 Novel Depression Therapies, Ketamine, Psilocybin \n00:30:41 Ketogenic Diet & Refractory Depression, GABA\n00:33:09 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Understanding & Conquering Depression | Huberman Lab Essentials", "25545a9d-51cb-47e4-a6c4-347bc2d35bba", 2140, false, "HWcphoKlbxY", "https://www.youtube.com/watch?v=HWcphoKlbxY", 62, "/downloads/Andrew Huberman/2025-07-03 Understanding & Conquering Depression | Huberman Lab Essentials/Understanding & Conquering Depression | Huberman Lab Essentials [HWcphoKlbxY].mp4", false, false, false, 4, [], 1, ~U[2025-07-03 12:00:30Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore major depression, including its underlying biology and discuss science-based approaches to alleviate symptoms and improve mood.\n\nI describe the wide-ranging symptoms of depression and explain how key neurotransmitters, hormones, stress, genetics and inflammation contribute to its development and persistence. I also cover treatment options, from traditional classes of antidepressant medications to emerging therapies such as ketamine and psilocybin. Finally, I highlight lifestyle-based tools, including exercise, supplementation and dietary strategies that can help manage depressive symptoms and promote mental well-being.\n\nEpisode show notes: https://go.hubermanlab.com/Tg17gmA\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/Xu1FMCxoEFc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Major Depression\n00:01:10 Depression Symptoms\n00:06:14 Pharmaceuticals for Depression, SSRIs; Norepinephrine, Dopamine & Serotonin\n00:13:14 Thyroid Hormone, Cortisol, Stress & Depression, Menstrual Cycle, Genetics\n00:16:23 Increase Norepinephrine, Tools: Deliberate Cold Exposure & Exercise\n00:18:43 Chronic Inflammation & Depression, Tools: Omega-3s (EPA) & Exercise\n00:23:52 Tool: Creatine Monohydrate Supplementation & Improving Depression\n00:25:32 Novel Depression Therapies, Ketamine, Psilocybin \n00:30:41 Ketogenic Diet & Refractory Depression, GABA\n00:33:09 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Understanding & Conquering Depression | Huberman Lab Essentials", 2140, false, "HWcphoKlbxY", "https://www.youtube.com/watch?v=HWcphoKlbxY", "/downloads/Andrew Huberman/2025-07-03 Understanding & Conquering Depression | Huberman Lab Essentials/Understanding & Conquering Depression | Huberman Lab Essentials [HWcphoKlbxY].mp4", false, 4, ~U[2025-07-03 12:00:30Z]] 17:13:58.895 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [4] 17:13:58.896 [debug] QUERY OK source="media_items" db=0.9ms idle=7.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-26 12:01:16Z], 4] 17:13:58.899 [debug] QUERY OK source="media_items" db=1.8ms idle=7.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Anna Lembke, MD, Chief of the Stanford Addiction Medicine Dual Diagnosis Clinic at Stanford University School of Medicine.\n\nWe discuss how dopamine drives reward, motivation and addictive behaviors. Dr. Lembke explains the concept of the pleasure-pain balance of dopamine and how this cycle plays a key role in the development and persistence of addiction. We also discuss some of the challenges of addiction recovery, including withdrawal, relapses and the potential benefits of psychedelic-assisted therapy.\n\nEpisode show notes: https://go.hubermanlab.com/xbtub2m\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/p3JLaF_4Tz8\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Anna Lembke*\nWebsite: https://www.annalembke.com\n\n*Timestamps*\n00:00:00 Anna Lembke\n00:00:15 Dopamine, Reward & Movement\n00:01:54 Baseline Dopamine; Genetics, Temperament & Addiction\n00:05:24 Addiction, Modern Life & Boredom\n00:07:18 Pleasure-Pain Balance, Dopamine, Addiction\n00:12:39 Resetting Dopamine, Substance or Behavior Recovery, Tool: 30-Day Abstinence\n00:14:26 Relapse, Addiction, Reflexive Behavior, Empathy\n00:18:39 Triggers, Relapse, Dopamine\n00:21:37 Shame, Truth Telling & Recovery\n00:23:58 Addiction, Psychedelic-Assisted Therapy, Psilocybin, MDMA\n00:29:01 Social Media & Addiction, Tool: Intentionality\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Understanding & Treating Addiction | Dr. Anna Lembke", "215a3178-11d6-4345-9a5a-2a948d500380", 1911, false, "i4gvIeA3RcI", "https://www.youtube.com/watch?v=i4gvIeA3RcI", 63, "/downloads/Andrew Huberman/2025-06-26 Essentials: Understanding & Treating Addiction | Dr. Anna Lembke/Essentials: Understanding & Treating Addiction | Dr. Anna Lembke [i4gvIeA3RcI].mp4", false, false, false, 4, [], 1, ~U[2025-06-26 12:01:16Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, my guest is Dr. Anna Lembke, MD, Chief of the Stanford Addiction Medicine Dual Diagnosis Clinic at Stanford University School of Medicine.\n\nWe discuss how dopamine drives reward, motivation and addictive behaviors. Dr. Lembke explains the concept of the pleasure-pain balance of dopamine and how this cycle plays a key role in the development and persistence of addiction. We also discuss some of the challenges of addiction recovery, including withdrawal, relapses and the potential benefits of psychedelic-assisted therapy.\n\nEpisode show notes: https://go.hubermanlab.com/xbtub2m\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/p3JLaF_4Tz8\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Anna Lembke*\nWebsite: https://www.annalembke.com\n\n*Timestamps*\n00:00:00 Anna Lembke\n00:00:15 Dopamine, Reward & Movement\n00:01:54 Baseline Dopamine; Genetics, Temperament & Addiction\n00:05:24 Addiction, Modern Life & Boredom\n00:07:18 Pleasure-Pain Balance, Dopamine, Addiction\n00:12:39 Resetting Dopamine, Substance or Behavior Recovery, Tool: 30-Day Abstinence\n00:14:26 Relapse, Addiction, Reflexive Behavior, Empathy\n00:18:39 Triggers, Relapse, Dopamine\n00:21:37 Shame, Truth Telling & Recovery\n00:23:58 Addiction, Psychedelic-Assisted Therapy, Psilocybin, MDMA\n00:29:01 Social Media & Addiction, Tool: Intentionality\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Understanding & Treating Addiction | Dr. Anna Lembke", 1911, false, "i4gvIeA3RcI", "https://www.youtube.com/watch?v=i4gvIeA3RcI", "/downloads/Andrew Huberman/2025-06-26 Essentials: Understanding & Treating Addiction | Dr. Anna Lembke/Essentials: Understanding & Treating Addiction | Dr. Anna Lembke [i4gvIeA3RcI].mp4", false, 4, ~U[2025-06-26 12:01:16Z]] 17:13:58.899 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=7.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.900 [debug] QUERY OK source="media_items" db=0.7ms idle=6.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-19 12:01:43Z], 4] 17:13:58.904 [debug] QUERY OK source="media_items" db=2.2ms idle=6.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the sensations of pain and pleasure, explaining how they are sensed in the body and interpreted by the brain as well as methods to control their intensity.\n\nI discuss both the hardwired mechanisms and subjective factors that shape an individual’s perception of pain and pleasure. I also explain why pain thresholds vary from person to person and discuss various treatments for pain management such as acupuncture and supplements. Finally, I explain the role of key neurochemicals like dopamine and serotonin in mediating our experience of pain and pleasure.\n\nEpisode show notes: https://go.hubermanlab.com/NiHdOrb\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/xmhsWAqP_0Y?si=uqKQb1YZDs4jb56I\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Pain & Pleasure\n00:00:39 Skin, Appetitive vs Aversive Behaviors \n00:02:10 Skin, Neurons & Brain\n00:04:46 Brain Interpretation, Homunculus, Two-Point Discrimination Test\n00:07:43 Pain & Pleasure, Subjective Interpretation\n00:09:53 Tool: Pain & Expectation\n00:11:31 Pain Threshold \n00:13:09 Heat & Cold, Tool: Moving into Cold or Hot Environments\n00:15:00 Subjective Pain, Psychosomatic, Fibromyalgia, Whole Body Pain, Acetyl-L-carnitine\n00:19:17 Acupuncture, Electroacupuncture, Pain Management\n00:22:07 Red Heads & Pain Threshold, Endorphins\n00:24:02 Improving Pain Threshold, Dopamine \n00:25:30 Pleasure, Dopamine, Serotonin; Depression, Anti-depressants\n00:29:41 Pleasure & Pain Balance, Dopamine, Addiction\n00:31:37 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Control Your Sense of Pain & Pleasure | Huberman Lab Essentials", "a97a786b-3130-4924-ab2e-f6f17944c6b5", 1964, false, "vm1GbSPx48g", "https://www.youtube.com/watch?v=vm1GbSPx48g", 64, "/downloads/Andrew Huberman/2025-06-19 How to Control Your Sense of Pain & Pleasure | Huberman Lab Essentials/How to Control Your Sense of Pain & Pleasure | Huberman Lab Essentials [vm1GbSPx48g].mp4", false, false, false, 4, [], 1, ~U[2025-06-19 12:01:43Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore the sensations of pain and pleasure, explaining how they are sensed in the body and interpreted by the brain as well as methods to control their intensity.\n\nI discuss both the hardwired mechanisms and subjective factors that shape an individual’s perception of pain and pleasure. I also explain why pain thresholds vary from person to person and discuss various treatments for pain management such as acupuncture and supplements. Finally, I explain the role of key neurochemicals like dopamine and serotonin in mediating our experience of pain and pleasure.\n\nEpisode show notes: https://go.hubermanlab.com/NiHdOrb\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/xmhsWAqP_0Y?si=uqKQb1YZDs4jb56I\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Pain & Pleasure\n00:00:39 Skin, Appetitive vs Aversive Behaviors \n00:02:10 Skin, Neurons & Brain\n00:04:46 Brain Interpretation, Homunculus, Two-Point Discrimination Test\n00:07:43 Pain & Pleasure, Subjective Interpretation\n00:09:53 Tool: Pain & Expectation\n00:11:31 Pain Threshold \n00:13:09 Heat & Cold, Tool: Moving into Cold or Hot Environments\n00:15:00 Subjective Pain, Psychosomatic, Fibromyalgia, Whole Body Pain, Acetyl-L-carnitine\n00:19:17 Acupuncture, Electroacupuncture, Pain Management\n00:22:07 Red Heads & Pain Threshold, Endorphins\n00:24:02 Improving Pain Threshold, Dopamine \n00:25:30 Pleasure, Dopamine, Serotonin; Depression, Anti-depressants\n00:29:41 Pleasure & Pain Balance, Dopamine, Addiction\n00:31:37 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Control Your Sense of Pain & Pleasure | Huberman Lab Essentials", 1964, false, "vm1GbSPx48g", "https://www.youtube.com/watch?v=vm1GbSPx48g", "/downloads/Andrew Huberman/2025-06-19 How to Control Your Sense of Pain & Pleasure | Huberman Lab Essentials/How to Control Your Sense of Pain & Pleasure | Huberman Lab Essentials [vm1GbSPx48g].mp4", false, 4, ~U[2025-06-19 12:01:43Z]] 17:13:58.905 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.907 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=7.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-12 12:00:29Z], 4] 17:13:58.910 [debug] QUERY OK source="media_items" db=2.2ms idle=7.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode my guest is Dr. Matt Walker, PhD, Professor of Neuroscience and Psychology at the University of California, Berkeley and host of The Matt Walker Podcast, which focuses on the science and impact of sleep.\n\nWe explore the importance of sleep and how its nightly structure, including REM and non-REM stages, helps rejuvenate the mind and body. We also discuss how caffeine, alcohol, cannabis and melatonin supplements affect your ability to fall asleep and overall sleep quality. Additionally, Matt highlights the benefits of naps and shares a variety of unconventional tips to promote healthier, more restorative sleep.\n\nEpisode show notes: https://go.hubermanlab.com/Dl8HreY\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/gbQFSMayJxk?si=wvPSlCQQdZxffsk0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Matt Walker*\nWebsite: https://www.sleepdiplomat.com\nThe Matt Walker Podcast: https://themattwalkerpodcast.buzzsprout.com\n\"Why We Sleep\": https://amzlink.to/az0k3XjUOQ8ZI\nAcademic profile: https://psychology.berkeley.edu/people/matthew-p-walker\nX: https://twitter.com/sleepdiplomat\nInstagram: https://www.instagram.com/drmattwalker\nLinkedIn: https://www.linkedin.com/in/sleepdiplomat\nMasterClass: https://www.masterclass.com/classes/matthew-walker-teaches-the-science-of-better-sleep\n\n*Timestamps*\n00:00:00 Matt Walker, Sleep\n00:00:25 Rapid Eye Movement (REM) & Non-REM Sleep, Paralysis\n00:02:05 Sleep Cycles, Nighttime Sleep Structure, Hormones\n00:07:08 Nighttime Waking Up, Fragmented Sleep\n00:09:20 Sunlight Exposure & Sleep \n00:10:43 Caffeine & Sleep Effects, Tool: Timing Caffeine\n00:13:42 Alcohol & Sleep Effects\n00:16:23 Cannabis; THC, Alcohol, REM Sleep & Dreams\n00:18:38 Melatonin, Supplementation?, Dose\n00:24:44 Prescription Sleep Aids, Cognitive Behavioral Therapy (CBT) & Sleep\n00:27:02 Naps, Benefits, Insomnia, Tool: Nap Length\n00:30:34 Sleep Tips, Tools: “Do Nothing”; Winddown Routine; Worry Journal; Clocks\n00:34:45 Acknowledgments \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science & Practice of Perfecting Your Sleep | Huberman Lab Essentials", "02961f08-390e-4c09-8a4e-3b09d1a1f7ae", 2137, false, "JaRGJVrJBQ8", "https://www.youtube.com/watch?v=JaRGJVrJBQ8", 65, "/downloads/Andrew Huberman/2025-06-12 The Science & Practice of Perfecting Your Sleep | Huberman Lab Essentials/The Science & Practice of Perfecting Your Sleep | Huberman Lab Essentials [JaRGJVrJBQ8].mp4", false, false, false, 4, [], 1, ~U[2025-06-12 12:00:29Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode my guest is Dr. Matt Walker, PhD, Professor of Neuroscience and Psychology at the University of California, Berkeley and host of The Matt Walker Podcast, which focuses on the science and impact of sleep.\n\nWe explore the importance of sleep and how its nightly structure, including REM and non-REM stages, helps rejuvenate the mind and body. We also discuss how caffeine, alcohol, cannabis and melatonin supplements affect your ability to fall asleep and overall sleep quality. Additionally, Matt highlights the benefits of naps and shares a variety of unconventional tips to promote healthier, more restorative sleep.\n\nEpisode show notes: https://go.hubermanlab.com/Dl8HreY\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/gbQFSMayJxk?si=wvPSlCQQdZxffsk0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Matt Walker*\nWebsite: https://www.sleepdiplomat.com\nThe Matt Walker Podcast: https://themattwalkerpodcast.buzzsprout.com\n\"Why We Sleep\": https://amzlink.to/az0k3XjUOQ8ZI\nAcademic profile: https://psychology.berkeley.edu/people/matthew-p-walker\nX: https://twitter.com/sleepdiplomat\nInstagram: https://www.instagram.com/drmattwalker\nLinkedIn: https://www.linkedin.com/in/sleepdiplomat\nMasterClass: https://www.masterclass.com/classes/matthew-walker-teaches-the-science-of-better-sleep\n\n*Timestamps*\n00:00:00 Matt Walker, Sleep\n00:00:25 Rapid Eye Movement (REM) & Non-REM Sleep, Paralysis\n00:02:05 Sleep Cycles, Nighttime Sleep Structure, Hormones\n00:07:08 Nighttime Waking Up, Fragmented Sleep\n00:09:20 Sunlight Exposure & Sleep \n00:10:43 Caffeine & Sleep Effects, Tool: Timing Caffeine\n00:13:42 Alcohol & Sleep Effects\n00:16:23 Cannabis; THC, Alcohol, REM Sleep & Dreams\n00:18:38 Melatonin, Supplementation?, Dose\n00:24:44 Prescription Sleep Aids, Cognitive Behavioral Therapy (CBT) & Sleep\n00:27:02 Naps, Benefits, Insomnia, Tool: Nap Length\n00:30:34 Sleep Tips, Tools: “Do Nothing”; Winddown Routine; Worry Journal; Clocks\n00:34:45 Acknowledgments \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science & Practice of Perfecting Your Sleep | Huberman Lab Essentials", 2137, false, "JaRGJVrJBQ8", "https://www.youtube.com/watch?v=JaRGJVrJBQ8", "/downloads/Andrew Huberman/2025-06-12 The Science & Practice of Perfecting Your Sleep | Huberman Lab Essentials/The Science & Practice of Perfecting Your Sleep | Huberman Lab Essentials [JaRGJVrJBQ8].mp4", false, 4, ~U[2025-06-12 12:00:29Z]] 17:13:58.911 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=9.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.912 [debug] QUERY OK source="media_items" db=0.7ms idle=8.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-05 12:00:07Z], 4] 17:13:58.915 [debug] QUERY OK source="media_items" db=1.8ms idle=7.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss interoception, the brain’s ability to sense and interpret signals from the body, which shapes our sense of self and underlies vital functions like focus, sleep, healing and emotions.\n\nI explain how the body communicates different types of information to the brain, influencing processes like digestion, heart rate and immune function.\n\nI also describe practical tools such as breathwork to regulate alertness, strategies to support gut health and reduce sugar cravings, and awareness practices to enhance interoception. By understanding and applying these tools, you can strengthen the brain-body connection to improve mood, overall health and performance.\n\nEpisode show notes: https://go.hubermanlab.com/EQY6djP\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/rW9QKc-iFoY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&feature=shared\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Sense of Self, Interoception \n00:01:25 Brain & Body Communication, Vagus Nerve, Mechanical & Chemical Information\n00:04:43 Lungs & Diaphragm, Tool: Breathwork for Alert or Calm\n00:09:47 Brain & Gut Communication, Tool: Reduce Sugar Cravings\n00:15:00 Brain, Gut Chemistry, Inflammation & Gut Microbiome, Tool: Fermented Foods\n00:18:53 Vomiting, Brain; Tool: Reduce Nausea\n00:23:52 Fever, Brain Chemistry, Tool: Cooling Body\n00:28:20 Vagus Nerve, Emotions, Mood, Tool: Heart Awareness\n00:34:29 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Improving Health With Stronger Brain-Body Connection | Huberman Lab Essentials", "3156e794-8234-4f60-9339-ce257f5761e6", 2121, false, "2ZkJtIouKzE", "https://www.youtube.com/watch?v=2ZkJtIouKzE", 66, "/downloads/Andrew Huberman/2025-06-05 Improving Health With Stronger Brain-Body Connection | Huberman Lab Essentials/Improving Health With Stronger Brain-Body Connection | Huberman Lab Essentials [2ZkJtIouKzE].mp4", false, false, false, 4, [], 1, ~U[2025-06-05 12:00:07Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss interoception, the brain’s ability to sense and interpret signals from the body, which shapes our sense of self and underlies vital functions like focus, sleep, healing and emotions.\n\nI explain how the body communicates different types of information to the brain, influencing processes like digestion, heart rate and immune function.\n\nI also describe practical tools such as breathwork to regulate alertness, strategies to support gut health and reduce sugar cravings, and awareness practices to enhance interoception. By understanding and applying these tools, you can strengthen the brain-body connection to improve mood, overall health and performance.\n\nEpisode show notes: https://go.hubermanlab.com/EQY6djP\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/rW9QKc-iFoY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&feature=shared\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Sense of Self, Interoception \n00:01:25 Brain & Body Communication, Vagus Nerve, Mechanical & Chemical Information\n00:04:43 Lungs & Diaphragm, Tool: Breathwork for Alert or Calm\n00:09:47 Brain & Gut Communication, Tool: Reduce Sugar Cravings\n00:15:00 Brain, Gut Chemistry, Inflammation & Gut Microbiome, Tool: Fermented Foods\n00:18:53 Vomiting, Brain; Tool: Reduce Nausea\n00:23:52 Fever, Brain Chemistry, Tool: Cooling Body\n00:28:20 Vagus Nerve, Emotions, Mood, Tool: Heart Awareness\n00:34:29 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Improving Health With Stronger Brain-Body Connection | Huberman Lab Essentials", 2121, false, "2ZkJtIouKzE", "https://www.youtube.com/watch?v=2ZkJtIouKzE", "/downloads/Andrew Huberman/2025-06-05 Improving Health With Stronger Brain-Body Connection | Huberman Lab Essentials/Improving Health With Stronger Brain-Body Connection | Huberman Lab Essentials [2ZkJtIouKzE].mp4", false, 4, ~U[2025-06-05 12:00:07Z]] 17:13:58.916 [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" = ?) [4] 17:13:58.916 [debug] QUERY OK source="media_items" db=0.5ms idle=6.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-29 12:00:52Z], 4] 17:13:58.919 [debug] QUERY OK source="media_items" db=1.6ms idle=6.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode my guest is Lex Fridman, PhD (@lexfridman), a research scientist at the Massachusetts Institute of Technology (MIT), an expert in robotics and host of the Lex Fridman Podcast. \n\nWe discuss the development of artificial intelligence through machine learning, deep learning and self-supervised techniques. We also examine the growing significance of interactions between humans and robots, including their potential for companionship and emotional connection. This episode explores how AI is shifting from a technical tool into something that could reshape human relationships, emotions and society.\n\nEpisode show notes: https://go.hubermanlab.com/7DRbMcU\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/VRvn3Oj5r3E\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Lex Fridman; Artificial Intelligence (AI), Machine Learning, Deep Learning\n00:02:23 Supervised vs Self-Supervised Learning, Self-Play Mechanism\n00:09:06 Tesla Autopilot, Autonomous Driving, Robot & Human Interaction\n00:14:26 Human & Robot Relationship, Loneliness, Time\n00:19:18 Authenticity, Robot Companion, Emotions\n00:24:34 Robot & Human Relationship, Manipulation, Rights\n00:29:19 Dogs, Homer, Companion, Cancer, Death \n00:33:18 Dogs, Costello, Decline, Joy, Loss\n00:41:07 Closing\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Machines, Creativity & Love | Dr. Lex Fridman", "5d0aa9bd-e474-4300-a895-11c8eb3bea4a", 2537, false, "SCzecagKBjY", "https://www.youtube.com/watch?v=SCzecagKBjY", 67, "/downloads/Andrew Huberman/2025-05-29 Essentials: Machines, Creativity & Love | Dr. Lex Fridman/Essentials: Machines, Creativity & Love | Dr. Lex Fridman [SCzecagKBjY].mp4", false, false, false, 4, [], 1, ~U[2025-05-29 12:00:52Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode my guest is Lex Fridman, PhD (@lexfridman), a research scientist at the Massachusetts Institute of Technology (MIT), an expert in robotics and host of the Lex Fridman Podcast. \n\nWe discuss the development of artificial intelligence through machine learning, deep learning and self-supervised techniques. We also examine the growing significance of interactions between humans and robots, including their potential for companionship and emotional connection. This episode explores how AI is shifting from a technical tool into something that could reshape human relationships, emotions and society.\n\nEpisode show notes: https://go.hubermanlab.com/7DRbMcU\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/VRvn3Oj5r3E\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Lex Fridman; Artificial Intelligence (AI), Machine Learning, Deep Learning\n00:02:23 Supervised vs Self-Supervised Learning, Self-Play Mechanism\n00:09:06 Tesla Autopilot, Autonomous Driving, Robot & Human Interaction\n00:14:26 Human & Robot Relationship, Loneliness, Time\n00:19:18 Authenticity, Robot Companion, Emotions\n00:24:34 Robot & Human Relationship, Manipulation, Rights\n00:29:19 Dogs, Homer, Companion, Cancer, Death \n00:33:18 Dogs, Costello, Decline, Joy, Loss\n00:41:07 Closing\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Machines, Creativity & Love | Dr. Lex Fridman", 2537, false, "SCzecagKBjY", "https://www.youtube.com/watch?v=SCzecagKBjY", "/downloads/Andrew Huberman/2025-05-29 Essentials: Machines, Creativity & Love | Dr. Lex Fridman/Essentials: Machines, Creativity & Love | Dr. Lex Fridman [SCzecagKBjY].mp4", false, 4, ~U[2025-05-29 12:00:52Z]] 17:13:58.920 [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" = ?) [4] 17:13:58.920 [debug] QUERY OK source="media_items" db=0.5ms idle=5.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-22 12:00:47Z], 4] 17:13:58.923 [debug] QUERY OK source="media_items" db=1.7ms idle=5.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I provide a science-based daily protocol designed to enhance performance, mood and overall health by strategically timing simple yet powerful tools and behaviors.\n\nI explain how to increase energy and alertness in the morning, optimize your workspace and work sessions for maximum focus, and structure your day for sustained productivity. I also discuss the roles of fasting, meal and caffeine timing, and key nutrients, as well as how to leverage exercise to sharpen alertness and cognitive performance. Additionally, I describe evening practices and supplements that help you fall asleep quickly and promote quality sleep.\n\nEpisode show notes: https://go.hubermanlab.com/4RPwGcJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/aXvDEmo6uS4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Office Hours, Example Daily Protocol\n00:01:48 Morning, Tools: Temperature Minimum, Walk, Sunlight & Cortisol\n00:05:30 Hydration, Electrolytes, Tool: Delay Caffeine\n00:07:39 Morning Focus, Fasting\n00:08:27 Tools: Optimize Workspace, Screen Position, Work Bouts\n00:11:38 Tool: Timing Work Bouts, Temperature Minimum\n00:13:55 Exercise, Strength & Hypertrophy, Endurance Training, Tool: 80/20 Workouts\n00:16:55 Afternoon, Meal Timing, Carbs, Omega-3s, Tool: Afternoon Walks & Light\n00:21:40 Dinner, Sleep Transition, Carbs, Serotonin\n00:24:51 Accelerate Sleep, Tool: Reduce Temperature & Hot Baths\n00:26:41 Sleep Supplements, Magnesium, Apigenin, Theanine; Waking at Night\n00:29:41 Example Daily Routine, Work Blocks\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials", "28032a82-1e3a-434d-b2ea-74704d289836", 1913, false, "Pmd6knanPKw", "https://www.youtube.com/watch?v=Pmd6knanPKw", 68, "/downloads/Andrew Huberman/2025-05-22 Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials/Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials [Pmd6knanPKw].mp4", false, false, false, 4, [], 1, ~U[2025-05-22 12:00:47Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, I provide a science-based daily protocol designed to enhance performance, mood and overall health by strategically timing simple yet powerful tools and behaviors.\n\nI explain how to increase energy and alertness in the morning, optimize your workspace and work sessions for maximum focus, and structure your day for sustained productivity. I also discuss the roles of fasting, meal and caffeine timing, and key nutrients, as well as how to leverage exercise to sharpen alertness and cognitive performance. Additionally, I describe evening practices and supplements that help you fall asleep quickly and promote quality sleep.\n\nEpisode show notes: https://go.hubermanlab.com/4RPwGcJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/aXvDEmo6uS4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Office Hours, Example Daily Protocol\n00:01:48 Morning, Tools: Temperature Minimum, Walk, Sunlight & Cortisol\n00:05:30 Hydration, Electrolytes, Tool: Delay Caffeine\n00:07:39 Morning Focus, Fasting\n00:08:27 Tools: Optimize Workspace, Screen Position, Work Bouts\n00:11:38 Tool: Timing Work Bouts, Temperature Minimum\n00:13:55 Exercise, Strength & Hypertrophy, Endurance Training, Tool: 80/20 Workouts\n00:16:55 Afternoon, Meal Timing, Carbs, Omega-3s, Tool: Afternoon Walks & Light\n00:21:40 Dinner, Sleep Transition, Carbs, Serotonin\n00:24:51 Accelerate Sleep, Tool: Reduce Temperature & Hot Baths\n00:26:41 Sleep Supplements, Magnesium, Apigenin, Theanine; Waking at Night\n00:29:41 Example Daily Routine, Work Blocks\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials", 1913, false, "Pmd6knanPKw", "https://www.youtube.com/watch?v=Pmd6knanPKw", "/downloads/Andrew Huberman/2025-05-22 Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials/Maximize Productivity, Physical & Mental Health With Daily Tools | Huberman Lab Essentials [Pmd6knanPKw].mp4", false, 4, ~U[2025-05-22 12:00:47Z]] 17:13:58.924 [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" = ?) [4] 17:13:58.925 [debug] QUERY OK source="media_items" db=0.4ms idle=5.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-15 12:00:50Z], 4] 17:13:58.927 [debug] QUERY OK source="media_items" db=1.6ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode of Huberman Lab Essentials, my guest is \u2060Dr. Karl Deisseroth, M.D., Ph.D.\u2060, a clinical psychiatrist and professor of bioengineering and of psychiatry and behavioral sciences at Stanford University.\n\nWe discuss his experiences as a clinician treating complex psychiatric conditions and his lab’s pioneering work in developing transformative therapies for mental illness. He explains the complexities of mental illness and how emerging technologies—such as optogenetics and brain-machine interfaces—could revolutionize care. We also explore promising new therapies, including psychedelics and MDMA, for conditions like depression and PTSD.\n\nEpisode show notes: https://go.hubermanlab.com/0M1gSQ0\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/w9MXqXBZy9U\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Karl Deisseroth*\nStanford academic profile: https://profiles.stanford.edu/karl-deisseroth \nWebsite: http://deisseroth.com \nLab website: https://dlab.stanford.edu \nProjections: A Story of Human Emotions (book): https://amzlink.to/az0jxcLUA11Dj\nX: https://x.com/KarlDeisseroth \n\n*Timestamps*\n00:00:00 Karl Deisseroth; Neurology vs Psychiatry\n00:01:36 Speech; Blood Test?; Seeking Help\n00:04:20 Feelings, Jargon; Psychiatric Treatment\n00:09:40 Future Treatment; Vagus Nerve Stimulation, Depression, Optogenetics\n00:18:24 Brain-Machine Interfaces\n00:19:37 ADHD Symptoms, Lifestyle, Technology\n00:26:10 Psychedelics, Depression Treatment, Risks\n00:32:19 MDMA (Ecstasy), Trauma & Post-Traumatic Stress Disorder (PTSD) Treatment\n00:35:21 Projections: A Story of Human Emotions Book, Optimism\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Understanding & Healing the Mind | Dr. Karl Deisseroth", "e34dff76-adaa-45a6-b57a-ca2a3ab5b539", 2314, false, "RSnol_TVrzQ", "https://www.youtube.com/watch?v=RSnol_TVrzQ", 69, "/downloads/Andrew Huberman/2025-05-15 Essentials: Understanding & Healing the Mind | Dr. Karl Deisseroth/Essentials: Understanding & Healing the Mind | Dr. Karl Deisseroth [RSnol_TVrzQ].mp4", false, false, false, 4, [], 1, ~U[2025-05-15 12:00:50Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode of Huberman Lab Essentials, my guest is \u2060Dr. Karl Deisseroth, M.D., Ph.D.\u2060, a clinical psychiatrist and professor of bioengineering and of psychiatry and behavioral sciences at Stanford University.\n\nWe discuss his experiences as a clinician treating complex psychiatric conditions and his lab’s pioneering work in developing transformative therapies for mental illness. He explains the complexities of mental illness and how emerging technologies—such as optogenetics and brain-machine interfaces—could revolutionize care. We also explore promising new therapies, including psychedelics and MDMA, for conditions like depression and PTSD.\n\nEpisode show notes: https://go.hubermanlab.com/0M1gSQ0\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/w9MXqXBZy9U\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Karl Deisseroth*\nStanford academic profile: https://profiles.stanford.edu/karl-deisseroth \nWebsite: http://deisseroth.com \nLab website: https://dlab.stanford.edu \nProjections: A Story of Human Emotions (book): https://amzlink.to/az0jxcLUA11Dj\nX: https://x.com/KarlDeisseroth \n\n*Timestamps*\n00:00:00 Karl Deisseroth; Neurology vs Psychiatry\n00:01:36 Speech; Blood Test?; Seeking Help\n00:04:20 Feelings, Jargon; Psychiatric Treatment\n00:09:40 Future Treatment; Vagus Nerve Stimulation, Depression, Optogenetics\n00:18:24 Brain-Machine Interfaces\n00:19:37 ADHD Symptoms, Lifestyle, Technology\n00:26:10 Psychedelics, Depression Treatment, Risks\n00:32:19 MDMA (Ecstasy), Trauma & Post-Traumatic Stress Disorder (PTSD) Treatment\n00:35:21 Projections: A Story of Human Emotions Book, Optimism\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Understanding & Healing the Mind | Dr. Karl Deisseroth", 2314, false, "RSnol_TVrzQ", "https://www.youtube.com/watch?v=RSnol_TVrzQ", "/downloads/Andrew Huberman/2025-05-15 Essentials: Understanding & Healing the Mind | Dr. Karl Deisseroth/Essentials: Understanding & Healing the Mind | Dr. Karl Deisseroth [RSnol_TVrzQ].mp4", false, 4, ~U[2025-05-15 12:00:50Z]] 17:13:58.928 [debug] QUERY OK source="sources" db=0.4ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.929 [debug] QUERY OK source="media_items" db=0.9ms idle=5.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-08 12:01:12Z], 4] 17:13:58.931 [debug] QUERY OK source="media_items" db=1.6ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how the auditory and vestibular (balance) systems are essential for enhancing learning and improving focus.\n\nI explain how the auditory system captures sound waves and how the brain interprets these signals to make sense of the environment. I also discuss the use of white noise and binaural beats to support brain states conducive to learning, focus and relaxation. Additionally, I explain how the vestibular system helps maintain balance and examine practical tools to enhance auditory learning, cognitive performance and mood.\n\nEpisode show notes: https://go.hubermanlab.com/slXpCbc\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/JVRyzYB9JSY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hearing & Balance\n00:00:55 Ears, Sound Waves, Cochlea\n00:04:42 Sound & Direction, Ventriloquism Effect, Cupping Ears\n00:08:09 Binaural Beats, Alertness, Calmness, Learning, Anxiety\n00:12:27 Tool: White Noise & Learning\n00:15:54 White Noise, Hearing Loss & Child Development\n00:20:02 Auditory Learning, Cocktail Party Effect, Tool: Remember New Names\n00:24:06 Balance, Ears, Vestibular System\n00:29:17 Improve Dynamic Balance, Tool: Improve Mood & Learning, Tilted Exercise\n00:32:11 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Hearing & Balance Enhance Focus & Learning | Huberman Lab Essentials", "6cf1244d-3eda-4af3-84d5-321096fcf09e", 1990, false, "fSBgDq2ttCw", "https://www.youtube.com/watch?v=fSBgDq2ttCw", 70, "/downloads/Andrew Huberman/2025-05-08 How Hearing & Balance Enhance Focus & Learning | Huberman Lab Essentials/How Hearing & Balance Enhance Focus & Learning | Huberman Lab Essentials [fSBgDq2ttCw].mp4", false, false, false, 4, [], 1, ~U[2025-05-08 12:01:12Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how the auditory and vestibular (balance) systems are essential for enhancing learning and improving focus.\n\nI explain how the auditory system captures sound waves and how the brain interprets these signals to make sense of the environment. I also discuss the use of white noise and binaural beats to support brain states conducive to learning, focus and relaxation. Additionally, I explain how the vestibular system helps maintain balance and examine practical tools to enhance auditory learning, cognitive performance and mood.\n\nEpisode show notes: https://go.hubermanlab.com/slXpCbc\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/JVRyzYB9JSY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hearing & Balance\n00:00:55 Ears, Sound Waves, Cochlea\n00:04:42 Sound & Direction, Ventriloquism Effect, Cupping Ears\n00:08:09 Binaural Beats, Alertness, Calmness, Learning, Anxiety\n00:12:27 Tool: White Noise & Learning\n00:15:54 White Noise, Hearing Loss & Child Development\n00:20:02 Auditory Learning, Cocktail Party Effect, Tool: Remember New Names\n00:24:06 Balance, Ears, Vestibular System\n00:29:17 Improve Dynamic Balance, Tool: Improve Mood & Learning, Tilted Exercise\n00:32:11 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Hearing & Balance Enhance Focus & Learning | Huberman Lab Essentials", 1990, false, "fSBgDq2ttCw", "https://www.youtube.com/watch?v=fSBgDq2ttCw", "/downloads/Andrew Huberman/2025-05-08 How Hearing & Balance Enhance Focus & Learning | Huberman Lab Essentials/How Hearing & Balance Enhance Focus & Learning | Huberman Lab Essentials [fSBgDq2ttCw].mp4", false, 4, ~U[2025-05-08 12:01:12Z]] 17:13:58.932 [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" = ?) [4] 17:13:58.933 [debug] QUERY OK source="media_items" db=0.4ms idle=5.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-01 12:01:00Z], 4] 17:13:58.935 [debug] QUERY OK source="media_items" db=1.4ms idle=5.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how your sense of smell (olfaction), taste, and chemical sensing influence memory, alertness, focus, and even communication between people.\n\nI explain how these senses help us detect chemicals in the environment and respond to a variety of environmental cues. I discuss the connection between the olfactory system and cognitive performance, and I provide practical tools to enhance learning, sensory function, and brain health. Additionally, I examine how chemical signals exchanged between people subtly influence emotions, biology, and social bonds.\n\nHuberman Lab Essentials episodes are approximately 30 minutes long and focus on key science and protocol takeaways from past Huberman Lab episodes. Essentials are released every Thursday, while full-length episodes continue to air every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/kMvy0Rh\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/Mwz8JprPeMc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Smell & Taste\n00:02:04 Tears, Biological Response & Communication\n00:05:05 Smell, Innate vs Learned Response, Memory\n00:08:31 Accessory Olfactory Pathway, Pheromones, Vandenbergh effect\n00:10:41 Smell & Alertness, Smelling Salts, Tool: Nasal Breathing & Learning\n00:14:06 Tool: Increase Sense of Smell; Brain Health, Olfactory Neurons\n00:16:54 Traumatic Brain Injury & Olfactory Dysfunction\n00:19:07 Smell, Alertness, Smelling Salts, Tool: Peppermint\n00:21:15 Taste Modalities & Functions; Taste & Digestive System\n00:27:30 Pheromones, Coolidge Effect, Humans & Chemical Communication\n00:33:34 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Smell, Taste & Pheromones Shape Behavior | Huberman Lab Essentials", "6a65e4e6-8cb3-4bf1-9a17-49b6a64d5160", 2068, false, "_eDg9yOvvrQ", "https://www.youtube.com/watch?v=_eDg9yOvvrQ", 71, "/downloads/Andrew Huberman/2025-05-01 How Smell, Taste & Pheromones Shape Behavior | Huberman Lab Essentials/How Smell, Taste & Pheromones Shape Behavior | Huberman Lab Essentials [_eDg9yOvvrQ].mp4", false, false, false, 4, [], 1, ~U[2025-05-01 12:01:00Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how your sense of smell (olfaction), taste, and chemical sensing influence memory, alertness, focus, and even communication between people.\n\nI explain how these senses help us detect chemicals in the environment and respond to a variety of environmental cues. I discuss the connection between the olfactory system and cognitive performance, and I provide practical tools to enhance learning, sensory function, and brain health. Additionally, I examine how chemical signals exchanged between people subtly influence emotions, biology, and social bonds.\n\nHuberman Lab Essentials episodes are approximately 30 minutes long and focus on key science and protocol takeaways from past Huberman Lab episodes. Essentials are released every Thursday, while full-length episodes continue to air every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/kMvy0Rh\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/Mwz8JprPeMc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Smell & Taste\n00:02:04 Tears, Biological Response & Communication\n00:05:05 Smell, Innate vs Learned Response, Memory\n00:08:31 Accessory Olfactory Pathway, Pheromones, Vandenbergh effect\n00:10:41 Smell & Alertness, Smelling Salts, Tool: Nasal Breathing & Learning\n00:14:06 Tool: Increase Sense of Smell; Brain Health, Olfactory Neurons\n00:16:54 Traumatic Brain Injury & Olfactory Dysfunction\n00:19:07 Smell, Alertness, Smelling Salts, Tool: Peppermint\n00:21:15 Taste Modalities & Functions; Taste & Digestive System\n00:27:30 Pheromones, Coolidge Effect, Humans & Chemical Communication\n00:33:34 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Smell, Taste & Pheromones Shape Behavior | Huberman Lab Essentials", 2068, false, "_eDg9yOvvrQ", "https://www.youtube.com/watch?v=_eDg9yOvvrQ", "/downloads/Andrew Huberman/2025-05-01 How Smell, Taste & Pheromones Shape Behavior | Huberman Lab Essentials/How Smell, Taste & Pheromones Shape Behavior | Huberman Lab Essentials [_eDg9yOvvrQ].mp4", false, 4, ~U[2025-05-01 12:01:00Z]] 17:13:58.935 [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" = ?) [4] 17:13:58.936 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-24 12:01:39Z], 4] 17:13:58.990 [debug] QUERY OK source="media_items" db=53.0ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the science of vision and share simple, effective tools to enhance eyesight and preserve eye health.\n\nI explain how the eyes and brain work together to process light, color and motion using specialized structures such as the retina and photoreceptors, and why conditions like nearsightedness, visual hallucinations and lazy eye occur. I also cover specific visual protocols to increase alertness and focus during work, improve sleep, and support visual health. Additionally, I highlight key vitamins essential for vision and discuss supplements such as lutein and astaxanthin for maintaining long-term eye health.\n\nEpisode show notes: https://go.hubermanlab.com/FYmmr1L\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/ObtW353d5i0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Improve Vision\n00:01:01 Eyes, Lens, Eyelashes\n00:02:40 Retina, Photoreceptors & Brain\n00:06:34 Eyesight & Subconscious Vision Effects\n00:07:25 Time of Day & Retina, Tool: Morning Sunlight Exposure\n00:10:25 Tool: Reduce Nearsightedness & Outdoor Time\n00:10:56 Accommodation, Focus, Tools: Panoramic Vision; Upward Gaze\n00:14:43 Improve Vision, Tools: View Distances; Smooth Pursuit; Accommodation\n00:17:36 Binocular Vision, Lazy Eye, Children\n00:20:25 Hallucinations & Visual System \n00:21:38 Improve & Test Vision, Tool: Snellen Chart\n00:23:44 Support Vision, Tool: Vitamin A & Vegetables\n00:25:11 Supplements, Lutein, Astaxanthin\n00:27:32 Recap & Key Takeaways; Cardiovascular System\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Protocols to Improve Vision & Eyesight | Huberman Lab Essentials", "253c8bae-5bc9-4535-969b-6867600f5827", 1770, false, "ssmwxKPFMFU", "https://www.youtube.com/watch?v=ssmwxKPFMFU", 72, "/downloads/Andrew Huberman/2025-04-24 Protocols to Improve Vision & Eyesight | Huberman Lab Essentials/Protocols to Improve Vision & Eyesight | Huberman Lab Essentials [ssmwxKPFMFU].mp4", false, false, false, 4, [], 1, ~U[2025-04-24 12:01:39Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the science of vision and share simple, effective tools to enhance eyesight and preserve eye health.\n\nI explain how the eyes and brain work together to process light, color and motion using specialized structures such as the retina and photoreceptors, and why conditions like nearsightedness, visual hallucinations and lazy eye occur. I also cover specific visual protocols to increase alertness and focus during work, improve sleep, and support visual health. Additionally, I highlight key vitamins essential for vision and discuss supplements such as lutein and astaxanthin for maintaining long-term eye health.\n\nEpisode show notes: https://go.hubermanlab.com/FYmmr1L\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/ObtW353d5i0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Improve Vision\n00:01:01 Eyes, Lens, Eyelashes\n00:02:40 Retina, Photoreceptors & Brain\n00:06:34 Eyesight & Subconscious Vision Effects\n00:07:25 Time of Day & Retina, Tool: Morning Sunlight Exposure\n00:10:25 Tool: Reduce Nearsightedness & Outdoor Time\n00:10:56 Accommodation, Focus, Tools: Panoramic Vision; Upward Gaze\n00:14:43 Improve Vision, Tools: View Distances; Smooth Pursuit; Accommodation\n00:17:36 Binocular Vision, Lazy Eye, Children\n00:20:25 Hallucinations & Visual System \n00:21:38 Improve & Test Vision, Tool: Snellen Chart\n00:23:44 Support Vision, Tool: Vitamin A & Vegetables\n00:25:11 Supplements, Lutein, Astaxanthin\n00:27:32 Recap & Key Takeaways; Cardiovascular System\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Protocols to Improve Vision & Eyesight | Huberman Lab Essentials", 1770, false, "ssmwxKPFMFU", "https://www.youtube.com/watch?v=ssmwxKPFMFU", "/downloads/Andrew Huberman/2025-04-24 Protocols to Improve Vision & Eyesight | Huberman Lab Essentials/Protocols to Improve Vision & Eyesight | Huberman Lab Essentials [ssmwxKPFMFU].mp4", false, 4, ~U[2025-04-24 12:01:39Z]] 17:13:58.991 [debug] QUERY OK source="sources" db=0.3ms idle=57.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.992 [debug] QUERY OK source="media_items" db=0.4ms idle=56.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-17 12:00:21Z], 4] 17:13:58.996 [debug] QUERY OK source="media_items" db=4.2ms idle=56.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to build endurance and describe targeted protocols to enhance different types of endurance.\n\nI discuss how endurance—the ability to sustain effort—requires the coordination of physical and mental systems driven by energy availability, brain willpower, and specific training adaptations in the muscles, heart, lungs and neurons. I explain conditioning protocols designed to enhance four types of endurance, from long-duration steady state to muscular endurance and high-intensity intervals, and how each training style triggers unique adaptations in the body and brain, such as improved mitochondrial function and oxygen utilization. Additionally, I highlight the crucial role of hydration and electrolytes, which are essential for neural function and influence the brain’s willpower to sustain effort.\n\nEpisode show notes: https://go.hubermanlab.com/PH5df16\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/VQLU7gpk_X8\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Build Endurance\n00:00:50 Energy Sources, ATP, Oxygen \n00:04:14 Neurons & Willpower, Glucose & Electrolytes\n00:09:19 Heart, Lungs; Physiology & Performance Limiting Factors\n00:10:35 Muscular Endurance, Protocol, Concentric Movements, Mitochondria\n00:17:14 Long-Duration Endurance, Efficiency, Mitochondria, Capillaries\n00:21:07 High-Intensity Interval Training (HIIT), Anaerobic Endurance, Protocol\n00:27:47 High-Intensity Aerobic Endurance, Adaptations\n00:30:06 Brain & Body Adaptations, Heart\n00:33:57 Hydration, Tool: Galpin Equation\n00:35:38 Supplements, Stimulants, Magnesium Malate\n00:36:27 Recap & Key Takeaways\n\n#HubermanLab #Science #Health #Endurance \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Build Endurance | Huberman Lab Essentials", "6af414fc-212a-4631-93d1-57090aba8c7b", 2246, false, "7MEhDlw1e9k", "https://www.youtube.com/watch?v=7MEhDlw1e9k", 73, "/downloads/Andrew Huberman/2025-04-17 How to Build Endurance | Huberman Lab Essentials/How to Build Endurance | Huberman Lab Essentials [7MEhDlw1e9k].mp4", false, false, false, 4, [], 1, ~U[2025-04-17 12:00:21Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to build endurance and describe targeted protocols to enhance different types of endurance.\n\nI discuss how endurance—the ability to sustain effort—requires the coordination of physical and mental systems driven by energy availability, brain willpower, and specific training adaptations in the muscles, heart, lungs and neurons. I explain conditioning protocols designed to enhance four types of endurance, from long-duration steady state to muscular endurance and high-intensity intervals, and how each training style triggers unique adaptations in the body and brain, such as improved mitochondrial function and oxygen utilization. Additionally, I highlight the crucial role of hydration and electrolytes, which are essential for neural function and influence the brain’s willpower to sustain effort.\n\nEpisode show notes: https://go.hubermanlab.com/PH5df16\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/VQLU7gpk_X8\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Build Endurance\n00:00:50 Energy Sources, ATP, Oxygen \n00:04:14 Neurons & Willpower, Glucose & Electrolytes\n00:09:19 Heart, Lungs; Physiology & Performance Limiting Factors\n00:10:35 Muscular Endurance, Protocol, Concentric Movements, Mitochondria\n00:17:14 Long-Duration Endurance, Efficiency, Mitochondria, Capillaries\n00:21:07 High-Intensity Interval Training (HIIT), Anaerobic Endurance, Protocol\n00:27:47 High-Intensity Aerobic Endurance, Adaptations\n00:30:06 Brain & Body Adaptations, Heart\n00:33:57 Hydration, Tool: Galpin Equation\n00:35:38 Supplements, Stimulants, Magnesium Malate\n00:36:27 Recap & Key Takeaways\n\n#HubermanLab #Science #Health #Endurance \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Build Endurance | Huberman Lab Essentials", 2246, false, "7MEhDlw1e9k", "https://www.youtube.com/watch?v=7MEhDlw1e9k", "/downloads/Andrew Huberman/2025-04-17 How to Build Endurance | Huberman Lab Essentials/How to Build Endurance | Huberman Lab Essentials [7MEhDlw1e9k].mp4", false, 4, ~U[2025-04-17 12:00:21Z]] 17:13:58.997 [debug] QUERY OK source="sources" db=0.4ms idle=60.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:58.998 [debug] QUERY OK source="media_items" db=0.8ms idle=7.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-10 12:01:11Z], 4] 17:13:59.001 [debug] QUERY OK source="media_items" db=1.8ms idle=7.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss how to build muscle strength and size (hypertrophy) and cover key training principles to enhance athletic performance and offset age-related muscle decline.\n\nI explain how the nervous system drives muscle movement, the key differences between training for hypertrophy or strength, and resistance training protocols to build muscle for performance and healthy aging. Additionally, I discuss tools for assessing recovery and the role of key nutrients—such as creatine and electrolytes—in supporting muscle development and performance. This episode provides actionable, science-backed strategies to enhance movement, preserve strength with age, and boost energy levels.\n\nEpisode show notes: https://go.hubermanlab.com/sPY0glv\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/XLr2RKoD-oY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Muscle\n00:02:02 Muscle & Nervous System\n00:03:24 Strength & Aging, Henneman's Size Principle, Use Heavy Weights?\n00:07:30 3 Stimuli, Muscle Strength vs Muscle Growth (Hypertrophy)\n00:09:31 Tool: Resistance Training Protocol, Increase Muscle Strength\n00:13:16 Tool: Advanced Resistance Training & Volume; Speed, Rest\n00:16:17 Testing for Recovery, Heart Rate Variability, Grip Strength\n00:19:54 Testing for Recovery, Carbon Dioxide Tolerance\n00:22:51 Ice Bath Timing; NSAIDs & Exercise\n00:24:06 Salt & Electrolytes; Creatine; Leucine\n\n#HubermanLab #Science #MuscleGrowth #Strength\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Build Muscle Size, Increase Strength & Improve Recovery | Huberman Lab Essentials", "c9cb4ddb-e496-4a9c-a3db-930df8644c13", 1669, false, "jgaoLdS82vw", "https://www.youtube.com/watch?v=jgaoLdS82vw", 74, "/downloads/Andrew Huberman/2025-04-10 Build Muscle Size, Increase Strength & Improve Recovery | Huberman Lab Essentials/Build Muscle Size, Increase Strength & Improve Recovery | Huberman Lab Essentials [jgaoLdS82vw].mp4", false, false, false, 4, [], 1, ~U[2025-04-10 12:01:11Z], ~U[2026-09-16 17:13:58Z], ~U[2026-09-16 17:13:58Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss how to build muscle strength and size (hypertrophy) and cover key training principles to enhance athletic performance and offset age-related muscle decline.\n\nI explain how the nervous system drives muscle movement, the key differences between training for hypertrophy or strength, and resistance training protocols to build muscle for performance and healthy aging. Additionally, I discuss tools for assessing recovery and the role of key nutrients—such as creatine and electrolytes—in supporting muscle development and performance. This episode provides actionable, science-backed strategies to enhance movement, preserve strength with age, and boost energy levels.\n\nEpisode show notes: https://go.hubermanlab.com/sPY0glv\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/XLr2RKoD-oY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Muscle\n00:02:02 Muscle & Nervous System\n00:03:24 Strength & Aging, Henneman's Size Principle, Use Heavy Weights?\n00:07:30 3 Stimuli, Muscle Strength vs Muscle Growth (Hypertrophy)\n00:09:31 Tool: Resistance Training Protocol, Increase Muscle Strength\n00:13:16 Tool: Advanced Resistance Training & Volume; Speed, Rest\n00:16:17 Testing for Recovery, Heart Rate Variability, Grip Strength\n00:19:54 Testing for Recovery, Carbon Dioxide Tolerance\n00:22:51 Ice Bath Timing; NSAIDs & Exercise\n00:24:06 Salt & Electrolytes; Creatine; Leucine\n\n#HubermanLab #Science #MuscleGrowth #Strength\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Build Muscle Size, Increase Strength & Improve Recovery | Huberman Lab Essentials", 1669, false, "jgaoLdS82vw", "https://www.youtube.com/watch?v=jgaoLdS82vw", "/downloads/Andrew Huberman/2025-04-10 Build Muscle Size, Increase Strength & Improve Recovery | Huberman Lab Essentials/Build Muscle Size, Increase Strength & Improve Recovery | Huberman Lab Essentials [jgaoLdS82vw].mp4", false, 4, ~U[2025-04-10 12:01:11Z]] 17:13:59.002 [debug] QUERY OK source="sources" db=0.2ms idle=9.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:59.002 [debug] QUERY OK source="media_items" db=0.5ms idle=5.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-03 12:00:58Z], 4] 17:13:59.004 [debug] QUERY OK source="media_items" db=1.3ms queue=0.1ms idle=5.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how the nervous system impacts fat loss and how certain behaviors and supplements can accelerate fat burning.\n\nI explain how non-exercise movements like fidgeting and shivering trigger adrenaline to boost fat metabolism. I also examine the impact of exercise intensity and fasted workouts on fat burning, and how supplements such as caffeine, GLP-1 and berberine can further support fat loss. These science-based tools go beyond traditional calorie counting to enhance metabolism and improve body composition.\n\nEpisode show notes: https://go.hubermanlab.com/7L1cxrW\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/GqPGXG5TlZw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Fat Loss\n00:01:00 Calories In, Calories Out; Nervous System\n00:02:57 Fat Burning, Nervous System & Adrenaline\n00:06:21 Increase Adrenaline, Shivering, Tool: Fidgeting \n00:10:10 Shivering & Fat Loss, White & Brown Fat\n00:13:27 Tool: Deliberate Cold Exposure Protocol\n00:15:28 High, Medium vs Low-Intensity Exercise, Exercise Fasted?\n00:21:21 Tool: Exercise for Fat Loss; Adrenaline\n00:23:15 Caffeine, Dose, Exercise & Fat Loss\n00:25:50 GLP-1, Yerba Mate, Exercise; Semaglutide\n00:28:49 Berberine, Metformin, Insulin\n00:29:46 Diet, Adherence, Carbohydrates & Insulin\n00:31:25 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Lose Fat With Science-Based Tools | Huberman Lab Essentials", "c912ea86-159a-4efb-8e4d-dd9be6aeebc0", 2016, false, "f4cdu-QiKHo", "https://www.youtube.com/watch?v=f4cdu-QiKHo", 75, "/downloads/Andrew Huberman/2025-04-03 Lose Fat With Science-Based Tools | Huberman Lab Essentials/Lose Fat With Science-Based Tools | Huberman Lab Essentials [f4cdu-QiKHo].mp4", false, false, false, 4, [], 1, ~U[2025-04-03 12:00:58Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how the nervous system impacts fat loss and how certain behaviors and supplements can accelerate fat burning.\n\nI explain how non-exercise movements like fidgeting and shivering trigger adrenaline to boost fat metabolism. I also examine the impact of exercise intensity and fasted workouts on fat burning, and how supplements such as caffeine, GLP-1 and berberine can further support fat loss. These science-based tools go beyond traditional calorie counting to enhance metabolism and improve body composition.\n\nEpisode show notes: https://go.hubermanlab.com/7L1cxrW\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/GqPGXG5TlZw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Fat Loss\n00:01:00 Calories In, Calories Out; Nervous System\n00:02:57 Fat Burning, Nervous System & Adrenaline\n00:06:21 Increase Adrenaline, Shivering, Tool: Fidgeting \n00:10:10 Shivering & Fat Loss, White & Brown Fat\n00:13:27 Tool: Deliberate Cold Exposure Protocol\n00:15:28 High, Medium vs Low-Intensity Exercise, Exercise Fasted?\n00:21:21 Tool: Exercise for Fat Loss; Adrenaline\n00:23:15 Caffeine, Dose, Exercise & Fat Loss\n00:25:50 GLP-1, Yerba Mate, Exercise; Semaglutide\n00:28:49 Berberine, Metformin, Insulin\n00:29:46 Diet, Adherence, Carbohydrates & Insulin\n00:31:25 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Lose Fat With Science-Based Tools | Huberman Lab Essentials", 2016, false, "f4cdu-QiKHo", "https://www.youtube.com/watch?v=f4cdu-QiKHo", "/downloads/Andrew Huberman/2025-04-03 Lose Fat With Science-Based Tools | Huberman Lab Essentials/Lose Fat With Science-Based Tools | Huberman Lab Essentials [f4cdu-QiKHo].mp4", false, 4, ~U[2025-04-03 12:00:58Z]] 17:13:59.005 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:59.006 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-27 12:00:46Z], 4] 17:13:59.008 [debug] QUERY OK source="media_items" db=1.3ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how to improve motor skill learning and proficiency—whether for athletic performance, learning an instrument or refining any physical skill.\n\nI explain practical tools to build skills, including how to structure learning sessions to focus on repetitions, use internal feedback systems and learn from errors—key elements for accelerating progress. I also discuss strategies such as visualization, metronoming, idle time and the impact of supplements like alpha-GPC and caffeine on performance. This episode provides valuable insights for anyone looking to accelerate and optimize their motor skill development.\n\nEpisode show notes: https://go.hubermanlab.com/RTVzwhG\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/xJ0IBzCjEPk\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Learning Motor Skills\n00:01:10 Building New Skills, Tools: Open vs Closed Loop; Focus\n00:03:58 Skills & Realistic Expectations, Super Mario Effect\n00:08:17 Tube Test & Brain, Tool: Increase Repetitions\n00:11:01 Importance of Errors, Framing Effect, Neuroplasticity\n00:13:23 Learning Session Protocol, Tool: Idle Time Post-Learning\n00:17:23 Movement Speed, Ultra-Slow Movements\n00:19:28 Skill Proficiency & Errors, Tool: Metronoming\n00:21:56 Mental Rehearsal & Limits, Tool: Visualization\n00:24:38 Skill Learning & Supplements, Alpha-GPC, Caffeine\n00:28:26 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Learn Skills Faster | Huberman Lab Essentials", "b2ec7d9c-730b-4221-91e8-f2eb1d859f04", 1840, false, "VnEy78RL2YY", "https://www.youtube.com/watch?v=VnEy78RL2YY", 76, "/downloads/Andrew Huberman/2025-03-27 How to Learn Skills Faster | Huberman Lab Essentials/How to Learn Skills Faster | Huberman Lab Essentials [VnEy78RL2YY].mp4", false, false, false, 4, [], 1, ~U[2025-03-27 12:00:46Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore how to improve motor skill learning and proficiency—whether for athletic performance, learning an instrument or refining any physical skill.\n\nI explain practical tools to build skills, including how to structure learning sessions to focus on repetitions, use internal feedback systems and learn from errors—key elements for accelerating progress. I also discuss strategies such as visualization, metronoming, idle time and the impact of supplements like alpha-GPC and caffeine on performance. This episode provides valuable insights for anyone looking to accelerate and optimize their motor skill development.\n\nEpisode show notes: https://go.hubermanlab.com/RTVzwhG\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/xJ0IBzCjEPk\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Learning Motor Skills\n00:01:10 Building New Skills, Tools: Open vs Closed Loop; Focus\n00:03:58 Skills & Realistic Expectations, Super Mario Effect\n00:08:17 Tube Test & Brain, Tool: Increase Repetitions\n00:11:01 Importance of Errors, Framing Effect, Neuroplasticity\n00:13:23 Learning Session Protocol, Tool: Idle Time Post-Learning\n00:17:23 Movement Speed, Ultra-Slow Movements\n00:19:28 Skill Proficiency & Errors, Tool: Metronoming\n00:21:56 Mental Rehearsal & Limits, Tool: Visualization\n00:24:38 Skill Learning & Supplements, Alpha-GPC, Caffeine\n00:28:26 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Learn Skills Faster | Huberman Lab Essentials", 1840, false, "VnEy78RL2YY", "https://www.youtube.com/watch?v=VnEy78RL2YY", "/downloads/Andrew Huberman/2025-03-27 How to Learn Skills Faster | Huberman Lab Essentials/How to Learn Skills Faster | Huberman Lab Essentials [VnEy78RL2YY].mp4", false, 4, ~U[2025-03-27 12:00:46Z]] 17:13:59.008 [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" = ?) [4] 17:13:59.009 [debug] QUERY OK source="media_items" db=0.6ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-20 12:00:07Z], 4] 17:13:59.013 [debug] QUERY OK source="media_items" db=2.1ms idle=5.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the critical role of temperature regulation in optimizing athletic and physical performance.\n\nI explain why overheating can hinder performance and endurance and how techniques like palmar cooling can help extend physical effort by aiding temperature regulation. I also highlight how specific body areas, such as the palms and face, are key targets for regulating temperature, allowing heat to dissipate efficiently. Lastly, I discuss how temperature can support training recovery while cautioning that extreme cold, such as ice baths immediately after training, can block adaptations.\n\nEpisode show notes: https://go.hubermanlab.com/ZYC4CTc\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/xaE9XyMMAHY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Physical Performance & Skills, Temperature\n00:03:03 Temperature Homeostasis, Vasoconstriction & Vasodilation\n00:05:38 Elevated Heat & Performance Barrier\n00:07:21 Regulating Temperature, Glabrous Skin, “AVAs”\n00:11:16 Strength Training & Heat Effects, Tool: Palmar Cooling\n00:14:47 Endurance, Temperature & Willpower\n00:18:21 Tool: Resistance Training, Running, Palmar Cooling & Water Temperature\n00:21:49 Ice Bath & Blocking Training Adaptations; Tool: Glabrous Skin & Recovery\n00:25:10 NSAIDs (Tylenol) & Training\n00:27:35 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Supercharge Exercise Performance & Recovery with Cooling | Huberman Lab Essentials", "9cbdbec5-2474-4785-854c-50e967874983", 1741, false, "5--yogtN6oM", "https://www.youtube.com/watch?v=5--yogtN6oM", 77, "/downloads/Andrew Huberman/2025-03-20 Supercharge Exercise Performance & Recovery with Cooling | Huberman Lab Essentials/Supercharge Exercise Performance & Recovery with Cooling | Huberman Lab Essentials [5--yogtN6oM].mp4", false, false, false, 4, [], 1, ~U[2025-03-20 12:00:07Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the critical role of temperature regulation in optimizing athletic and physical performance.\n\nI explain why overheating can hinder performance and endurance and how techniques like palmar cooling can help extend physical effort by aiding temperature regulation. I also highlight how specific body areas, such as the palms and face, are key targets for regulating temperature, allowing heat to dissipate efficiently. Lastly, I discuss how temperature can support training recovery while cautioning that extreme cold, such as ice baths immediately after training, can block adaptations.\n\nEpisode show notes: https://go.hubermanlab.com/ZYC4CTc\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/xaE9XyMMAHY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Physical Performance & Skills, Temperature\n00:03:03 Temperature Homeostasis, Vasoconstriction & Vasodilation\n00:05:38 Elevated Heat & Performance Barrier\n00:07:21 Regulating Temperature, Glabrous Skin, “AVAs”\n00:11:16 Strength Training & Heat Effects, Tool: Palmar Cooling\n00:14:47 Endurance, Temperature & Willpower\n00:18:21 Tool: Resistance Training, Running, Palmar Cooling & Water Temperature\n00:21:49 Ice Bath & Blocking Training Adaptations; Tool: Glabrous Skin & Recovery\n00:25:10 NSAIDs (Tylenol) & Training\n00:27:35 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Supercharge Exercise Performance & Recovery with Cooling | Huberman Lab Essentials", 1741, false, "5--yogtN6oM", "https://www.youtube.com/watch?v=5--yogtN6oM", "/downloads/Andrew Huberman/2025-03-20 Supercharge Exercise Performance & Recovery with Cooling | Huberman Lab Essentials/Supercharge Exercise Performance & Recovery with Cooling | Huberman Lab Essentials [5--yogtN6oM].mp4", false, 4, ~U[2025-03-20 12:00:07Z]] 17:13:59.013 [debug] QUERY OK source="sources" db=0.2ms idle=7.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:59.015 [debug] QUERY OK source="media_items" db=0.9ms idle=6.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-13 12:01:31Z], 4] 17:13:59.017 [debug] QUERY OK source="media_items" db=1.5ms idle=6.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how specific hormones influence both energy levels and the immune system and discuss practical tools for increasing energy throughout the day and managing stress.\n\nI discuss the mechanism through which cortisol and epinephrine (adrenaline) impact the brain and body and why it’s important to regulate their levels, considering factors like time of day or stress levels. I also cover the positive benefits of short-term stress and behavioral protocols to increase energy and enhance stress resilience. Additionally, I explain how to optimize hormone levels through tools like sunlight exposure, meal timing, and supplements such as ashwagandha.\n\nEpisode show notes: https://go.hubermanlab.com/IcLrgLk\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/JPX8g8ibKFc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Immunity & Energy\n00:01:34 Cortisol, Epinephrine (Adrenaline)\n00:03:32 Cortisol & Epinephrine Biology\n00:05:20 Timing Cortisol Release, Tool: Morning Sunlight Exposure\n00:07:36 Daytime Stress, Learning & Cortisol\n00:08:59 Tool: Increase Energy, Ice Baths, Cyclic Breathing, HIIT\n00:13:52 Tool: Building Resilience; Cortisol vs. Epinephrine Effects, Immune System\n00:17:55 Brief Stressors & Immune System\n00:21:37 Chronic Stress, Cortisol, Hunger & Food Choice\n00:23:56 Stress & Gray Hair?\n00:24:33 Reduce Cortisol & Supplements, Ashwagandha, Apigenin\n00:26:18 Optimizing Cortisol & Epinephrine, Tool: Meals, Circadian Eating, Fasting\n00:28:54 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Boost Your Energy & Immune System with Cortisol & Adrenaline | Huberman Lab Essentials", "283cca32-2bb0-453b-b039-f96d11f17af2", 1847, false, "wFucddupQlk", "https://www.youtube.com/watch?v=wFucddupQlk", 78, "/downloads/Andrew Huberman/2025-03-13 Boost Your Energy & Immune System with Cortisol & Adrenaline | Huberman Lab Essentials/Boost Your Energy & Immune System with Cortisol & Adrenaline | Huberman Lab Essentials [wFucddupQlk].mp4", false, false, false, 4, [], 1, ~U[2025-03-13 12:01:31Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how specific hormones influence both energy levels and the immune system and discuss practical tools for increasing energy throughout the day and managing stress.\n\nI discuss the mechanism through which cortisol and epinephrine (adrenaline) impact the brain and body and why it’s important to regulate their levels, considering factors like time of day or stress levels. I also cover the positive benefits of short-term stress and behavioral protocols to increase energy and enhance stress resilience. Additionally, I explain how to optimize hormone levels through tools like sunlight exposure, meal timing, and supplements such as ashwagandha.\n\nEpisode show notes: https://go.hubermanlab.com/IcLrgLk\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/JPX8g8ibKFc\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Immunity & Energy\n00:01:34 Cortisol, Epinephrine (Adrenaline)\n00:03:32 Cortisol & Epinephrine Biology\n00:05:20 Timing Cortisol Release, Tool: Morning Sunlight Exposure\n00:07:36 Daytime Stress, Learning & Cortisol\n00:08:59 Tool: Increase Energy, Ice Baths, Cyclic Breathing, HIIT\n00:13:52 Tool: Building Resilience; Cortisol vs. Epinephrine Effects, Immune System\n00:17:55 Brief Stressors & Immune System\n00:21:37 Chronic Stress, Cortisol, Hunger & Food Choice\n00:23:56 Stress & Gray Hair?\n00:24:33 Reduce Cortisol & Supplements, Ashwagandha, Apigenin\n00:26:18 Optimizing Cortisol & Epinephrine, Tool: Meals, Circadian Eating, Fasting\n00:28:54 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Boost Your Energy & Immune System with Cortisol & Adrenaline | Huberman Lab Essentials", 1847, false, "wFucddupQlk", "https://www.youtube.com/watch?v=wFucddupQlk", "/downloads/Andrew Huberman/2025-03-13 Boost Your Energy & Immune System with Cortisol & Adrenaline | Huberman Lab Essentials/Boost Your Energy & Immune System with Cortisol & Adrenaline | Huberman Lab Essentials [wFucddupQlk].mp4", false, 4, ~U[2025-03-13 12:01:31Z]] 17:13:59.018 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:59.019 [debug] QUERY OK source="media_items" db=0.6ms idle=5.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-06 13:00:36Z], 4] 17:13:59.021 [debug] QUERY OK source="media_items" db=1.8ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how two key hormones control metabolism and discuss tools to enhance their levels to improve metabolic health. \n\nI discuss the pathways through which the brain and body interact to produce thyroid hormone and growth hormone, and how these hormones influence essential processes like tissue growth and repair, body composition, and energy production. I explain how thyroid hormone levels are influenced by key nutrients, such as iodine, selenium, and L-tyrosine. I also explain how practices such as exercise, sleep, meditation and sauna can offset age-related declines in growth hormone, to optimize overall hormone health and metabolism. \n\nEpisode show notes: https://go.hubermanlab.com/NiHUHED\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/x7qbJeRxWGw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones & Metabolism\n00:01:41 Hypothalamus, Pituitary, Thyroid\n00:03:22 Thyroid Hormone Functions, Tools: Iodine, Selenium, L-Tyrosine\n00:07:55 Thyroid Hormone, Glucose & Metabolism; Thyroid Hormone Disorders\n00:10:14 Growth Hormone Functions, Prescription Growth Hormone\n00:13:10 Growth Hormone Release, Tools: Sleep & Bedtime Fasting\n00:14:35 Growth Hormone Release, Tools: Meditation; Exercise, Warm-Up, Glucose, Cool Down\n00:19:30 Growth Hormone Supplements, Arginine\n00:21:31 Offsetting Age-Related Growth Hormone Decline\n00:22:30 Temperature & Growth Hormone, Tool: Sauna Protocol\n00:26:49 Peptides, Sermorelin, Secretagogues, Risk\n00:29:37 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Control Your Metabolism by Thyroid & Growth Hormone | Huberman Lab Essentials", "64d33484-59d9-4673-b6fe-d2dc5720767f", 1886, false, "Nmo4bxfFzM0", "https://www.youtube.com/watch?v=Nmo4bxfFzM0", 79, "/downloads/Andrew Huberman/2025-03-06 How to Control Your Metabolism by Thyroid & Growth Hormone | Huberman Lab Essentials/How to Control Your Metabolism by Thyroid & Growth Hormone | Huberman Lab Essentials [Nmo4bxfFzM0].mp4", false, false, false, 4, [], 1, ~U[2025-03-06 13:00:36Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how two key hormones control metabolism and discuss tools to enhance their levels to improve metabolic health. \n\nI discuss the pathways through which the brain and body interact to produce thyroid hormone and growth hormone, and how these hormones influence essential processes like tissue growth and repair, body composition, and energy production. I explain how thyroid hormone levels are influenced by key nutrients, such as iodine, selenium, and L-tyrosine. I also explain how practices such as exercise, sleep, meditation and sauna can offset age-related declines in growth hormone, to optimize overall hormone health and metabolism. \n\nEpisode show notes: https://go.hubermanlab.com/NiHUHED\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/x7qbJeRxWGw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones & Metabolism\n00:01:41 Hypothalamus, Pituitary, Thyroid\n00:03:22 Thyroid Hormone Functions, Tools: Iodine, Selenium, L-Tyrosine\n00:07:55 Thyroid Hormone, Glucose & Metabolism; Thyroid Hormone Disorders\n00:10:14 Growth Hormone Functions, Prescription Growth Hormone\n00:13:10 Growth Hormone Release, Tools: Sleep & Bedtime Fasting\n00:14:35 Growth Hormone Release, Tools: Meditation; Exercise, Warm-Up, Glucose, Cool Down\n00:19:30 Growth Hormone Supplements, Arginine\n00:21:31 Offsetting Age-Related Growth Hormone Decline\n00:22:30 Temperature & Growth Hormone, Tool: Sauna Protocol\n00:26:49 Peptides, Sermorelin, Secretagogues, Risk\n00:29:37 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Control Your Metabolism by Thyroid & Growth Hormone | Huberman Lab Essentials", 1886, false, "Nmo4bxfFzM0", "https://www.youtube.com/watch?v=Nmo4bxfFzM0", "/downloads/Andrew Huberman/2025-03-06 How to Control Your Metabolism by Thyroid & Growth Hormone | Huberman Lab Essentials/How to Control Your Metabolism by Thyroid & Growth Hormone | Huberman Lab Essentials [Nmo4bxfFzM0].mp4", false, 4, ~U[2025-03-06 13:00:36Z]] 17:13:59.022 [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" = ?) [4] 17:13:59.023 [debug] QUERY OK source="media_items" db=0.5ms idle=5.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-27 13:01:01Z], 4] 17:13:59.025 [debug] QUERY OK source="media_items" db=1.4ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how hormones regulate hunger, appetite and feelings of satiety (fullness), along with strategies to help control appetite.\n\nI describe how the body senses nutrient levels and how the brain processes these signals to stimulate hunger or suppress appetite. I also discuss how certain foods can help curb hunger, while processed foods and emulsifiers can interfere with satiety signals, leading to overeating. Additionally, I cover how lifestyle factors such as exercise and meal timing regulate blood glucose levels, which in turn impact hunger and appetite.\n\nEpisode show notes: https://go.hubermanlab.com/Ao6Skcc\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/17O5mgXZ9ZU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones, Sexual Development\n00:00:56 Hunger, Hypothalamus, Cortex & Mouth\n00:04:40 Melanocyte-Stimulating Hormone, AgRP Neurons, Ghrelin, Tool: Regular Meal Timing\n00:08:56 Cholecystokinin (CCK), Tool: Omega-3s, Amino Acids & Blunting Appetite\n00:12:09 Highly-Processed Foods, Emulsifiers, Tool: Whole Foods & Satiety Signals\n00:16:49 Insulin, Glucose, Type 1 & 2 Diabetes\n00:19:55 Insulin & Glucagon, Tools: Food Order, Movement & Blood Glucose\n00:23:01 Tool: Exercise & Stable Blood Sugar\n00:25:51 Metformin, Ketogenic Diet, Blood Glucose\n00:28:13 Diabetes, Urine & Blood Sugar\n00:30:37 Caffeine, Tool: Yerba Mate, Glucagon-Like Peptide -1 (GLP-1), Appetite\n00:33:45 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Control Hunger, Eating & Satiety | Huberman Lab Essentials", "03f0489d-be71-4578-b6ed-5e1628636ff8", 2093, false, "c9JmHOUp6VU", "https://www.youtube.com/watch?v=c9JmHOUp6VU", 80, "/downloads/Andrew Huberman/2025-02-27 How to Control Hunger, Eating & Satiety | Huberman Lab Essentials/How to Control Hunger, Eating & Satiety | Huberman Lab Essentials [c9JmHOUp6VU].mp4", false, false, false, 4, [], 1, ~U[2025-02-27 13:01:01Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how hormones regulate hunger, appetite and feelings of satiety (fullness), along with strategies to help control appetite.\n\nI describe how the body senses nutrient levels and how the brain processes these signals to stimulate hunger or suppress appetite. I also discuss how certain foods can help curb hunger, while processed foods and emulsifiers can interfere with satiety signals, leading to overeating. Additionally, I cover how lifestyle factors such as exercise and meal timing regulate blood glucose levels, which in turn impact hunger and appetite.\n\nEpisode show notes: https://go.hubermanlab.com/Ao6Skcc\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/17O5mgXZ9ZU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones, Sexual Development\n00:00:56 Hunger, Hypothalamus, Cortex & Mouth\n00:04:40 Melanocyte-Stimulating Hormone, AgRP Neurons, Ghrelin, Tool: Regular Meal Timing\n00:08:56 Cholecystokinin (CCK), Tool: Omega-3s, Amino Acids & Blunting Appetite\n00:12:09 Highly-Processed Foods, Emulsifiers, Tool: Whole Foods & Satiety Signals\n00:16:49 Insulin, Glucose, Type 1 & 2 Diabetes\n00:19:55 Insulin & Glucagon, Tools: Food Order, Movement & Blood Glucose\n00:23:01 Tool: Exercise & Stable Blood Sugar\n00:25:51 Metformin, Ketogenic Diet, Blood Glucose\n00:28:13 Diabetes, Urine & Blood Sugar\n00:30:37 Caffeine, Tool: Yerba Mate, Glucagon-Like Peptide -1 (GLP-1), Appetite\n00:33:45 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Control Hunger, Eating & Satiety | Huberman Lab Essentials", 2093, false, "c9JmHOUp6VU", "https://www.youtube.com/watch?v=c9JmHOUp6VU", "/downloads/Andrew Huberman/2025-02-27 How to Control Hunger, Eating & Satiety | Huberman Lab Essentials/How to Control Hunger, Eating & Satiety | Huberman Lab Essentials [c9JmHOUp6VU].mp4", false, 4, ~U[2025-02-27 13:01:01Z]] 17:13:59.026 [debug] QUERY OK source="sources" db=0.2ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:59.026 [debug] QUERY OK source="media_items" db=0.4ms idle=4.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-20 13:01:30Z], 4] 17:13:59.028 [debug] QUERY OK source="media_items" db=1.4ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to optimize hormones—particularly testosterone, estrogen, and related sex steroids—to enhance fertility and overall well-being.\n\nI discuss the sources of testosterone and estrogen and how their levels fluctuate with age in both males and females. I also cover how behaviors such as exercise, cold and heat exposure, light exposure, illness, and breathing patterns affect hormones. Additionally, I examine specific supplements and replacement therapies, highlighting important precautions to consider when adjusting hormone levels.\n\nEpisode show notes: https://go.hubermanlab.com/srZp7sJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/qJXKhu5UZwk\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones, Sexual Development\n00:01:15 Testosterone & Estrogen Sources & Age, Adrenals \n00:03:34 Competition, Males & Testosterone; Dopamine\n00:07:56 Testosterone Decreases, Expectant Fathers, Illness\n00:09:59 Sleep Apnea, Testosterone, Estrogen, Cortisol, Tool: Nasal Breathing\n00:14:25 Dopamine, Cortisol, Fertility, Tool: Light Viewing Behavior\n00:16:56 Heat, Cold & Hormone Levels\n00:18:39 Resistance & Endurance Training, Testosterone, Tool: Exercise Order\n00:20:51 Estrogen, Menopause, Hormone Therapy\n00:22:31 Vitamins, Opioids, Supplements, Tongkat Ali, Cancer Risk\n00:27:02 Luteinizing Hormone, hCG, Fadogia Agrestis, Tool: Blood Tests\n00:31:37 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Optimize Testosterone & Estrogen | Huberman Lab Essentials", "ab361171-6ca8-49be-9272-c2efe5646617", 1960, false, "v4HRWgwjP_k", "https://www.youtube.com/watch?v=v4HRWgwjP_k", 81, "/downloads/Andrew Huberman/2025-02-20 How to Optimize Testosterone & Estrogen | Huberman Lab Essentials/How to Optimize Testosterone & Estrogen | Huberman Lab Essentials [v4HRWgwjP_k].mp4", false, false, false, 4, [], 1, ~U[2025-02-20 13:01:30Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to optimize hormones—particularly testosterone, estrogen, and related sex steroids—to enhance fertility and overall well-being.\n\nI discuss the sources of testosterone and estrogen and how their levels fluctuate with age in both males and females. I also cover how behaviors such as exercise, cold and heat exposure, light exposure, illness, and breathing patterns affect hormones. Additionally, I examine specific supplements and replacement therapies, highlighting important precautions to consider when adjusting hormone levels.\n\nEpisode show notes: https://go.hubermanlab.com/srZp7sJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/qJXKhu5UZwk\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones, Sexual Development\n00:01:15 Testosterone & Estrogen Sources & Age, Adrenals \n00:03:34 Competition, Males & Testosterone; Dopamine\n00:07:56 Testosterone Decreases, Expectant Fathers, Illness\n00:09:59 Sleep Apnea, Testosterone, Estrogen, Cortisol, Tool: Nasal Breathing\n00:14:25 Dopamine, Cortisol, Fertility, Tool: Light Viewing Behavior\n00:16:56 Heat, Cold & Hormone Levels\n00:18:39 Resistance & Endurance Training, Testosterone, Tool: Exercise Order\n00:20:51 Estrogen, Menopause, Hormone Therapy\n00:22:31 Vitamins, Opioids, Supplements, Tongkat Ali, Cancer Risk\n00:27:02 Luteinizing Hormone, hCG, Fadogia Agrestis, Tool: Blood Tests\n00:31:37 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Optimize Testosterone & Estrogen | Huberman Lab Essentials", 1960, false, "v4HRWgwjP_k", "https://www.youtube.com/watch?v=v4HRWgwjP_k", "/downloads/Andrew Huberman/2025-02-20 How to Optimize Testosterone & Estrogen | Huberman Lab Essentials/How to Optimize Testosterone & Estrogen | Huberman Lab Essentials [v4HRWgwjP_k].mp4", false, 4, ~U[2025-02-20 13:01:30Z]] 17:13:59.029 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:59.030 [debug] QUERY OK source="media_items" db=0.4ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-13 13:00:19Z], 4] 17:13:59.032 [debug] QUERY OK source="media_items" db=1.4ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the crucial role hormones play in shaping the sexual development of both the brain and body.\n\nI discuss how biological masculinization and feminization depend on factors such as genetics, hormone ratios, and receptor availability. I also explore how hormones like testosterone, estrogen, and other steroid hormones influence sexual characteristics and brain development. Additionally, I examine the impact of environmental factors—such as herbicides like atrazine, cannabis, alcohol, and even cell phones—on hormone function and reproductive health.\n\nEpisode show notes: https://go.hubermanlab.com/Do6MuHz\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/J7SrAEacyf8\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones, Sexual Development\n00:01:25 Chromosomal Sex, Gonadal Sex, Hormonal Sex, Morphology\n00:06:06 Steroid Hormones, Sexual Characteristics\n00:09:10 Primary & Secondary Sexual Characteristics, Dihydrotestosterone (DHT), Kisspeptin\n00:13:23 Masculinization of Brain, Estrogen\n00:14:41 Herbicides, Atrazine, Hormone Effects, Sperm Counts\n00:20:29 Female Sexual Development, Androgen Insensitivity Syndrome\n00:24:03 Cannabis & Aromatase Activity, Gynecomastia; Alcohol & Estrogen Activity\n00:27:00 Cell Phones & Gonads\n00:29:46 Beard & Hair Growth, DHT\n00:33:04 Hyenas, Hormones, Androstenedione; Plants \n00:38:06 Recap & Key Takeaways \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Hormones Shape Sexual Development | Huberman Lab Essentials", "6a957e4b-3bbc-4386-9cb8-f83574ae08f8", 2362, false, "FCFQx3cA0Lg", "https://www.youtube.com/watch?v=FCFQx3cA0Lg", 82, "/downloads/Andrew Huberman/2025-02-13 How Hormones Shape Sexual Development | Huberman Lab Essentials/How Hormones Shape Sexual Development | Huberman Lab Essentials [FCFQx3cA0Lg].mp4", false, false, false, 4, [], 1, ~U[2025-02-13 13:00:19Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the crucial role hormones play in shaping the sexual development of both the brain and body.\n\nI discuss how biological masculinization and feminization depend on factors such as genetics, hormone ratios, and receptor availability. I also explore how hormones like testosterone, estrogen, and other steroid hormones influence sexual characteristics and brain development. Additionally, I examine the impact of environmental factors—such as herbicides like atrazine, cannabis, alcohol, and even cell phones—on hormone function and reproductive health.\n\nEpisode show notes: https://go.hubermanlab.com/Do6MuHz\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/J7SrAEacyf8\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Hormones, Sexual Development\n00:01:25 Chromosomal Sex, Gonadal Sex, Hormonal Sex, Morphology\n00:06:06 Steroid Hormones, Sexual Characteristics\n00:09:10 Primary & Secondary Sexual Characteristics, Dihydrotestosterone (DHT), Kisspeptin\n00:13:23 Masculinization of Brain, Estrogen\n00:14:41 Herbicides, Atrazine, Hormone Effects, Sperm Counts\n00:20:29 Female Sexual Development, Androgen Insensitivity Syndrome\n00:24:03 Cannabis & Aromatase Activity, Gynecomastia; Alcohol & Estrogen Activity\n00:27:00 Cell Phones & Gonads\n00:29:46 Beard & Hair Growth, DHT\n00:33:04 Hyenas, Hormones, Androstenedione; Plants \n00:38:06 Recap & Key Takeaways \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Hormones Shape Sexual Development | Huberman Lab Essentials", 2362, false, "FCFQx3cA0Lg", "https://www.youtube.com/watch?v=FCFQx3cA0Lg", "/downloads/Andrew Huberman/2025-02-13 How Hormones Shape Sexual Development | Huberman Lab Essentials/How Hormones Shape Sexual Development | Huberman Lab Essentials [FCFQx3cA0Lg].mp4", false, 4, ~U[2025-02-13 13:00:19Z]] 17:13:59.033 [debug] QUERY OK source="sources" db=0.3ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:59.033 [debug] QUERY OK source="media_items" db=0.4ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-06 13:01:15Z], 4] 17:13:59.036 [debug] QUERY OK source="media_items" db=1.4ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the biology of emotions and moods, focusing on how development and neurochemicals shape our feelings and relationships.\n\nI describe how early infant bonds and puberty shape adult patterns of emotional connection. I explain that understanding emotions requires recognizing both internal states and external cues, along with strategies to enhance your emotional awareness. Additionally, I discuss the key elements of healthy emotional bonds and provide practical tools to deepen one’s understanding of emotions, leading to a richer emotional life. \n\nEpisode show notes: https://go.hubermanlab.com/WVYQ8qO\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/hcuMLQVAgEg\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Emotions\n00:03:01 Emotions & Childhood Development\n00:04:57 Infancy, Anxiety\n00:06:35 Understanding Emotions; Tools: Mood Meter; Emotions & 3 Key Questions \n00:10:06 Infancy, Interoception & Exteroception\n00:11:10 Strange-Situation Task & Babies, Emotional Regulation\n00:15:12 Tool: Exteroception vs Interoception Focus?\n00:19:42 Puberty, Kisspeptin; Testing the World, Emotional Exploration\n00:28:00 Creating Healthy Emotional Bonds; Dopamine, Serotonin & Oxytocin\n00:31:54 Vasopressin; Vagus Nerve & Alertness\n00:36:22 Recap & Key Takeaway\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science of Emotions & Relationships | Huberman Lab Essentials", "1fff6032-053f-429c-9547-27232cb76f52", 2266, false, "qdk7XuBgSjw", "https://www.youtube.com/watch?v=qdk7XuBgSjw", 83, "/downloads/Andrew Huberman/2025-02-06 The Science of Emotions & Relationships | Huberman Lab Essentials/The Science of Emotions & Relationships | Huberman Lab Essentials [qdk7XuBgSjw].mp4", false, false, false, 4, [], 1, ~U[2025-02-06 13:01:15Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I discuss the biology of emotions and moods, focusing on how development and neurochemicals shape our feelings and relationships.\n\nI describe how early infant bonds and puberty shape adult patterns of emotional connection. I explain that understanding emotions requires recognizing both internal states and external cues, along with strategies to enhance your emotional awareness. Additionally, I discuss the key elements of healthy emotional bonds and provide practical tools to deepen one’s understanding of emotions, leading to a richer emotional life. \n\nEpisode show notes: https://go.hubermanlab.com/WVYQ8qO\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/hcuMLQVAgEg\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Emotions\n00:03:01 Emotions & Childhood Development\n00:04:57 Infancy, Anxiety\n00:06:35 Understanding Emotions; Tools: Mood Meter; Emotions & 3 Key Questions \n00:10:06 Infancy, Interoception & Exteroception\n00:11:10 Strange-Situation Task & Babies, Emotional Regulation\n00:15:12 Tool: Exteroception vs Interoception Focus?\n00:19:42 Puberty, Kisspeptin; Testing the World, Emotional Exploration\n00:28:00 Creating Healthy Emotional Bonds; Dopamine, Serotonin & Oxytocin\n00:31:54 Vasopressin; Vagus Nerve & Alertness\n00:36:22 Recap & Key Takeaway\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "The Science of Emotions & Relationships | Huberman Lab Essentials", 2266, false, "qdk7XuBgSjw", "https://www.youtube.com/watch?v=qdk7XuBgSjw", "/downloads/Andrew Huberman/2025-02-06 The Science of Emotions & Relationships | Huberman Lab Essentials/The Science of Emotions & Relationships | Huberman Lab Essentials [qdk7XuBgSjw].mp4", false, 4, ~U[2025-02-06 13:01:15Z]] 17:13:59.037 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [4] 17:13:59.038 [debug] QUERY OK source="media_items" db=0.5ms idle=5.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-30 13:00:34Z], 4] 17:13:59.040 [debug] QUERY OK source="media_items" db=1.5ms idle=5.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the biological mechanism behind motivation and drive, as well as discuss practical tools for overcoming procrastination. \n\nI discuss the key role dopamine plays in driving cravings and motivating action. I explain how dopamine regulates the balance between pleasure and pain, and what happens when this system becomes dysregulated, leading to addiction. I discuss the role of molecules like serotonin, which help enhance the enjoyment of the present, and explain how to balance the drive for more while staying focused in the present. I also discuss the causes of procrastination and describe strategies to boost dopamine levels through behavioral approaches or supplements. \n\nEpisode show notes: https://go.hubermanlab.com/scK73JK\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/vA50EK70whE\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Motivation\n00:01:57 Dopamine & Brain \n00:04:08 Anticipation, Craving & Dopamine\n00:05:37 Food, Drugs & Dopamine Release\n00:09:08 Addiction, Pleasure & Pain Balance\n00:13:03 Dopamine, Pain, Yearning\n00:14:56 “Here and Now” Molecules, Serotonin, Endocannabinoids, Tool: Mindfulness\n00:18:30 Procrastination; Tool: Extend Dopamine, Offset Pain\n00:22:03 Dopamine & Motivation; Increasing Dopamine, Phenethylamine (PEA)\n00:25:30 Dopamine Schedule, Subjectivity\n00:28:31 Gambling, Intermittent Reinforcement, Tool: Blunting Rewards\n00:33:23 Recap & Key Takeaway\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Increase Motivation & Drive | Huberman Lab Essentials", "f6d706ca-f4e9-48a1-ab5c-c2bac73dcc11", 2048, false, "OLQRAMZi--c", "https://www.youtube.com/watch?v=OLQRAMZi--c", 84, "/downloads/Andrew Huberman/2025-01-30 How to Increase Motivation & Drive | Huberman Lab Essentials/How to Increase Motivation & Drive | Huberman Lab Essentials [OLQRAMZi--c].mp4", false, false, false, 4, [], 1, ~U[2025-01-30 13:00:34Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the biological mechanism behind motivation and drive, as well as discuss practical tools for overcoming procrastination. \n\nI discuss the key role dopamine plays in driving cravings and motivating action. I explain how dopamine regulates the balance between pleasure and pain, and what happens when this system becomes dysregulated, leading to addiction. I discuss the role of molecules like serotonin, which help enhance the enjoyment of the present, and explain how to balance the drive for more while staying focused in the present. I also discuss the causes of procrastination and describe strategies to boost dopamine levels through behavioral approaches or supplements. \n\nEpisode show notes: https://go.hubermanlab.com/scK73JK\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/vA50EK70whE\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Motivation\n00:01:57 Dopamine & Brain \n00:04:08 Anticipation, Craving & Dopamine\n00:05:37 Food, Drugs & Dopamine Release\n00:09:08 Addiction, Pleasure & Pain Balance\n00:13:03 Dopamine, Pain, Yearning\n00:14:56 “Here and Now” Molecules, Serotonin, Endocannabinoids, Tool: Mindfulness\n00:18:30 Procrastination; Tool: Extend Dopamine, Offset Pain\n00:22:03 Dopamine & Motivation; Increasing Dopamine, Phenethylamine (PEA)\n00:25:30 Dopamine Schedule, Subjectivity\n00:28:31 Gambling, Intermittent Reinforcement, Tool: Blunting Rewards\n00:33:23 Recap & Key Takeaway\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Increase Motivation & Drive | Huberman Lab Essentials", 2048, false, "OLQRAMZi--c", "https://www.youtube.com/watch?v=OLQRAMZi--c", "/downloads/Andrew Huberman/2025-01-30 How to Increase Motivation & Drive | Huberman Lab Essentials/How to Increase Motivation & Drive | Huberman Lab Essentials [OLQRAMZi--c].mp4", false, 4, ~U[2025-01-30 13:00:34Z]] 17:13:59.041 [debug] QUERY OK source="sources" db=0.2ms idle=7.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:59.042 [debug] QUERY OK source="media_items" db=0.4ms idle=5.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-23 13:00:28Z], 4] 17:13:59.044 [debug] QUERY OK source="media_items" db=1.3ms idle=5.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how the different nutrients and foods we eat impact our emotions and overall mood.\n\nI discuss how the mind-body connection shapes our food choices and cravings, highlighting the roles of key neurotransmitters like dopamine and serotonin in driving eating behaviors. I explain the biological mechanisms behind cravings for specific foods, such as sugar, and how psychological factors like belief effects can influence our perception of hunger. I also describe how certain nutrients, like omega-3 fatty acids, and a healthy gut microbiome are crucial in mood regulation and immune function.\n\nEpisode show notes: https://go.hubermanlab.com/QL9AWYX\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/XfURDjegrAw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Emotions, Food & Nutrition\n00:02:30 Attraction & Aversion\n00:03:38 Vagus Nerve, Sugar\n00:06:31 Gut “Feelings”, Hidden Sugars, Amino Acids\n00:08:54 Dopamine, Craving, L-tyrosine\n00:12:57 Serotonin, Carbohydrates\n00:16:12 Omega-3s, Depression, SSRIs\n00:19:12 Gut-Brain Axis, Gut Microbiome\n00:22:35 Probiotics, Brain Fog, Tools: Fermented Foods, Saccharine Caution\n00:25:39 Ketogenic Diet & Gut Microbiome, Tool: Individual Diet Variability\n00:28:59 Tool: Belief Effects; Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Foods & Nutrients Control Our Moods | Huberman Lab Essentials", "fe27c0a2-f43c-4cc6-bb2d-dd5dff38368d", 1953, false, "Q4qWzbP0q7I", "https://www.youtube.com/watch?v=Q4qWzbP0q7I", 85, "/downloads/Andrew Huberman/2025-01-23 How Foods & Nutrients Control Our Moods | Huberman Lab Essentials/How Foods & Nutrients Control Our Moods | Huberman Lab Essentials [Q4qWzbP0q7I].mp4", false, false, false, 4, [], 1, ~U[2025-01-23 13:00:28Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how the different nutrients and foods we eat impact our emotions and overall mood.\n\nI discuss how the mind-body connection shapes our food choices and cravings, highlighting the roles of key neurotransmitters like dopamine and serotonin in driving eating behaviors. I explain the biological mechanisms behind cravings for specific foods, such as sugar, and how psychological factors like belief effects can influence our perception of hunger. I also describe how certain nutrients, like omega-3 fatty acids, and a healthy gut microbiome are crucial in mood regulation and immune function.\n\nEpisode show notes: https://go.hubermanlab.com/QL9AWYX\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/XfURDjegrAw\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Emotions, Food & Nutrition\n00:02:30 Attraction & Aversion\n00:03:38 Vagus Nerve, Sugar\n00:06:31 Gut “Feelings”, Hidden Sugars, Amino Acids\n00:08:54 Dopamine, Craving, L-tyrosine\n00:12:57 Serotonin, Carbohydrates\n00:16:12 Omega-3s, Depression, SSRIs\n00:19:12 Gut-Brain Axis, Gut Microbiome\n00:22:35 Probiotics, Brain Fog, Tools: Fermented Foods, Saccharine Caution\n00:25:39 Ketogenic Diet & Gut Microbiome, Tool: Individual Diet Variability\n00:28:59 Tool: Belief Effects; Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Foods & Nutrients Control Our Moods | Huberman Lab Essentials", 1953, false, "Q4qWzbP0q7I", "https://www.youtube.com/watch?v=Q4qWzbP0q7I", "/downloads/Andrew Huberman/2025-01-23 How Foods & Nutrients Control Our Moods | Huberman Lab Essentials/How Foods & Nutrients Control Our Moods | Huberman Lab Essentials [Q4qWzbP0q7I].mp4", false, 4, ~U[2025-01-23 13:00:28Z]] 17:13:59.044 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:59.045 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-16 13:01:20Z], 4] 17:13:59.047 [debug] QUERY OK source="media_items" db=1.3ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain strategies for managing stress, both in the short and long term, to enhance overall well-being.\n\nI explain how the mind and body respond to stress and how acute stress has immune-boosting benefits. I discuss science-supported tools and supplements to better manage stress in real time and protocols for raising one's stress threshold to build resilience to life’s inevitable challenges. I also describe practices to reduce chronic stress and maintain a balanced, healthy life. \n\nEpisode show notes: https://go.hubermanlab.com/D9nUxLz\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/ntfcfJ28eiU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Emotions & Stress\n00:02:37 What is Stress?\n00:04:23 Short-Term Stress Response\n00:06:49 Breathwork to Reduce Stress; Tool: Physiological Sigh\n00:11:52 Physiologic Sigh, Carbon Dioxide & Rapid Stress Reduction\n00:13:30 Short-Term Stress, Positive Benefits, Immune System\n00:16:35 Tool: Deliberate Hyperventilation, Adrenaline & Infection\n00:21:01 Raising Stress Threshold, Tool: Eye Dilation\n00:25:00 Mitigating Long-Term Stress; Tool: Social Connection, Delight\n00:28:58 Melatonin, Caution\n00:30:06 L-theanine, Ashwagandha\n00:31:19 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Tools for Managing Stress & Anxiety | Huberman Lab Essentials", "9d6e6767-91df-4ab9-ade3-89b80e1c8755", 1949, false, "qUz93CyNIz0", "https://www.youtube.com/watch?v=qUz93CyNIz0", 86, "/downloads/Andrew Huberman/2025-01-16 Tools for Managing Stress & Anxiety | Huberman Lab Essentials/Tools for Managing Stress & Anxiety | Huberman Lab Essentials [qUz93CyNIz0].mp4", false, false, false, 4, [], 1, ~U[2025-01-16 13:01:20Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain strategies for managing stress, both in the short and long term, to enhance overall well-being.\n\nI explain how the mind and body respond to stress and how acute stress has immune-boosting benefits. I discuss science-supported tools and supplements to better manage stress in real time and protocols for raising one's stress threshold to build resilience to life’s inevitable challenges. I also describe practices to reduce chronic stress and maintain a balanced, healthy life. \n\nEpisode show notes: https://go.hubermanlab.com/D9nUxLz\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/ntfcfJ28eiU\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Emotions & Stress\n00:02:37 What is Stress?\n00:04:23 Short-Term Stress Response\n00:06:49 Breathwork to Reduce Stress; Tool: Physiological Sigh\n00:11:52 Physiologic Sigh, Carbon Dioxide & Rapid Stress Reduction\n00:13:30 Short-Term Stress, Positive Benefits, Immune System\n00:16:35 Tool: Deliberate Hyperventilation, Adrenaline & Infection\n00:21:01 Raising Stress Threshold, Tool: Eye Dilation\n00:25:00 Mitigating Long-Term Stress; Tool: Social Connection, Delight\n00:28:58 Melatonin, Caution\n00:30:06 L-theanine, Ashwagandha\n00:31:19 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Tools for Managing Stress & Anxiety | Huberman Lab Essentials", 1949, false, "qUz93CyNIz0", "https://www.youtube.com/watch?v=qUz93CyNIz0", "/downloads/Andrew Huberman/2025-01-16 Tools for Managing Stress & Anxiety | Huberman Lab Essentials/Tools for Managing Stress & Anxiety | Huberman Lab Essentials [qUz93CyNIz0].mp4", false, 4, ~U[2025-01-16 13:01:20Z]] 17:13:59.048 [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" = ?) [4] 17:13:59.049 [debug] QUERY OK source="media_items" db=0.5ms idle=4.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-09 13:00:39Z], 4] 17:13:59.051 [debug] QUERY OK source="media_items" db=1.6ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to manage pain and accelerate injury recovery by leveraging protocols to modulate pain perception. \n\nI discuss how pain interpretation is a complex experience, shaped by both internal factors like emotions and genetics, as well as external factors, such as context. I explain how practical strategies like acupuncture, breathing techniques, exercise and temperature modulation can influence the body’s pain response and accelerate recovery. I also discuss topics like phantom limb pain, recovering from traumatic brain injury and the crucial role inflammation plays in the healing process. \n\nEpisode show notes: https://go.hubermanlab.com/xYRBZIy\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/mcPSRWUYCv0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Neuroplasticity\n00:01:58 Somatosensory System, Pain\n00:05:22 Pain & Injury; Genes\n00:07:38 Touch, Sensitivity, Pain, Inflammation\n00:09:53 Phantom Limb Pain, Top-Down Modulation\n00:14:00 Traumatic Brain Injury, Aging & Glymphatic System; Tools: Side Sleeping, Zone 2 Cardio\n00:19:05 Pain Interpretation, Adrenaline, Emotion & Love\n00:22:19 Acupuncture; Homunculus, Somatosensory System, Gut & Inflammation\n00:29:31 Tool: Wim Hof Method, Tummo Breathing, Pain\n00:30:29 Tools: Injury Management, Ice or Heat?\n00:34:10 Platelet-Rich Plasma (PRP), Stem Cells\n00:35:43 Recap & Key Takeaways\n\nDisclaimer & Disclosures:: https://www.hubermanlab.com/disclaimer", "Control Pain & Heal Faster With Your Brain | Huberman Lab Essentials", "4b743db9-0aeb-48fa-9b3f-6da02aedc9e9", 2197, false, "SjPJn4QP0dk", "https://www.youtube.com/watch?v=SjPJn4QP0dk", 87, "/downloads/Andrew Huberman/2025-01-09 Control Pain & Heal Faster With Your Brain | Huberman Lab Essentials/Control Pain & Heal Faster With Your Brain | Huberman Lab Essentials [SjPJn4QP0dk].mp4", false, false, false, 4, [], 1, ~U[2025-01-09 13:00:39Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to manage pain and accelerate injury recovery by leveraging protocols to modulate pain perception. \n\nI discuss how pain interpretation is a complex experience, shaped by both internal factors like emotions and genetics, as well as external factors, such as context. I explain how practical strategies like acupuncture, breathing techniques, exercise and temperature modulation can influence the body’s pain response and accelerate recovery. I also discuss topics like phantom limb pain, recovering from traumatic brain injury and the crucial role inflammation plays in the healing process. \n\nEpisode show notes: https://go.hubermanlab.com/xYRBZIy\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/mcPSRWUYCv0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Neuroplasticity\n00:01:58 Somatosensory System, Pain\n00:05:22 Pain & Injury; Genes\n00:07:38 Touch, Sensitivity, Pain, Inflammation\n00:09:53 Phantom Limb Pain, Top-Down Modulation\n00:14:00 Traumatic Brain Injury, Aging & Glymphatic System; Tools: Side Sleeping, Zone 2 Cardio\n00:19:05 Pain Interpretation, Adrenaline, Emotion & Love\n00:22:19 Acupuncture; Homunculus, Somatosensory System, Gut & Inflammation\n00:29:31 Tool: Wim Hof Method, Tummo Breathing, Pain\n00:30:29 Tools: Injury Management, Ice or Heat?\n00:34:10 Platelet-Rich Plasma (PRP), Stem Cells\n00:35:43 Recap & Key Takeaways\n\nDisclaimer & Disclosures:: https://www.hubermanlab.com/disclaimer", "Control Pain & Heal Faster With Your Brain | Huberman Lab Essentials", 2197, false, "SjPJn4QP0dk", "https://www.youtube.com/watch?v=SjPJn4QP0dk", "/downloads/Andrew Huberman/2025-01-09 Control Pain & Heal Faster With Your Brain | Huberman Lab Essentials/Control Pain & Heal Faster With Your Brain | Huberman Lab Essentials [SjPJn4QP0dk].mp4", false, 4, ~U[2025-01-09 13:00:39Z]] 17:13:59.052 [debug] QUERY OK source="sources" db=0.2ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:59.052 [debug] QUERY OK source="media_items" db=0.4ms idle=4.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-02 13:00:13Z], 4] 17:13:59.059 [debug] QUERY OK source="media_items" db=5.4ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to boost creativity and enhance learning by aligning with the body’s natural rhythms and strategically using protocols to optimize states of alertness or calm.\n\nI outline tools to improve focus and learning, including when to use specific techniques based on the time of day and how to adjust focus and tasks according to energy levels. I also discuss the two essential components of creativity and explain how to structure productive, creative work sessions. By combining biological tools — such as exercise, meals, hydration, and sleep — with subjective methods like music, I demonstrate how to tailor your approach to align with your unique biological rhythms and individual goals, fostering greater creativity and learning.\n\nEpisode show notes: https://go.hubermanlab.com/Xa99nnB\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/uuP-1ioh4LY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Neuroplasticity\n00:01:50 Types of Neuroplasticity\n00:03:46 Autonomic Arousal, Sleep\n00:05:06 Waking Up, Tools: Sunlight, Caffeine Delay, Hydration\n00:08:11 Alertness, Morning & Work Bout\n00:09:37 Dopamine & Learning; Tool: Music & Alertness\n00:12:56 Tool: Exercise Early; Morning Work\n00:14:14 Meals; Afternoon Dip & Work, Tools: Hydration, Non-Sleep Deep Rest (NSDR)\n00:16:37 Creativity: Exploring vs. Implementation\n00:19:00 Psychedelics, Sensory Blending; Tool: Timing Creative Work\n00:21:06 Tool: Evening Sunlight; Lights, Evening Meal & Carbohydrates\n00:23:08 Natural Sleep/Wake Schedule; Tools: Anticipate Evening Alertness; NSDR\n00:26:25 Work & Daily Schedule, Tool: 90-Minute Work Bouts\n00:27:42 Optimize Biological Rhythms & Tools for Creativity & Learning\n\nDisclaimer & Disclaimer: https://www.hubermanlab.com/disclaimer", "Optimize Your Learning & Creativity With Science-Based Tools | Huberman Lab Essentials", "d5bf6f47-08d4-4571-9ad6-a1d73121abb8", 1847, false, "D97TQuy946k", "https://www.youtube.com/watch?v=D97TQuy946k", 88, "/downloads/Andrew Huberman/2025-01-02 Optimize Your Learning & Creativity With Science-Based Tools | Huberman Lab Essentials/Optimize Your Learning & Creativity With Science-Based Tools | Huberman Lab Essentials [D97TQuy946k].mp4", false, false, false, 4, [], 1, ~U[2025-01-02 13:00:13Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how to boost creativity and enhance learning by aligning with the body’s natural rhythms and strategically using protocols to optimize states of alertness or calm.\n\nI outline tools to improve focus and learning, including when to use specific techniques based on the time of day and how to adjust focus and tasks according to energy levels. I also discuss the two essential components of creativity and explain how to structure productive, creative work sessions. By combining biological tools — such as exercise, meals, hydration, and sleep — with subjective methods like music, I demonstrate how to tailor your approach to align with your unique biological rhythms and individual goals, fostering greater creativity and learning.\n\nEpisode show notes: https://go.hubermanlab.com/Xa99nnB\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/uuP-1ioh4LY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Neuroplasticity\n00:01:50 Types of Neuroplasticity\n00:03:46 Autonomic Arousal, Sleep\n00:05:06 Waking Up, Tools: Sunlight, Caffeine Delay, Hydration\n00:08:11 Alertness, Morning & Work Bout\n00:09:37 Dopamine & Learning; Tool: Music & Alertness\n00:12:56 Tool: Exercise Early; Morning Work\n00:14:14 Meals; Afternoon Dip & Work, Tools: Hydration, Non-Sleep Deep Rest (NSDR)\n00:16:37 Creativity: Exploring vs. Implementation\n00:19:00 Psychedelics, Sensory Blending; Tool: Timing Creative Work\n00:21:06 Tool: Evening Sunlight; Lights, Evening Meal & Carbohydrates\n00:23:08 Natural Sleep/Wake Schedule; Tools: Anticipate Evening Alertness; NSDR\n00:26:25 Work & Daily Schedule, Tool: 90-Minute Work Bouts\n00:27:42 Optimize Biological Rhythms & Tools for Creativity & Learning\n\nDisclaimer & Disclaimer: https://www.hubermanlab.com/disclaimer", "Optimize Your Learning & Creativity With Science-Based Tools | Huberman Lab Essentials", 1847, false, "D97TQuy946k", "https://www.youtube.com/watch?v=D97TQuy946k", "/downloads/Andrew Huberman/2025-01-02 Optimize Your Learning & Creativity With Science-Based Tools | Huberman Lab Essentials/Optimize Your Learning & Creativity With Science-Based Tools | Huberman Lab Essentials [D97TQuy946k].mp4", false, 4, ~U[2025-01-02 13:00:13Z]] 17:13:59.059 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [4] 17:13:59.060 [debug] QUERY OK source="media_items" db=0.4ms idle=8.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-26 13:00:58Z], 4] 17:13:59.062 [debug] QUERY OK source="media_items" db=1.3ms idle=9.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how making mistakes and perceived frustration drive learning and how movement enhances the brain’s adaptability. \n\nI explain how making errors triggers the release of neurotransmitters, such as dopamine, which are essential for learning. I also discuss the differences between how neuroplasticity occurs in children and adults, focusing on the varying requirements and effort needed for learning. I discuss science-supported learning strategies for adults, including small practice bouts, leveraging frustration, regulating your autonomic state, and using movement to maximize focus and neuroplasticity. \n\nEpisode show notes: https://go.hubermanlab.com/sedjKF5\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/hx3U64IXFOY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Learning\n00:01:29 Representational Plasticity, Performance Errors\n00:03:16 Neuroplasticity, Neurotransmitters\n00:05:03 Visual Adaptation, Children vs. Adults\n00:09:15 Errors, Frustration & Neuroplasticity, Adult Learning\n00:13:05 Adults, Incremental Shifts vs. High Contingency; Tool: Small Learning Bouts\n00:17:35 Tool: Ultradian Cycles, Focus, Errors & Frustration\n00:19:44 Dopamine, Errors & Subjective Beliefs, Peak Focus; Tool: Frustration\n00:23:32 Limbic Friction; Tool: Behaviors to Increase Alert or Calm\n00:27:13 Balance, Errors & Neurotransmitters\n00:29:58 Tool: Enhance Neuroplasticity; Movement\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Learn Faster by Using Failures, Movement & Balance | Huberman Lab Essentials", "2a065bc7-764f-4567-b569-2b215605e2ee", 2032, false, "jwChiek_aRY", "https://www.youtube.com/watch?v=jwChiek_aRY", 89, "/downloads/Andrew Huberman/2024-12-26 How to Learn Faster by Using Failures, Movement & Balance | Huberman Lab Essentials/How to Learn Faster by Using Failures, Movement & Balance | Huberman Lab Essentials [jwChiek_aRY].mp4", false, false, false, 4, [], 1, ~U[2024-12-26 13:00:58Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how making mistakes and perceived frustration drive learning and how movement enhances the brain’s adaptability. \n\nI explain how making errors triggers the release of neurotransmitters, such as dopamine, which are essential for learning. I also discuss the differences between how neuroplasticity occurs in children and adults, focusing on the varying requirements and effort needed for learning. I discuss science-supported learning strategies for adults, including small practice bouts, leveraging frustration, regulating your autonomic state, and using movement to maximize focus and neuroplasticity. \n\nEpisode show notes: https://go.hubermanlab.com/sedjKF5\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch or listen to the full-length episode: https://youtu.be/hx3U64IXFOY\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Learning\n00:01:29 Representational Plasticity, Performance Errors\n00:03:16 Neuroplasticity, Neurotransmitters\n00:05:03 Visual Adaptation, Children vs. Adults\n00:09:15 Errors, Frustration & Neuroplasticity, Adult Learning\n00:13:05 Adults, Incremental Shifts vs. High Contingency; Tool: Small Learning Bouts\n00:17:35 Tool: Ultradian Cycles, Focus, Errors & Frustration\n00:19:44 Dopamine, Errors & Subjective Beliefs, Peak Focus; Tool: Frustration\n00:23:32 Limbic Friction; Tool: Behaviors to Increase Alert or Calm\n00:27:13 Balance, Errors & Neurotransmitters\n00:29:58 Tool: Enhance Neuroplasticity; Movement\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Learn Faster by Using Failures, Movement & Balance | Huberman Lab Essentials", 2032, false, "jwChiek_aRY", "https://www.youtube.com/watch?v=jwChiek_aRY", "/downloads/Andrew Huberman/2024-12-26 How to Learn Faster by Using Failures, Movement & Balance | Huberman Lab Essentials/How to Learn Faster by Using Failures, Movement & Balance | Huberman Lab Essentials [jwChiek_aRY].mp4", false, 4, ~U[2024-12-26 13:00:58Z]] 17:13:59.063 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [4] 17:13:59.064 [debug] QUERY OK source="media_items" db=0.5ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-19 13:00:11Z], 4] 17:13:59.066 [debug] QUERY OK source="media_items" db=1.5ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how neuroplasticity allows the brain to continue to adapt and change throughout life, particularly through focused attention and active engagement in learning.\n\nI explain how neuroplasticity differs in children and adults, highlighting the key neurochemicals required for adult learning. I explain science-supported protocols to boost alertness and improve attention, including techniques like visual focus and goal accountability. I also discuss how sleep, along with practices such as non-sleep deep rest (NSDR) and naps, support the brain to enhance learning. \n\nEpisode show notes: https://go.hubermanlab.com/9nvzAlA\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch The full-length episode: https://youtu.be/LG53Vxum0as\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Neuroplasticity \n00:03:27 New Neurons; Sensory Information, Brain & Customized Map\n00:06:24 Recognition, Awareness of Behaviors\n00:08:42 Attention & Neuroplasticity\n00:13:16 Epinephrine, Acetylcholine & Nervous System Change\n00:15:56 Improve Alertness, Epinephrine, Tool: Accountability\n00:18:15 Improve Attention, Acetylcholine, Nicotine\n00:20:45 Tool: Visual Focus & Mental Focus\n00:26:13 Tool: Ultradian Cycles, Anchoring Attention\n00:27:19 Sleep & Neuroplasticity; NSDR, Naps\n00:29:53 Recap & Key Takeaways\n00:32:52 Zero-Cost Support, YouTube, Spotify & Apple Follow & Reviews, Recommendations, Sponsors\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Focus to Change Your Brain | Huberman Lab Essentials", "b7eb51a8-b3d0-4429-a5ea-3bb342cd0dc5", 2025, false, "4AwyVTHEU3s", "https://www.youtube.com/watch?v=4AwyVTHEU3s", 90, "/downloads/Andrew Huberman/2024-12-19 How to Focus to Change Your Brain | Huberman Lab Essentials/How to Focus to Change Your Brain | Huberman Lab Essentials [4AwyVTHEU3s].mp4", false, false, false, 4, [], 1, ~U[2024-12-19 13:00:11Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain how neuroplasticity allows the brain to continue to adapt and change throughout life, particularly through focused attention and active engagement in learning.\n\nI explain how neuroplasticity differs in children and adults, highlighting the key neurochemicals required for adult learning. I explain science-supported protocols to boost alertness and improve attention, including techniques like visual focus and goal accountability. I also discuss how sleep, along with practices such as non-sleep deep rest (NSDR) and naps, support the brain to enhance learning. \n\nEpisode show notes: https://go.hubermanlab.com/9nvzAlA\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch The full-length episode: https://youtu.be/LG53Vxum0as\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Neuroplasticity \n00:03:27 New Neurons; Sensory Information, Brain & Customized Map\n00:06:24 Recognition, Awareness of Behaviors\n00:08:42 Attention & Neuroplasticity\n00:13:16 Epinephrine, Acetylcholine & Nervous System Change\n00:15:56 Improve Alertness, Epinephrine, Tool: Accountability\n00:18:15 Improve Attention, Acetylcholine, Nicotine\n00:20:45 Tool: Visual Focus & Mental Focus\n00:26:13 Tool: Ultradian Cycles, Anchoring Attention\n00:27:19 Sleep & Neuroplasticity; NSDR, Naps\n00:29:53 Recap & Key Takeaways\n00:32:52 Zero-Cost Support, YouTube, Spotify & Apple Follow & Reviews, Recommendations, Sponsors\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Focus to Change Your Brain | Huberman Lab Essentials", 2025, false, "4AwyVTHEU3s", "https://www.youtube.com/watch?v=4AwyVTHEU3s", "/downloads/Andrew Huberman/2024-12-19 How to Focus to Change Your Brain | Huberman Lab Essentials/How to Focus to Change Your Brain | Huberman Lab Essentials [4AwyVTHEU3s].mp4", false, 4, ~U[2024-12-19 13:00:11Z]] 17:13:59.067 [debug] QUERY OK source="sources" db=0.2ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:59.068 [debug] QUERY OK source="media_items" db=0.5ms idle=4.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-12 13:00:52Z], 4] 17:13:59.070 [debug] QUERY OK source="media_items" db=1.3ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the important role that sleep and dreams have in learning, regulating emotions, and recovering from trauma.\n\nI discuss how dreams during rapid eye movement (REM) sleep contribute to emotional learning and the processing of traumatic experiences. I also discuss the similarities of REM dreams to clinical treatments like ketamine and EMDR therapy. I explain how non-REM dreams function differently to support other types of learning. Additionally, I describe science-backed strategies to optimize both types of sleep for improved learning, mood and emotional regulation.\n\nEpisode show notes: https://go.hubermanlab.com/oHpVh5A\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch The full-length episode: https://youtu.be/FFwA0QFmpQ4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Dreaming, Learning & Un-Learning \n00:01:04 Types of Sleep\n00:02:57 Slow-Wave Sleep, Motor Learning\n00:06:54 Rapid Eye Movement (REM) Sleep, Paralysis, Unlearning of Emotional Events\n00:11:21 Lack of REM Sleep, Emotionality\n00:13:54 REM Sleep, Learning & Meaning\n00:17:46 EMDR (Eye Movement Desensitization & Reprocessing) Therapy, Trauma\n00:24:25 Ketamine Therapy, PCP, Trauma\n00:27:30 REM Sleep as Therapy, Emotions\n00:29:47 Tool: Improve Slow-Wave & REM Sleep\n00:33:12 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Understand and Use Dreams to Learn and Forget | Huberman Lab Essentials", "28718423-61d0-41b2-b39a-8a214da9efcb", 2097, false, "hF32FvBH4gI", "https://www.youtube.com/watch?v=hF32FvBH4gI", 91, "/downloads/Andrew Huberman/2024-12-12 Understand and Use Dreams to Learn and Forget | Huberman Lab Essentials/Understand and Use Dreams to Learn and Forget | Huberman Lab Essentials [hF32FvBH4gI].mp4", false, false, false, 4, [], 1, ~U[2024-12-12 13:00:52Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explain the important role that sleep and dreams have in learning, regulating emotions, and recovering from trauma.\n\nI discuss how dreams during rapid eye movement (REM) sleep contribute to emotional learning and the processing of traumatic experiences. I also discuss the similarities of REM dreams to clinical treatments like ketamine and EMDR therapy. I explain how non-REM dreams function differently to support other types of learning. Additionally, I describe science-backed strategies to optimize both types of sleep for improved learning, mood and emotional regulation.\n\nEpisode show notes: https://go.hubermanlab.com/oHpVh5A\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch The full-length episode: https://youtu.be/FFwA0QFmpQ4\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Huberman Lab Essentials; Dreaming, Learning & Un-Learning \n00:01:04 Types of Sleep\n00:02:57 Slow-Wave Sleep, Motor Learning\n00:06:54 Rapid Eye Movement (REM) Sleep, Paralysis, Unlearning of Emotional Events\n00:11:21 Lack of REM Sleep, Emotionality\n00:13:54 REM Sleep, Learning & Meaning\n00:17:46 EMDR (Eye Movement Desensitization & Reprocessing) Therapy, Trauma\n00:24:25 Ketamine Therapy, PCP, Trauma\n00:27:30 REM Sleep as Therapy, Emotions\n00:29:47 Tool: Improve Slow-Wave & REM Sleep\n00:33:12 Recap & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Understand and Use Dreams to Learn and Forget | Huberman Lab Essentials", 2097, false, "hF32FvBH4gI", "https://www.youtube.com/watch?v=hF32FvBH4gI", "/downloads/Andrew Huberman/2024-12-12 Understand and Use Dreams to Learn and Forget | Huberman Lab Essentials/Understand and Use Dreams to Learn and Forget | Huberman Lab Essentials [hF32FvBH4gI].mp4", false, 4, ~U[2024-12-12 13:00:52Z]] 17:13:59.070 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:59.071 [debug] QUERY OK source="media_items" db=0.4ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-05 13:00:19Z], 4] 17:13:59.073 [debug] QUERY OK source="media_items" db=1.4ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore science-backed protocols to combat jet lag, manage shift work, and optimize sleep across different stages of life. \n\nI discuss “temperature minimum” — a simple and reliable measurement that helps you quickly adjust to new time zones and counteract the negative effects of nocturnal shift work. I also provide actionable tools for regulating sleep and wake cycles in babies and new parents. \n\nThe episode emphasizes the critical role of circadian rhythms, influenced by factors like light exposure, temperature regulation, and eating schedules. Practical tools include using light to shift your circadian clock, understanding the role of temperature in sleep, and adopting strategies to improve rest without medication. Whether you’re a shift worker, a parent of a newborn, or someone facing sleep challenges, this episode offers valuable guidance for enhancing recovery and overall well-being.\n\nEpisode show notes: https://go.hubermanlab.com/fH6CW5k\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/NAATB55oxeQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Introduction to Huberman Lab Essentials\n00:00:45 Understanding Circadian Rhythms\n00:02:26 Optimizing Light Exposure for Better Sleep\n00:04:56 Tools: Combating Jet Lag\n00:05:51 The Science of Jet Lag & Longevity\n00:09:32 Temperature Minimum: Key to Circadian Adjustment\n00:16:50 Melatonin: Uses & Misconceptions\n00:20:50 Shift Work: Managing Irregular Schedules\n00:23:06 Sleep Strategies for Different Age Groups\n00:25:31 Conclusion & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Defeat Jet Lag, Shift Work & Sleeplessness | Huberman Lab Essentials", "b18da9c2-d1cd-436f-bc94-d5e153f28dcd", 1604, false, "In9Bq4EJMZw", "https://www.youtube.com/watch?v=In9Bq4EJMZw", 92, "/downloads/Andrew Huberman/2024-12-05 How to Defeat Jet Lag, Shift Work & Sleeplessness | Huberman Lab Essentials/How to Defeat Jet Lag, Shift Work & Sleeplessness | Huberman Lab Essentials [In9Bq4EJMZw].mp4", false, false, false, 4, [], 1, ~U[2024-12-05 13:00:19Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I explore science-backed protocols to combat jet lag, manage shift work, and optimize sleep across different stages of life. \n\nI discuss “temperature minimum” — a simple and reliable measurement that helps you quickly adjust to new time zones and counteract the negative effects of nocturnal shift work. I also provide actionable tools for regulating sleep and wake cycles in babies and new parents. \n\nThe episode emphasizes the critical role of circadian rhythms, influenced by factors like light exposure, temperature regulation, and eating schedules. Practical tools include using light to shift your circadian clock, understanding the role of temperature in sleep, and adopting strategies to improve rest without medication. Whether you’re a shift worker, a parent of a newborn, or someone facing sleep challenges, this episode offers valuable guidance for enhancing recovery and overall well-being.\n\nEpisode show notes: https://go.hubermanlab.com/fH6CW5k\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/NAATB55oxeQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Timestamps*\n00:00:00 Introduction to Huberman Lab Essentials\n00:00:45 Understanding Circadian Rhythms\n00:02:26 Optimizing Light Exposure for Better Sleep\n00:04:56 Tools: Combating Jet Lag\n00:05:51 The Science of Jet Lag & Longevity\n00:09:32 Temperature Minimum: Key to Circadian Adjustment\n00:16:50 Melatonin: Uses & Misconceptions\n00:20:50 Shift Work: Managing Irregular Schedules\n00:23:06 Sleep Strategies for Different Age Groups\n00:25:31 Conclusion & Key Takeaways\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Defeat Jet Lag, Shift Work & Sleeplessness | Huberman Lab Essentials", 1604, false, "In9Bq4EJMZw", "https://www.youtube.com/watch?v=In9Bq4EJMZw", "/downloads/Andrew Huberman/2024-12-05 How to Defeat Jet Lag, Shift Work & Sleeplessness | Huberman Lab Essentials/How to Defeat Jet Lag, Shift Work & Sleeplessness | Huberman Lab Essentials [In9Bq4EJMZw].mp4", false, 4, ~U[2024-12-05 13:00:19Z]] 17:13:59.074 [debug] QUERY OK source="sources" db=0.3ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 17:13:59.075 [debug] QUERY OK source="media_items" db=0.4ms decode=0.1ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-28 13:01:03Z], 4] 17:13:59.078 [debug] QUERY OK source="media_items" db=2.9ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I answer your most frequently asked questions about science-backed tools for improving alertness, enhancing learning, and achieving quality sleep. I also discuss the optimal times for exercising and eating, how to properly time light exposure, as well as methods for strategically adjusting your body temperature to influence your nervous system.\n\nHuberman Lab Essentials are short episodes (approximately 30 minutes) focused on essential science and protocol takeaways from past Huberman Lab episodes. Essentials will be released every Thursday, and our full-length episodes will still be released every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/JII3SU7\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/nwSkFq4tyC0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nTwitter: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Introduction to Huberman Lab Essentials\n00:00:37 Understanding Circadian Rhythms & Light\n00:02:17 Impact of Red Light on Circadian Rhythms\n00:03:12 Light Through Windows & Circadian Clocks\n00:05:05 Seasonal Changes & Circadian Rhythms\n00:07:36 Neurotransmitters & Mood Regulation\n00:09:49 Exercise & Circadian Rhythms\n00:11:52 Non-Sleep Deep Rest (NSDR) & Learning\n00:19:23 Nootropics & Cognitive Enhancement\n00:21:55 Temperature & Circadian Rhythms\n00:27:04 Food, Neurotransmitters & Circadian Rhythms\n00:29:52 Self-Experimentation & Conclusion\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Science to Optimize Sleep, Learning & Metabolism | Huberman Lab Essentials", "d5a9ae3b-ec38-4036-adef-6812c2238c17", 1967, false, "q-H_A_dQUxQ", "https://www.youtube.com/watch?v=q-H_A_dQUxQ", 93, "/downloads/Andrew Huberman/2024-11-28 Using Science to Optimize Sleep, Learning & Metabolism | Huberman Lab Essentials/Using Science to Optimize Sleep, Learning & Metabolism | Huberman Lab Essentials [q-H_A_dQUxQ].mp4", false, false, false, 4, [], 1, ~U[2024-11-28 13:01:03Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this Huberman Lab Essentials episode, I answer your most frequently asked questions about science-backed tools for improving alertness, enhancing learning, and achieving quality sleep. I also discuss the optimal times for exercising and eating, how to properly time light exposure, as well as methods for strategically adjusting your body temperature to influence your nervous system.\n\nHuberman Lab Essentials are short episodes (approximately 30 minutes) focused on essential science and protocol takeaways from past Huberman Lab episodes. Essentials will be released every Thursday, and our full-length episodes will still be released every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/JII3SU7\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/nwSkFq4tyC0\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nTwitter: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nTimestamps\n00:00:00 Introduction to Huberman Lab Essentials\n00:00:37 Understanding Circadian Rhythms & Light\n00:02:17 Impact of Red Light on Circadian Rhythms\n00:03:12 Light Through Windows & Circadian Clocks\n00:05:05 Seasonal Changes & Circadian Rhythms\n00:07:36 Neurotransmitters & Mood Regulation\n00:09:49 Exercise & Circadian Rhythms\n00:11:52 Non-Sleep Deep Rest (NSDR) & Learning\n00:19:23 Nootropics & Cognitive Enhancement\n00:21:55 Temperature & Circadian Rhythms\n00:27:04 Food, Neurotransmitters & Circadian Rhythms\n00:29:52 Self-Experimentation & Conclusion\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Using Science to Optimize Sleep, Learning & Metabolism | Huberman Lab Essentials", 1967, false, "q-H_A_dQUxQ", "https://www.youtube.com/watch?v=q-H_A_dQUxQ", "/downloads/Andrew Huberman/2024-11-28 Using Science to Optimize Sleep, Learning & Metabolism | Huberman Lab Essentials/Using Science to Optimize Sleep, Learning & Metabolism | Huberman Lab Essentials [q-H_A_dQUxQ].mp4", false, 4, ~U[2024-11-28 13:01:03Z]] 17:13:59.079 [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" = ?) [4] 17:13:59.080 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=6.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-21 13:00:52Z], 4] 17:13:59.083 [debug] QUERY OK source="media_items" db=1.4ms idle=6.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n This is the second episode of Huberman Lab Essentials — short episodes (approximately 30 minutes) focused on essential science and protocol takeaways from past Huberman Lab episodes.\n\nThis Essentials episode offers insights into what makes us sleepy, helps us sleep soundly, and feel awake and alert. It covers a wide range of tools for anyone looking to improve their sleep and wakefulness, with the science and reasoning behind each tool explained.\n\nEssentials will be released every Thursday, and our full-length episodes will still be released every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/FESj0fJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/nm1TxQj9IsQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Introduction to Sleep & Wakefulness\n00:01:11 The Science of Sleep: Adenosine Explained\n00:03:30 Circadian Rhythms: The Body’s Internal Clock\n00:05:08 The Role of Cortisol & Melatonin\n00:10:16 Maximizing Morning Light Exposure\n00:14:12 Other Factors Influencing Circadian Rhythms\n00:16:08 The Impact of Light on Sleep Quality\n00:24:31 Napping & Non-Sleep Deep Rest\n\n#HubermanLab #Science #Sleep\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials", "be62169e-3fee-4a1d-b300-b9ab08a1e26c", 2040, false, "lIo9FcrljDk", "https://www.youtube.com/watch?v=lIo9FcrljDk", 94, "/downloads/Andrew Huberman/2024-11-21 Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials/Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials [lIo9FcrljDk].mp4", false, false, false, 4, [], 1, ~U[2024-11-21 13:00:52Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n This is the second episode of Huberman Lab Essentials — short episodes (approximately 30 minutes) focused on essential science and protocol takeaways from past Huberman Lab episodes.\n\nThis Essentials episode offers insights into what makes us sleepy, helps us sleep soundly, and feel awake and alert. It covers a wide range of tools for anyone looking to improve their sleep and wakefulness, with the science and reasoning behind each tool explained.\n\nEssentials will be released every Thursday, and our full-length episodes will still be released every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/FESj0fJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/nm1TxQj9IsQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Introduction to Sleep & Wakefulness\n00:01:11 The Science of Sleep: Adenosine Explained\n00:03:30 Circadian Rhythms: The Body’s Internal Clock\n00:05:08 The Role of Cortisol & Melatonin\n00:10:16 Maximizing Morning Light Exposure\n00:14:12 Other Factors Influencing Circadian Rhythms\n00:16:08 The Impact of Light on Sleep Quality\n00:24:31 Napping & Non-Sleep Deep Rest\n\n#HubermanLab #Science #Sleep\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials", 2040, false, "lIo9FcrljDk", "https://www.youtube.com/watch?v=lIo9FcrljDk", "/downloads/Andrew Huberman/2024-11-21 Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials/Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials [lIo9FcrljDk].mp4", false, 4, ~U[2024-11-21 13:00:52Z]] 17:13:59.083 [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" = ?) [4] 17:13:59.084 [debug] QUERY OK source="media_items" db=0.4ms idle=5.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-14 13:00:19Z], 4] 17:13:59.086 [debug] QUERY OK source="media_items" db=1.4ms idle=5.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n This is the first episode of Huberman Lab Essentials — short episodes (approximately 30 minutes) focused on essential science and protocol takeaways from past Huberman Lab episodes.\n\nThis Essentials episode introduces how the nervous system creates sensations, perceptions, emotions, thoughts, and behaviors, as well as how we can change our nervous system — a phenomenon known as neuroplasticity.\n\nEssentials will be released every Thursday, and our full-length episodes will still be released every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/Zt3ji94\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/H-XfCl-HpRM\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Introduction to Huberman Lab Essentials & the Nervous System \n00:02:15 Understanding Sensation & Perception \n00:05:02 The Complex World of Emotions \n00:08:24 The Role of Thoughts & Actions \n00:11:10 Deliberate Processing & Neuroplasticity \n00:14:29 The Mechanisms of Neuroplasticity \n00:19:24 The Importance of Sleep & Rest \n00:25:11 Understanding the Autonomic Nervous System \n00:30:57 Leveraging Ultradian Rhythms\n\n#HubermanLab #Science #Neuroscience\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Your Brain Works & Changes | Huberman Lab Essentials", "8df59c28-8918-4caa-b039-9a3264b35e44", 2096, false, "HiyzzcuaAac", "https://www.youtube.com/watch?v=HiyzzcuaAac", 95, "/downloads/Andrew Huberman/2024-11-14 How Your Brain Works & Changes | Huberman Lab Essentials/How Your Brain Works & Changes | Huberman Lab Essentials [HiyzzcuaAac].mp4", false, false, false, 4, [], 1, ~U[2024-11-14 13:00:19Z], ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n This is the first episode of Huberman Lab Essentials — short episodes (approximately 30 minutes) focused on essential science and protocol takeaways from past Huberman Lab episodes.\n\nThis Essentials episode introduces how the nervous system creates sensations, perceptions, emotions, thoughts, and behaviors, as well as how we can change our nervous system — a phenomenon known as neuroplasticity.\n\nEssentials will be released every Thursday, and our full-length episodes will still be released every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/Zt3ji94\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/H-XfCl-HpRM\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Introduction to Huberman Lab Essentials & the Nervous System \n00:02:15 Understanding Sensation & Perception \n00:05:02 The Complex World of Emotions \n00:08:24 The Role of Thoughts & Actions \n00:11:10 Deliberate Processing & Neuroplasticity \n00:14:29 The Mechanisms of Neuroplasticity \n00:19:24 The Importance of Sleep & Rest \n00:25:11 Understanding the Autonomic Nervous System \n00:30:57 Leveraging Ultradian Rhythms\n\n#HubermanLab #Science #Neuroscience\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How Your Brain Works & Changes | Huberman Lab Essentials", 2096, false, "HiyzzcuaAac", "https://www.youtube.com/watch?v=HiyzzcuaAac", "/downloads/Andrew Huberman/2024-11-14 How Your Brain Works & Changes | Huberman Lab Essentials/How Your Brain Works & Changes | Huberman Lab Essentials [HiyzzcuaAac].mp4", false, 4, ~U[2024-11-14 13:00:19Z]] 17:13:59.087 [debug] QUERY OK source="sources" db=0.2ms idle=6.6ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z], 4] 17:13:59.088 [debug] QUERY OK source="media_items" db=0.6ms idle=5.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [4] 17:13:59.089 [debug] QUERY OK source="media_items" db=0.4ms idle=5.1ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [4] 17:13:59.089 [debug] QUERY OK source="media_items" db=0.2ms idle=5.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [4] 17:13:59.091 [debug] QUERY OK source="tasks" db=0.2ms idle=2.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [9492, 4, ~U[2026-09-16 17:13:59Z], ~U[2026-09-16 17:13:59Z]] 17:13:59.092 [info] {"args":{"id":4},"id":9478,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":179785508,"event":"job:stop","queue_time":758097,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 17:14:00.041 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:14:23.559 [info] {"source":"oban","duration":956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:53.561 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:00.042 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:15:23.562 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:53.563 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:00.043 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:16:23.564 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:53.565 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:00.044 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:17:23.566 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:53.567 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:00.045 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:18:23.568 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:53.569 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:00.046 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:19:23.570 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:53.572 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:00.047 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:20:23.574 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:53.575 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:00.048 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:21:23.579 [info] {"source":"oban","duration":3312,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:53.580 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:00.049 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:22:23.581 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:53.582 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:00.050 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:23:23.583 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:53.584 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:00.051 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:24:23.585 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:53.586 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:00.052 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:25:23.587 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:53.588 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:00.053 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:26:23.589 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:53.590 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:00.054 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:27:23.592 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:53.593 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:00.055 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:28:23.594 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:53.595 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:00.056 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:29:23.596 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:53.597 [info] {"source":"oban","duration":920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:00.057 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:30:23.599 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:53.600 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:00.058 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:31:23.601 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:53.602 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:00.059 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:32:23.603 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:53.604 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:00.060 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:33:23.605 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:53.606 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:00.061 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:34:23.607 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:53.608 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:00.062 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:35:23.610 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:53.611 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:00.063 [info] {"source":"oban","duration":93,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:36:23.612 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:53.613 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:00.064 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:37:23.614 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:53.615 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:00.065 [info] {"source":"oban","duration":261,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:38:23.616 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:53.617 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:00.066 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:39:23.618 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:53.619 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:00.067 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:40:23.620 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:53.621 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:00.068 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:41:23.622 [info] {"source":"oban","duration":863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:53.624 [info] {"source":"oban","duration":816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:00.069 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:42:23.627 [info] {"source":"oban","duration":1062,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:53.628 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:00.070 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:43:23.629 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:53.630 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:00.071 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:44:23.631 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:53.632 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:00.072 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:45:23.633 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:53.634 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:00.073 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:46:23.635 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:53.636 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:00.074 [info] {"source":"oban","duration":170,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:47:23.637 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:53.638 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:00.075 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:48:23.639 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:53.640 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:00.076 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:49:23.641 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:53.642 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:00.077 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:50:23.643 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:53.647 [info] {"source":"oban","duration":2874,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:00.078 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:51:23.648 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:53.650 [info] {"source":"oban","duration":1223,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:00.079 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:52:23.651 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:53.652 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:00.080 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:53:23.653 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:53.655 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:00.081 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:54:23.656 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:53.657 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:00.082 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:55:23.658 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:53.659 [info] {"source":"oban","duration":900,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:00.083 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:56:23.661 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:53.662 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:00.084 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:57:23.663 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:53.664 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:00.085 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:58:23.665 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:53.666 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:00.086 [info] {"source":"oban","duration":218,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 17:59:23.667 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:53.668 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:00.087 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:00:23.669 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:53.670 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:00.088 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:01:23.671 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:53.672 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:00.089 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:02:23.673 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:53.674 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:00.090 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:03:23.675 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:53.676 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:00.091 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:04:23.677 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:53.678 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:00.092 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:05:23.680 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:53.681 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:00.093 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:06:23.682 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:53.684 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:00.094 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:07:23.685 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:53.686 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:00.095 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:08:23.687 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:53.688 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:00.096 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:09:23.689 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:53.690 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:00.097 [info] {"source":"oban","duration":406,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:10:23.691 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:53.692 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:00.098 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:11:23.694 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:53.695 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:00.099 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:12:23.696 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:53.697 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:00.100 [info] {"source":"oban","duration":310,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:13:23.698 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:53.699 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:00.101 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:14:23.700 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:53.701 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:00.102 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:15:23.702 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:53.703 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:00.103 [info] {"source":"oban","duration":247,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:16:23.704 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:53.705 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:00.104 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:17:23.706 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:53.707 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:00.105 [info] {"source":"oban","duration":105,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:18:23.708 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:53.709 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:00.106 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:19:23.711 [info] {"source":"oban","duration":1146,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:53.712 [info] {"source":"oban","duration":993,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:00.107 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:20:23.714 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:53.715 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:00.108 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:21:23.721 [info] {"source":"oban","duration":5552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:53.722 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:00.109 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:22:23.723 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:53.724 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:00.110 [info] {"source":"oban","duration":180,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:23:23.725 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:53.726 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:00.111 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:24:23.727 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:53.728 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:00.112 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:25:23.729 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:53.730 [info] {"source":"oban","duration":973,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:00.113 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:26:23.732 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:53.733 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:00.114 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:27:23.734 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:53.736 [info] {"source":"oban","duration":1627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:00.115 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:28:23.737 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:53.739 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:00.116 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:29:23.740 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:53.741 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:00.117 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:30:23.743 [info] {"source":"oban","duration":1407,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:53.744 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:00.118 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:31:23.745 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:53.746 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:00.119 [info] {"source":"oban","duration":232,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:32:23.748 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:53.749 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:00.120 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:33:23.751 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:53.752 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:00.121 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:34:23.757 [info] {"source":"oban","duration":4629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 18:34:53.759 [info] {"source":"oban","duration":1013,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:00.122 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:35:23.760 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:53.762 [info] {"source":"oban","duration":1536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:00.123 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:36:23.763 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:53.764 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:00.124 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:37:23.765 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:53.766 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:00.125 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:38:23.767 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:53.769 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:00.126 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:39:23.770 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:53.772 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:00.127 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:40:23.773 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:53.774 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:00.128 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:41:23.776 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:53.777 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:00.129 [info] {"source":"oban","duration":349,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:42:23.778 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:53.779 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:00.130 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:43:23.780 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:53.781 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:00.131 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:44:23.782 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:53.783 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:00.132 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:45:23.784 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:53.785 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:00.133 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:46:23.786 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:53.787 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:00.134 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:47:23.788 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:53.789 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:00.135 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:48:23.790 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:53.791 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:00.136 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:49:23.792 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:26.356 [info] {"args":{"id":9},"id":9480,"meta":{},"system_time":1789584566356539693,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 18:49:26.358 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=583.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:26.359 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=584.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:26.366 [debug] QUERY OK source="media_items" db=6.5ms idle=585.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")))) [9] 18:49:26.368 [debug] QUERY OK source="media_items" db=1.9ms idle=49.4ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 18:49:26.369 [debug] QUERY OK source="media_profiles" db=0.2ms idle=45.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] 18:49:26.370 [debug] QUERY OK source="settings" db=0.2ms idle=11.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:26.370 [debug] QUERY OK source="settings" db=0.2ms idle=11.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:26.371 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 18:49:26.372 [debug] Current batch of media processed. Will check again in 1000ms 18:49:26.372 [debug] QUERY OK source="settings" db=0.2ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:26.372 [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 [] 18:49:26.372 [debug] QUERY OK source="settings" db=0.2ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:49:26.373 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLHsXddZFR9ANs9hKH2fpanjTQOQYjAUZf --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/%(channel)S/%(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[format_note*=original]/bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/cc/dc/ccdcae8af2d2ea65867962229dde07642a6fd1f270685abb3199d1e93cc3ca54.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 18:49:27.373 [debug] Current batch of media processed. Will check again in 1000ms 18:49:28.374 [debug] Current batch of media processed. Will check again in 1000ms 18:49:29.375 [debug] Current batch of media processed. Will check again in 1000ms 18:49:30.382 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In spring 2018, I got a special tour inside the Dome of the Rock. Here are my thoughts as I wandered around this sacred building. \n\nJoin our Patreon community!: https://patreon.com/religionforbreakfast\n\nYou can also donate to the show at: https://www.paypal.me/religionforbreakfast\n\nFor religious studies book recommendations, see: https://amazon.com/shop/religionforbreakfast\n\nFollow me on:\nTwitter @andrewmarkhenry\nwww.facebook.com/religionforbreakfast", "duration" => 276, "filename" => "/downloads/ReligionForBreakfast/2019-01-24 What It's Like Inside the Dome of the Rock/What It's Like Inside the Dome of the Rock [k2Tj3Izdt30].mp4", "id" => "k2Tj3Izdt30", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=k2Tj3Izdt30", "playlist_index" => 1, "timestamp" => 1548346724, "title" => "What It's Like Inside the Dome of the Rock", "upload_date" => "20190124"} 18:49:30.383 [debug] QUERY OK source="sources" db=0.3ms idle=609.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 18:49:30.384 [debug] QUERY OK source="sources" db=0.1ms idle=609.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:30.387 [debug] QUERY OK source="media_items" db=3.2ms idle=610.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-01-24 16:18:44Z], 9] 18:49:30.392 [debug] QUERY OK source="media_items" db=3.9ms idle=613.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In spring 2018, I got a special tour inside the Dome of the Rock. Here are my thoughts as I wandered around this sacred building. \n\nJoin our Patreon community!: https://patreon.com/religionforbreakfast\n\nYou can also donate to the show at: https://www.paypal.me/religionforbreakfast\n\nFor religious studies book recommendations, see: https://amazon.com/shop/religionforbreakfast\n\nFollow me on:\nTwitter @andrewmarkhenry\nwww.facebook.com/religionforbreakfast", "What It's Like Inside the Dome of the Rock", "c6904bad-eb99-4735-aaf2-c02f9bb38116", 276, false, "k2Tj3Izdt30", "https://www.youtube.com/watch?v=k2Tj3Izdt30", 1, "/downloads/ReligionForBreakfast/2019-01-24 What It's Like Inside the Dome of the Rock/What It's Like Inside the Dome of the Rock [k2Tj3Izdt30].mp4", false, false, false, 9, [], 1, ~U[2019-01-24 16:18:44Z], ~U[2026-09-16 18:49:30Z], ~U[2026-09-16 18:49:30Z], "In spring 2018, I got a special tour inside the Dome of the Rock. Here are my thoughts as I wandered around this sacred building. \n\nJoin our Patreon community!: https://patreon.com/religionforbreakfast\n\nYou can also donate to the show at: https://www.paypal.me/religionforbreakfast\n\nFor religious studies book recommendations, see: https://amazon.com/shop/religionforbreakfast\n\nFollow me on:\nTwitter @andrewmarkhenry\nwww.facebook.com/religionforbreakfast", "What It's Like Inside the Dome of the Rock", 276, false, "k2Tj3Izdt30", "https://www.youtube.com/watch?v=k2Tj3Izdt30", "/downloads/ReligionForBreakfast/2019-01-24 What It's Like Inside the Dome of the Rock/What It's Like Inside the Dome of the Rock [k2Tj3Izdt30].mp4", false, 9, ~U[2019-01-24 16:18:44Z]] 18:49:30.392 [debug] QUERY OK source="sources" db=0.2ms idle=67.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:30.392 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 18:49:30.393 [debug] QUERY OK source="media_items" db=0.3ms idle=9.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [36425] 18:49:30.393 [debug] Current batch of media processed. Will check again in 1000ms 18:49:31.394 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Dome of the Rock is one of the most iconic buildings in the world and one of the most sacred buildings for Muslims today. But what is the Dome of the Rock? What is its history?\n\nSupport the show on Patreon!\nwww.patreon.com/religionforbreakfast\nwww.facebook.com/religionforbreakfast\nTwitter: @andrewmarkhenry\n\nCheck out my religious studies book recommendations at: http://amazon.com/shop/religionforbreakfast\n\nBibliography:\nRina Avner, \"The Dome of the Rock in Light of the Development of Concentric Martyria in Jerusalem: Architecture and Architectural Iconography,\" \n\nJodi Magness, “The Archaeology of the Holy Land,\" Cambridge University Press, 2012.\n\nOleg Grabar, \"The Dome of the Rock,\" Harvard University Press, 2006.", "duration" => 580, "filename" => "/downloads/ReligionForBreakfast/2018-09-26 What is the Dome of the Rock?/What is the Dome of the Rock? [FCXjQHFQF14].mp4", "id" => "FCXjQHFQF14", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FCXjQHFQF14", "playlist_index" => 2, "timestamp" => 1537987312, "title" => "What is the Dome of the Rock?", "upload_date" => "20180926"} 18:49:31.394 [debug] QUERY OK source="sources" db=0.3ms idle=1002.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 18:49:31.395 [debug] QUERY OK source="sources" db=0.1ms idle=1002.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:31.395 [debug] QUERY OK source="media_items" db=0.2ms idle=1002.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-09-26 18:41:52Z], 9] 18:49:31.399 [debug] QUERY OK source="media_items" db=2.7ms idle=1002.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Dome of the Rock is one of the most iconic buildings in the world and one of the most sacred buildings for Muslims today. But what is the Dome of the Rock? What is its history?\n\nSupport the show on Patreon!\nwww.patreon.com/religionforbreakfast\nwww.facebook.com/religionforbreakfast\nTwitter: @andrewmarkhenry\n\nCheck out my religious studies book recommendations at: http://amazon.com/shop/religionforbreakfast\n\nBibliography:\nRina Avner, \"The Dome of the Rock in Light of the Development of Concentric Martyria in Jerusalem: Architecture and Architectural Iconography,\" \n\nJodi Magness, “The Archaeology of the Holy Land,\" Cambridge University Press, 2012.\n\nOleg Grabar, \"The Dome of the Rock,\" Harvard University Press, 2006.", "What is the Dome of the Rock?", "5e71271b-b267-4f99-837d-22f8720a6b19", 580, false, "FCXjQHFQF14", "https://www.youtube.com/watch?v=FCXjQHFQF14", 2, "/downloads/ReligionForBreakfast/2018-09-26 What is the Dome of the Rock?/What is the Dome of the Rock? [FCXjQHFQF14].mp4", false, false, false, 9, [], 1, ~U[2018-09-26 18:41:52Z], ~U[2026-09-16 18:49:31Z], ~U[2026-09-16 18:49:31Z], "The Dome of the Rock is one of the most iconic buildings in the world and one of the most sacred buildings for Muslims today. But what is the Dome of the Rock? What is its history?\n\nSupport the show on Patreon!\nwww.patreon.com/religionforbreakfast\nwww.facebook.com/religionforbreakfast\nTwitter: @andrewmarkhenry\n\nCheck out my religious studies book recommendations at: http://amazon.com/shop/religionforbreakfast\n\nBibliography:\nRina Avner, \"The Dome of the Rock in Light of the Development of Concentric Martyria in Jerusalem: Architecture and Architectural Iconography,\" \n\nJodi Magness, “The Archaeology of the Holy Land,\" Cambridge University Press, 2012.\n\nOleg Grabar, \"The Dome of the Rock,\" Harvard University Press, 2006.", "What is the Dome of the Rock?", 580, false, "FCXjQHFQF14", "https://www.youtube.com/watch?v=FCXjQHFQF14", "/downloads/ReligionForBreakfast/2018-09-26 What is the Dome of the Rock?/What is the Dome of the Rock? [FCXjQHFQF14].mp4", false, 9, ~U[2018-09-26 18:41:52Z]] 18:49:31.399 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [9] 18:49:31.400 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 18:49:31.400 [debug] QUERY OK source="media_items" db=0.4ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [36427] 18:49:31.401 [debug] Current batch of media processed. Will check again in 1000ms 18:49:32.402 [debug] Current batch of media processed. Will check again in 1000ms 18:49:33.403 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Join our Patreon community!: https://patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\n\nEvery year, millions of Muslims complete a pilgrimage to Mecca called The Hajj. This pilgrimage is obligatory for all Muslims and is considered one of the Five Pillars of Islam. But what does this pilgrimage entail?\n\nThis video was brought to you, in part, by the Foundation for Religious Literacy. Check out their work here: https://tfrl.org/\n\nCheck out my favorite religious studies books: https://www.amazon.com/shop/religionforbreakfast \n\nFollow me on Twitter!: @andrewmarkhenry\n\n\nSources:\nhttps://www.aljazeera.com/focus/hajj/2009/11/2009111895127111168.html\nhttps://www.vox.com/2016/9/12/12814258/hajj-2018-islamic-pilgrimage-mecca-what-is-explained\nhttps://www.britishmuseum.org/explore/themes/hajj/the_rituals_of_the_hajj.aspx\nstampede: https://www.aljazeera.com/news/2015/09/pilgrims-killed-hajj-stampede-mina-mecca-150924082302232.html\nstampede: https://religionnews.com/2015/12/10/saudi-arabia-stifled-true-death-count-hajj-stampede-2411/\n\n\nPicture Credits:\nhttps://commons.wikimedia.org/wiki/Category:Ihram#/media/File:In_transit_-_Flickr_-_Al_Jazeera_English.jpg\nhttps://en.wikipedia.org/wiki/Binding_of_Isaac#/media/File:Rembrandt_Abraham_en_Isaac,_1634.jpg\nhttps://commons.wikimedia.org/wiki/File:Sa%27yee_To_return.jpg\nhttps://commons.wikimedia.org/wiki/Category:Sa%27yee#/media/File:Insideofmasjeldolharam1.JPG\nhttps://upload.wikimedia.org/wikipedia/commons/0/03/Mount_Safa_Mecca.jpg\nMina: https://en.wikipedia.org/wiki/Mina,_Saudi_Arabia#/media/File:Mina_Overview.JPG\nMina tent: https://commons.wikimedia.org/wiki/File:Clouds_over_Mina_-_Flickr_-_Al_Jazeera_English.jpg\nPlain of Arafat: https://en.wikipedia.org/wiki/Mount_Arafat#/media/File:Pilgrims_cover_Arafat's_roads,_plains_and_mountain_-_Flickr_-_Al_Jazeera_English.jpg\nMuzdalifa: https://commons.wikimedia.org/wiki/File:Muzdalifah.jpg\nStoning of the Devil wall: https://commons.wikimedia.org/wiki/File:While_pilgrims_are_performing_these_rites,_Muslims_who_are_not_at_Hajj_are_celebrating_the_Eid_al-Adha_holiday._-_Flickr_-_Al_Jazeera_English.jpg\nExiting Ihram: https://commons.wikimedia.org/wiki/File:After_casting_their_stones_the_first_day,_pilgrims_trim_(or_shave_if_they_are_men)_their_hair_and_remove_their_ihram_clothes._-_Flickr_-_Al_Jazeera_English.jpg\nCollecting stones: https://commons.wikimedia.org/wiki/File:Meanwhile,_some_pilgrims_begin_to_collect_pebbles_for_the_next_day%27s_rites._-_Flickr_-_Al_Jazeera_English.jpg", "duration" => 440, "filename" => "/downloads/ReligionForBreakfast/2019-08-09 What is the Hajj?/What is the Hajj? [ZeLjS--McoU].mp4", "id" => "ZeLjS--McoU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZeLjS--McoU", "playlist_index" => 3, "timestamp" => 1565364730, "title" => "What is the Hajj?", "upload_date" => "20190809"} 18:49:33.403 [debug] QUERY OK source="sources" db=0.2ms idle=629.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 18:49:33.404 [debug] QUERY OK source="sources" db=0.2ms idle=629.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:33.404 [debug] QUERY OK source="media_items" db=0.2ms idle=630.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-08-09 15:32:10Z], 9] 18:49:33.408 [debug] QUERY OK source="media_items" db=2.4ms idle=631.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join our Patreon community!: https://patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\n\nEvery year, millions of Muslims complete a pilgrimage to Mecca called The Hajj. This pilgrimage is obligatory for all Muslims and is considered one of the Five Pillars of Islam. But what does this pilgrimage entail?\n\nThis video was brought to you, in part, by the Foundation for Religious Literacy. Check out their work here: https://tfrl.org/\n\nCheck out my favorite religious studies books: https://www.amazon.com/shop/religionforbreakfast \n\nFollow me on Twitter!: @andrewmarkhenry\n\n\nSources:\nhttps://www.aljazeera.com/focus/hajj/2009/11/2009111895127111168.html\nhttps://www.vox.com/2016/9/12/12814258/hajj-2018-islamic-pilgrimage-mecca-what-is-explained\nhttps://www.britishmuseum.org/explore/themes/hajj/the_rituals_of_the_hajj.aspx\nstampede: https://www.aljazeera.com/news/2015/09/pilgrims-killed-hajj-stampede-mina-mecca-150924082302232.html\nstampede: https://religionnews.com/2015/12/10/saudi-arabia-stifled-true-death-count-hajj-stampede-2411/\n\n\nPicture Credits:\nhttps://commons.wikimedia.org/wiki/Category:Ihram#/media/File:In_transit_-_Flickr_-_Al_Jazeera_English.jpg\nhttps://en.wikipedia.org/wiki/Binding_of_Isaac#/media/File:Rembrandt_Abraham_en_Isaac,_1634.jpg\nhttps://commons.wikimedia.org/wiki/File:Sa%27yee_To_return.jpg\nhttps://commons.wikimedia.org/wiki/Category:Sa%27yee#/media/File:Insideofmasjeldolharam1.JPG\nhttps://upload.wikimedia.org/wikipedia/commons/0/03/Mount_Safa_Mecca.jpg\nMina: https://en.wikipedia.org/wiki/Mina,_Saudi_Arabia#/media/File:Mina_Overview.JPG\nMina tent: https://commons.wikimedia.org/wiki/File:Clouds_over_Mina_-_Flickr_-_Al_Jazeera_English.jpg\nPlain of Arafat: https://en.wikipedia.org/wiki/Mount_Arafat#/media/File:Pilgrims_cover_Arafat's_roads,_plains_and_mountain_-_Flickr_-_Al_Jazeera_English.jpg\nMuzdalifa: https://commons.wikimedia.org/wiki/File:Muzdalifah.jpg\nStoning of the Devil wall: https://commons.wikimedia.org/wiki/File:While_pilgrims_are_performing_these_rites,_Muslims_who_are_not_at_Hajj_are_celebrating_the_Eid_al-Adha_holiday._-_Flickr_-_Al_Jazeera_English.jpg\nExiting Ihram: https://commons.wikimedia.org/wiki/File:After_casting_their_stones_the_first_day,_pilgrims_trim_(or_shave_if_they_are_men)_their_hair_and_remove_their_ihram_clothes._-_Flickr_-_Al_Jazeera_English.jpg\nCollecting stones: https://commons.wikimedia.org/wiki/File:Meanwhile,_some_pilgrims_begin_to_collect_pebbles_for_the_next_day%27s_rites._-_Flickr_-_Al_Jazeera_English.jpg", "What is the Hajj?", "c1fd0e25-0f94-4387-9803-f3ee4fd58499", 440, false, "ZeLjS--McoU", "https://www.youtube.com/watch?v=ZeLjS--McoU", 3, "/downloads/ReligionForBreakfast/2019-08-09 What is the Hajj?/What is the Hajj? [ZeLjS--McoU].mp4", false, false, false, 9, [], 1, ~U[2019-08-09 15:32:10Z], ~U[2026-09-16 18:49:33Z], ~U[2026-09-16 18:49:33Z], "Join our Patreon community!: https://patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\n\nEvery year, millions of Muslims complete a pilgrimage to Mecca called The Hajj. This pilgrimage is obligatory for all Muslims and is considered one of the Five Pillars of Islam. But what does this pilgrimage entail?\n\nThis video was brought to you, in part, by the Foundation for Religious Literacy. Check out their work here: https://tfrl.org/\n\nCheck out my favorite religious studies books: https://www.amazon.com/shop/religionforbreakfast \n\nFollow me on Twitter!: @andrewmarkhenry\n\n\nSources:\nhttps://www.aljazeera.com/focus/hajj/2009/11/2009111895127111168.html\nhttps://www.vox.com/2016/9/12/12814258/hajj-2018-islamic-pilgrimage-mecca-what-is-explained\nhttps://www.britishmuseum.org/explore/themes/hajj/the_rituals_of_the_hajj.aspx\nstampede: https://www.aljazeera.com/news/2015/09/pilgrims-killed-hajj-stampede-mina-mecca-150924082302232.html\nstampede: https://religionnews.com/2015/12/10/saudi-arabia-stifled-true-death-count-hajj-stampede-2411/\n\n\nPicture Credits:\nhttps://commons.wikimedia.org/wiki/Category:Ihram#/media/File:In_transit_-_Flickr_-_Al_Jazeera_English.jpg\nhttps://en.wikipedia.org/wiki/Binding_of_Isaac#/media/File:Rembrandt_Abraham_en_Isaac,_1634.jpg\nhttps://commons.wikimedia.org/wiki/File:Sa%27yee_To_return.jpg\nhttps://commons.wikimedia.org/wiki/Category:Sa%27yee#/media/File:Insideofmasjeldolharam1.JPG\nhttps://upload.wikimedia.org/wikipedia/commons/0/03/Mount_Safa_Mecca.jpg\nMina: https://en.wikipedia.org/wiki/Mina,_Saudi_Arabia#/media/File:Mina_Overview.JPG\nMina tent: https://commons.wikimedia.org/wiki/File:Clouds_over_Mina_-_Flickr_-_Al_Jazeera_English.jpg\nPlain of Arafat: https://en.wikipedia.org/wiki/Mount_Arafat#/media/File:Pilgrims_cover_Arafat's_roads,_plains_and_mountain_-_Flickr_-_Al_Jazeera_English.jpg\nMuzdalifa: https://commons.wikimedia.org/wiki/File:Muzdalifah.jpg\nStoning of the Devil wall: https://commons.wikimedia.org/wiki/File:While_pilgrims_are_performing_these_rites,_Muslims_who_are_not_at_Hajj_are_celebrating_the_Eid_al-Adha_holiday._-_Flickr_-_Al_Jazeera_English.jpg\nExiting Ihram: https://commons.wikimedia.org/wiki/File:After_casting_their_stones_the_first_day,_pilgrims_trim_(or_shave_if_they_are_men)_their_hair_and_remove_their_ihram_clothes._-_Flickr_-_Al_Jazeera_English.jpg\nCollecting stones: https://commons.wikimedia.org/wiki/File:Meanwhile,_some_pilgrims_begin_to_collect_pebbles_for_the_next_day%27s_rites._-_Flickr_-_Al_Jazeera_English.jpg", "What is the Hajj?", 440, false, "ZeLjS--McoU", "https://www.youtube.com/watch?v=ZeLjS--McoU", "/downloads/ReligionForBreakfast/2019-08-09 What is the Hajj?/What is the Hajj? [ZeLjS--McoU].mp4", false, 9, ~U[2019-08-09 15:32:10Z]] 18:49:33.408 [debug] QUERY OK source="sources" db=0.1ms idle=79.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:33.433 [debug] QUERY OK source="media_profiles" db=0.2ms idle=28.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 18:49:33.433 [debug] QUERY OK source="media_items" db=0.2ms idle=28.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 [36429] 18:49:33.433 [debug] Current batch of media processed. Will check again in 1000ms 18:49:34.434 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Islam is a complicated topic and a politically charged topic here in the 21st century. But it is important that we learn about the world's 2nd largest religion. In this video, we will discuss Islam from a nonsectarian perspective, exploring its internal diversity, how the religion changed over time, and how it is embedded in different areas of culture around the world. \n\nTwitter: @andrewmarkhenry\nFacebook: www.facebook.com/religionforbreakfast\nPatreon: www.patreon.com/religionforbreakfast\n\nSpecial thanks to Dr. Hussein Rashid for help researching, writing, and co-hosting this episode. Follow him on Twitter at: \n@islamoyankee\nhttps://twitter.com/islamoyankee\nhttp://www.husseinrashid.com/\n\nThis video was made for the online classes offered by the Religious Freedom Center. A nonsectarian, nonpartisan organization in Washington DC committed to improving religious literacy and religious liberty. Follow them at: @NewseumReligion\nhttp://www.religiousfreedomcenter.org/\n\nEducators, consider checking out their professional development modules. Short, self-paced, interactive courses focused on boosting your religious literacy education in the classroom: https://constitution2classroom.org/\n\nThis video is brought to you in part by our supporters on Patreon. Thank you everyone for supporting this channel!: www.patreon.com/religionforbreakfast\n\nAndrew's religious studies book recommendations: http://amazon.com/shop/religionforbreakfast\n\nFurther Reading:\nAlexander Knysh, \"Sufism: A New History of Islamic Mysticism.\"\n\nEdward Curtis, \"The Practice of Islam in America: An Introduction.\"\n\nMalise Ruthven, \"Islam: A Very Short Introduction.\"\n\nReports on Sufi shrine and Islamic cultural heritage destruction:\nhttp://www.cnn.com/2012/07/12/world/africa/mali-shrines-destroyed/index.html\nhttp://time.com/3584585/saudi-arabia-bulldozes-over-its-heritage/\nhttp://www.un.org/apps/news/story.asp?NewsID=42756\n\nFarhad Daftary, The Isma’ilis: Their History and Doctrines https://books.google.com/books?id=cSO9zh61AGEC&printsec=frontcover&dq=seven+pillars+nizari&hl=en&sa=X&ved=0ahUKEwjuoPWvqu3UAhWMVT4KHbN8BYkQuwUIOzAD#v=onepage&q=seven%20pilalrs&f=false\n\nCarl Ernst, Tasawwuf, article for Encyclopedia of Islam, https://www.unc.edu/~cernst/pdf/tasawwuf.pdf\n\nKecia Ali: http://www.wbur.org/cognoscenti/2014/05/09/sultan-of-brunei-sharia-law-beverly-hills-hotel-kecia-ali\n\nKecia Ali: https://feminismandreligion.com/2014/05/27/whose-sharia-is-it-by-kecia-ali/\n\nJerusha Lamptey: http://time.com/92534/boko-haram-not-my-shariah/\n\nRise in Islamic Financial Institutions: http://www.cnbc.com/2016/12/02/under-the-radar-islamic-banks-rise-in-th.html\n\nMusic by Kevin MacLeod: https://incompetech.com/", "duration" => 981, "filename" => "/downloads/ReligionForBreakfast/2018-02-05 Intro to Islam (feat. Dr. Hussein Rashid)/Intro to Islam (feat. Dr. Hussein Rashid) [Qtz4NGzpOco].mp4", "id" => "Qtz4NGzpOco", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Qtz4NGzpOco", "playlist_index" => 4, "timestamp" => 1517859569, "title" => "Intro to Islam (feat. Dr. Hussein Rashid)", "upload_date" => "20180205"} 18:49:34.434 [debug] QUERY OK source="sources" db=0.2ms idle=1027.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 18:49:34.435 [debug] QUERY OK source="sources" db=0.1ms idle=1026.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:34.435 [debug] QUERY OK source="media_items" db=0.2ms idle=1002.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-02-05 19:39:29Z], 9] 18:49:34.441 [debug] QUERY OK source="media_items" db=4.2ms idle=1002.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Islam is a complicated topic and a politically charged topic here in the 21st century. But it is important that we learn about the world's 2nd largest religion. In this video, we will discuss Islam from a nonsectarian perspective, exploring its internal diversity, how the religion changed over time, and how it is embedded in different areas of culture around the world. \n\nTwitter: @andrewmarkhenry\nFacebook: www.facebook.com/religionforbreakfast\nPatreon: www.patreon.com/religionforbreakfast\n\nSpecial thanks to Dr. Hussein Rashid for help researching, writing, and co-hosting this episode. Follow him on Twitter at: \n@islamoyankee\nhttps://twitter.com/islamoyankee\nhttp://www.husseinrashid.com/\n\nThis video was made for the online classes offered by the Religious Freedom Center. A nonsectarian, nonpartisan organization in Washington DC committed to improving religious literacy and religious liberty. Follow them at: @NewseumReligion\nhttp://www.religiousfreedomcenter.org/\n\nEducators, consider checking out their professional development modules. Short, self-paced, interactive courses focused on boosting your religious literacy education in the classroom: https://constitution2classroom.org/\n\nThis video is brought to you in part by our supporters on Patreon. Thank you everyone for supporting this channel!: www.patreon.com/religionforbreakfast\n\nAndrew's religious studies book recommendations: http://amazon.com/shop/religionforbreakfast\n\nFurther Reading:\nAlexander Knysh, \"Sufism: A New History of Islamic Mysticism.\"\n\nEdward Curtis, \"The Practice of Islam in America: An Introduction.\"\n\nMalise Ruthven, \"Islam: A Very Short Introduction.\"\n\nReports on Sufi shrine and Islamic cultural heritage destruction:\nhttp://www.cnn.com/2012/07/12/world/africa/mali-shrines-destroyed/index.html\nhttp://time.com/3584585/saudi-arabia-bulldozes-over-its-heritage/\nhttp://www.un.org/apps/news/story.asp?NewsID=42756\n\nFarhad Daftary, The Isma’ilis: Their History and Doctrines https://books.google.com/books?id=cSO9zh61AGEC&printsec=frontcover&dq=seven+pillars+nizari&hl=en&sa=X&ved=0ahUKEwjuoPWvqu3UAhWMVT4KHbN8BYkQuwUIOzAD#v=onepage&q=seven%20pilalrs&f=false\n\nCarl Ernst, Tasawwuf, article for Encyclopedia of Islam, https://www.unc.edu/~cernst/pdf/tasawwuf.pdf\n\nKecia Ali: http://www.wbur.org/cognoscenti/2014/05/09/sultan-of-brunei-sharia-law-beverly-hills-hotel-kecia-ali\n\nKecia Ali: https://feminismandreligion.com/2014/05/27/whose-sharia-is-it-by-kecia-ali/\n\nJerusha Lamptey: http://time.com/92534/boko-haram-not-my-shariah/\n\nRise in Islamic Financial Institutions: http://www.cnbc.com/2016/12/02/under-the-radar-islamic-banks-rise-in-th.html\n\nMusic by Kevin MacLeod: https://incompetech.com/", "Intro to Islam (feat. Dr. Hussein Rashid)", "e747be38-050d-46b1-82db-6e56e1d38489", 981, false, "Qtz4NGzpOco", "https://www.youtube.com/watch?v=Qtz4NGzpOco", 4, "/downloads/ReligionForBreakfast/2018-02-05 Intro to Islam (feat. Dr. Hussein Rashid)/Intro to Islam (feat. Dr. Hussein Rashid) [Qtz4NGzpOco].mp4", false, false, false, 9, [], 1, ~U[2018-02-05 19:39:29Z], ~U[2026-09-16 18:49:34Z], ~U[2026-09-16 18:49:34Z], "Islam is a complicated topic and a politically charged topic here in the 21st century. But it is important that we learn about the world's 2nd largest religion. In this video, we will discuss Islam from a nonsectarian perspective, exploring its internal diversity, how the religion changed over time, and how it is embedded in different areas of culture around the world. \n\nTwitter: @andrewmarkhenry\nFacebook: www.facebook.com/religionforbreakfast\nPatreon: www.patreon.com/religionforbreakfast\n\nSpecial thanks to Dr. Hussein Rashid for help researching, writing, and co-hosting this episode. Follow him on Twitter at: \n@islamoyankee\nhttps://twitter.com/islamoyankee\nhttp://www.husseinrashid.com/\n\nThis video was made for the online classes offered by the Religious Freedom Center. A nonsectarian, nonpartisan organization in Washington DC committed to improving religious literacy and religious liberty. Follow them at: @NewseumReligion\nhttp://www.religiousfreedomcenter.org/\n\nEducators, consider checking out their professional development modules. Short, self-paced, interactive courses focused on boosting your religious literacy education in the classroom: https://constitution2classroom.org/\n\nThis video is brought to you in part by our supporters on Patreon. Thank you everyone for supporting this channel!: www.patreon.com/religionforbreakfast\n\nAndrew's religious studies book recommendations: http://amazon.com/shop/religionforbreakfast\n\nFurther Reading:\nAlexander Knysh, \"Sufism: A New History of Islamic Mysticism.\"\n\nEdward Curtis, \"The Practice of Islam in America: An Introduction.\"\n\nMalise Ruthven, \"Islam: A Very Short Introduction.\"\n\nReports on Sufi shrine and Islamic cultural heritage destruction:\nhttp://www.cnn.com/2012/07/12/world/africa/mali-shrines-destroyed/index.html\nhttp://time.com/3584585/saudi-arabia-bulldozes-over-its-heritage/\nhttp://www.un.org/apps/news/story.asp?NewsID=42756\n\nFarhad Daftary, The Isma’ilis: Their History and Doctrines https://books.google.com/books?id=cSO9zh61AGEC&printsec=frontcover&dq=seven+pillars+nizari&hl=en&sa=X&ved=0ahUKEwjuoPWvqu3UAhWMVT4KHbN8BYkQuwUIOzAD#v=onepage&q=seven%20pilalrs&f=false\n\nCarl Ernst, Tasawwuf, article for Encyclopedia of Islam, https://www.unc.edu/~cernst/pdf/tasawwuf.pdf\n\nKecia Ali: http://www.wbur.org/cognoscenti/2014/05/09/sultan-of-brunei-sharia-law-beverly-hills-hotel-kecia-ali\n\nKecia Ali: https://feminismandreligion.com/2014/05/27/whose-sharia-is-it-by-kecia-ali/\n\nJerusha Lamptey: http://time.com/92534/boko-haram-not-my-shariah/\n\nRise in Islamic Financial Institutions: http://www.cnbc.com/2016/12/02/under-the-radar-islamic-banks-rise-in-th.html\n\nMusic by Kevin MacLeod: https://incompetech.com/", "Intro to Islam (feat. Dr. Hussein Rashid)", 981, false, "Qtz4NGzpOco", "https://www.youtube.com/watch?v=Qtz4NGzpOco", "/downloads/ReligionForBreakfast/2018-02-05 Intro to Islam (feat. Dr. Hussein Rashid)/Intro to Islam (feat. Dr. Hussein Rashid) [Qtz4NGzpOco].mp4", false, 9, ~U[2018-02-05 19:39:29Z]] 18:49:34.441 [debug] QUERY OK source="sources" db=0.2ms idle=111.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:34.442 [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] 18:49:34.442 [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 [36431] 18:49:34.442 [debug] Current batch of media processed. Will check again in 1000ms 18:49:35.443 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Join our Patreon community!: https://patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\n\nThe Hagia Sophia is a super famous building in Istanbul. Officially, at least according to the Turkish government, it is a museum. But it was originally built as a church and then was converted into a mosque after the Ottoman conquest of Constantinople in 1453. So what is it? Church, mosque, or museum?\n\nFollow me on Twitter at: @andrewmarkhenry\n\nI'm a current fellow with the Foundation for Religious Literacy, a nonsectarian philanthropic organization dedicated to the academic study of religion. They are supporting my work on Religion for Breakfast during 2019-2020. Check out their work here: https://tfrl.org/\n\nThumbnail photo credit: Arild Vågen\n\nSources: \nErdogan and converting back to mosque: https://www.apnews.com/9d7a4644abb04b9788c1ba37ec71c4ac ; https://www.reuters.com/article/us-turkey-election-museum/turkeys-erdogan-says-he-plans-to-change-hagia-sophias-title-from-museum-to-mosque-idUSKCN1RA1ZB\n\nStructural integrity of Hagia Sophia including Rob Ousterhout and Stephen Kelley quotes: https://www.smithsonianmag.com/travel/a-monumental-struggle-to-preserve-hagia-sophia-92038218/\n\nBissera Pentcheva, Hagia Sophia: Sound, Space, and Spirit in Byzantium (Pennsylvania State University Press, 2017)\n\nEve Avdoulos, \"Istanbul’s Hagia Sophia: Challenges of Managing Sacred Places\"", "duration" => 459, "filename" => "/downloads/ReligionForBreakfast/2019-09-17 What is the Hagia Sophia?/What is the Hagia Sophia? [2i0i4xIngFo].mp4", "id" => "2i0i4xIngFo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2i0i4xIngFo", "playlist_index" => 5, "timestamp" => 1568743307, "title" => "What is the Hagia Sophia?", "upload_date" => "20190917"} 18:49:35.443 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 18:49:35.444 [debug] QUERY OK source="sources" db=0.1ms idle=1002.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:35.445 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=1002.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-09-17 18:01:47Z], 9] 18:49:35.449 [debug] QUERY OK source="media_items" db=3.5ms idle=1002.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join our Patreon community!: https://patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\n\nThe Hagia Sophia is a super famous building in Istanbul. Officially, at least according to the Turkish government, it is a museum. But it was originally built as a church and then was converted into a mosque after the Ottoman conquest of Constantinople in 1453. So what is it? Church, mosque, or museum?\n\nFollow me on Twitter at: @andrewmarkhenry\n\nI'm a current fellow with the Foundation for Religious Literacy, a nonsectarian philanthropic organization dedicated to the academic study of religion. They are supporting my work on Religion for Breakfast during 2019-2020. Check out their work here: https://tfrl.org/\n\nThumbnail photo credit: Arild Vågen\n\nSources: \nErdogan and converting back to mosque: https://www.apnews.com/9d7a4644abb04b9788c1ba37ec71c4ac ; https://www.reuters.com/article/us-turkey-election-museum/turkeys-erdogan-says-he-plans-to-change-hagia-sophias-title-from-museum-to-mosque-idUSKCN1RA1ZB\n\nStructural integrity of Hagia Sophia including Rob Ousterhout and Stephen Kelley quotes: https://www.smithsonianmag.com/travel/a-monumental-struggle-to-preserve-hagia-sophia-92038218/\n\nBissera Pentcheva, Hagia Sophia: Sound, Space, and Spirit in Byzantium (Pennsylvania State University Press, 2017)\n\nEve Avdoulos, \"Istanbul’s Hagia Sophia: Challenges of Managing Sacred Places\"", "What is the Hagia Sophia?", "e0ad1549-893f-4fcf-a9c5-193ead045a99", 459, false, "2i0i4xIngFo", "https://www.youtube.com/watch?v=2i0i4xIngFo", 5, "/downloads/ReligionForBreakfast/2019-09-17 What is the Hagia Sophia?/What is the Hagia Sophia? [2i0i4xIngFo].mp4", false, false, false, 9, [], 1, ~U[2019-09-17 18:01:47Z], ~U[2026-09-16 18:49:35Z], ~U[2026-09-16 18:49:35Z], "Join our Patreon community!: https://patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\n\nThe Hagia Sophia is a super famous building in Istanbul. Officially, at least according to the Turkish government, it is a museum. But it was originally built as a church and then was converted into a mosque after the Ottoman conquest of Constantinople in 1453. So what is it? Church, mosque, or museum?\n\nFollow me on Twitter at: @andrewmarkhenry\n\nI'm a current fellow with the Foundation for Religious Literacy, a nonsectarian philanthropic organization dedicated to the academic study of religion. They are supporting my work on Religion for Breakfast during 2019-2020. Check out their work here: https://tfrl.org/\n\nThumbnail photo credit: Arild Vågen\n\nSources: \nErdogan and converting back to mosque: https://www.apnews.com/9d7a4644abb04b9788c1ba37ec71c4ac ; https://www.reuters.com/article/us-turkey-election-museum/turkeys-erdogan-says-he-plans-to-change-hagia-sophias-title-from-museum-to-mosque-idUSKCN1RA1ZB\n\nStructural integrity of Hagia Sophia including Rob Ousterhout and Stephen Kelley quotes: https://www.smithsonianmag.com/travel/a-monumental-struggle-to-preserve-hagia-sophia-92038218/\n\nBissera Pentcheva, Hagia Sophia: Sound, Space, and Spirit in Byzantium (Pennsylvania State University Press, 2017)\n\nEve Avdoulos, \"Istanbul’s Hagia Sophia: Challenges of Managing Sacred Places\"", "What is the Hagia Sophia?", 459, false, "2i0i4xIngFo", "https://www.youtube.com/watch?v=2i0i4xIngFo", "/downloads/ReligionForBreakfast/2019-09-17 What is the Hagia Sophia?/What is the Hagia Sophia? [2i0i4xIngFo].mp4", false, 9, ~U[2019-09-17 18:01:47Z]] 18:49:35.450 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=118.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:35.450 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 18:49:35.451 [debug] QUERY OK source="media_items" db=0.3ms idle=6.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [36433] 18:49:35.451 [debug] Current batch of media processed. Will check again in 1000ms 18:49:36.452 [debug] Current batch of media processed. Will check again in 1000ms 18:49:37.453 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Go to https://athleticgreens.com/religionforbreakfast to get started on your first purchase and receive a FREE 1-year supply of Vitamin D3+K2 and 5 travel packs. Thanks to Athletic Greens for sponsoring today's video!\n\nBelow the fold: AG1 by Athletic Greens is a comprehensive, nutrition drink engineered to fill the nutritional gaps in your diet and support your body’s nutritional needs across four pillars of health: Gut health, Immune support, Energy and Recovery! It’s packed with 75 vitamins, minerals, whole-food sourced ingredients and combines the perfect amount of micronutrients, absorption and taste to jumpstart your daily routine. AG1 is available in the US, Canada, UK and Europe.\n\nJoin our Patreon community!: https://www.patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\nCheck out my favorite religious studies books by following this affiliate link to my Amazon page: https://www.amazon.com/shop/religionforbreakfast\n\n00:00 Recap of Jesus' Aramaic Name\n00:26 The Quranic Exception: Isa\n2:31 Ad break\n3:41 Safaitic overview\n4:52 Inscription overview\n7:29 Etymology of 'sy\n10:10 Conclusion\n\n\nTo learn more about this research:\nAl-Jallad. 20201. The Pre-Islamic Divine Name 'sy and the Background of the Qur'anic Jesus, with Ali al-Manaser", "duration" => 652, "filename" => "/downloads/ReligionForBreakfast/2022-12-08 The Origin of the Quran’s Name for Jesus/The Origin of the Quran’s Name for Jesus [7P1KPA4cuB8].mp4", "id" => "7P1KPA4cuB8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7P1KPA4cuB8", "playlist_index" => 6, "timestamp" => 1670522531, "title" => "The Origin of the Quran’s Name for Jesus", "upload_date" => "20221208"} 18:49:37.454 [debug] QUERY OK source="sources" db=0.3ms idle=679.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 18:49:37.454 [debug] QUERY OK source="sources" db=0.3ms idle=680.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:37.455 [debug] QUERY OK source="media_items" db=0.2ms idle=680.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-12-08 18:02:11Z], 9] 18:49:37.457 [debug] QUERY OK source="media_items" db=1.9ms idle=681.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://athleticgreens.com/religionforbreakfast to get started on your first purchase and receive a FREE 1-year supply of Vitamin D3+K2 and 5 travel packs. Thanks to Athletic Greens for sponsoring today's video!\n\nBelow the fold: AG1 by Athletic Greens is a comprehensive, nutrition drink engineered to fill the nutritional gaps in your diet and support your body’s nutritional needs across four pillars of health: Gut health, Immune support, Energy and Recovery! It’s packed with 75 vitamins, minerals, whole-food sourced ingredients and combines the perfect amount of micronutrients, absorption and taste to jumpstart your daily routine. AG1 is available in the US, Canada, UK and Europe.\n\nJoin our Patreon community!: https://www.patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\nCheck out my favorite religious studies books by following this affiliate link to my Amazon page: https://www.amazon.com/shop/religionforbreakfast\n\n00:00 Recap of Jesus' Aramaic Name\n00:26 The Quranic Exception: Isa\n2:31 Ad break\n3:41 Safaitic overview\n4:52 Inscription overview\n7:29 Etymology of 'sy\n10:10 Conclusion\n\n\nTo learn more about this research:\nAl-Jallad. 20201. The Pre-Islamic Divine Name 'sy and the Background of the Qur'anic Jesus, with Ali al-Manaser", "The Origin of the Quran’s Name for Jesus", "ce0bd12a-9cde-44f8-99ec-c5887873265d", 652, false, "7P1KPA4cuB8", "https://www.youtube.com/watch?v=7P1KPA4cuB8", 6, "/downloads/ReligionForBreakfast/2022-12-08 The Origin of the Quran’s Name for Jesus/The Origin of the Quran’s Name for Jesus [7P1KPA4cuB8].mp4", false, false, false, 9, [], 1, ~U[2022-12-08 18:02:11Z], ~U[2026-09-16 18:49:37Z], ~U[2026-09-16 18:49:37Z], "Go to https://athleticgreens.com/religionforbreakfast to get started on your first purchase and receive a FREE 1-year supply of Vitamin D3+K2 and 5 travel packs. Thanks to Athletic Greens for sponsoring today's video!\n\nBelow the fold: AG1 by Athletic Greens is a comprehensive, nutrition drink engineered to fill the nutritional gaps in your diet and support your body’s nutritional needs across four pillars of health: Gut health, Immune support, Energy and Recovery! It’s packed with 75 vitamins, minerals, whole-food sourced ingredients and combines the perfect amount of micronutrients, absorption and taste to jumpstart your daily routine. AG1 is available in the US, Canada, UK and Europe.\n\nJoin our Patreon community!: https://www.patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\nCheck out my favorite religious studies books by following this affiliate link to my Amazon page: https://www.amazon.com/shop/religionforbreakfast\n\n00:00 Recap of Jesus' Aramaic Name\n00:26 The Quranic Exception: Isa\n2:31 Ad break\n3:41 Safaitic overview\n4:52 Inscription overview\n7:29 Etymology of 'sy\n10:10 Conclusion\n\n\nTo learn more about this research:\nAl-Jallad. 20201. The Pre-Islamic Divine Name 'sy and the Background of the Qur'anic Jesus, with Ali al-Manaser", "The Origin of the Quran’s Name for Jesus", 652, false, "7P1KPA4cuB8", "https://www.youtube.com/watch?v=7P1KPA4cuB8", "/downloads/ReligionForBreakfast/2022-12-08 The Origin of the Quran’s Name for Jesus/The Origin of the Quran’s Name for Jesus [7P1KPA4cuB8].mp4", false, 9, ~U[2022-12-08 18:02:11Z]] 18:49:37.458 [debug] QUERY OK source="sources" db=0.1ms idle=125.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:37.458 [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] 18:49:37.459 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [36435] 18:49:37.459 [debug] Current batch of media processed. Will check again in 1000ms 18:49:38.460 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/religionforbreakfast \nWatch The Logistics of the Hajj here!: https://nebula.tv/videos/wendover-the-logistics-of-hajj?ref=religionforbreakfast \n\nJoin our Patreon community!: https://www.patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\nSign-up for my mailing list to be notified of online classes: https://classes.religionforbreakfast.com/\n\nHost: Andrew Henry, PhD\nManaging Editor: Andrew Aghapour, PhD\nWriter: Matthew Hotham, PhD\nProduction Assistant: Casey A'Hearn\nSpecial thanks to Filip Holm for reading an early draft of the script! Check out his channel at @LetsTalkReligion \n\nThe Kaaba is the most sacred site in Islam. Located in Mecca, Saudi Arabia, it's the focal point for millions of Muslims worldwide both for the annual Hajj pilgrimage and the direction Muslims face during daily prayers.\n\n00:00 The Basics\n4:02 A Tour around the Kaaba\n7:30 History of the Kaaba\n10:49 Muhammad and the Kaaba\n13:30 Qibla Explored in Depth\n14:48 Qibla in Spaaaaace\n16:28 Sponsor", "duration" => 1117, "filename" => "/downloads/ReligionForBreakfast/2024-06-13 What is the Kaaba?/What is the Kaaba? [Z8XaGhDic3o].mp4", "id" => "Z8XaGhDic3o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Z8XaGhDic3o", "playlist_index" => 7, "timestamp" => 1718295351, "title" => "What is the Kaaba?", "upload_date" => "20240613"} 18:49:38.460 [debug] QUERY OK source="sources" db=0.2ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 18:49:38.461 [debug] QUERY OK source="sources" db=0.1ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:38.461 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-13 16:15:51Z], 9] 18:49:38.464 [debug] QUERY OK source="media_items" db=1.8ms idle=1002.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/religionforbreakfast \nWatch The Logistics of the Hajj here!: https://nebula.tv/videos/wendover-the-logistics-of-hajj?ref=religionforbreakfast \n\nJoin our Patreon community!: https://www.patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\nSign-up for my mailing list to be notified of online classes: https://classes.religionforbreakfast.com/\n\nHost: Andrew Henry, PhD\nManaging Editor: Andrew Aghapour, PhD\nWriter: Matthew Hotham, PhD\nProduction Assistant: Casey A'Hearn\nSpecial thanks to Filip Holm for reading an early draft of the script! Check out his channel at @LetsTalkReligion \n\nThe Kaaba is the most sacred site in Islam. Located in Mecca, Saudi Arabia, it's the focal point for millions of Muslims worldwide both for the annual Hajj pilgrimage and the direction Muslims face during daily prayers.\n\n00:00 The Basics\n4:02 A Tour around the Kaaba\n7:30 History of the Kaaba\n10:49 Muhammad and the Kaaba\n13:30 Qibla Explored in Depth\n14:48 Qibla in Spaaaaace\n16:28 Sponsor", "What is the Kaaba?", "144e4910-7105-4c2c-9f38-4a386d30b88d", 1117, false, "Z8XaGhDic3o", "https://www.youtube.com/watch?v=Z8XaGhDic3o", 7, "/downloads/ReligionForBreakfast/2024-06-13 What is the Kaaba?/What is the Kaaba? [Z8XaGhDic3o].mp4", false, false, false, 9, [], 1, ~U[2024-06-13 16:15:51Z], ~U[2026-09-16 18:49:38Z], ~U[2026-09-16 18:49:38Z], "Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/religionforbreakfast \nWatch The Logistics of the Hajj here!: https://nebula.tv/videos/wendover-the-logistics-of-hajj?ref=religionforbreakfast \n\nJoin our Patreon community!: https://www.patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\nSign-up for my mailing list to be notified of online classes: https://classes.religionforbreakfast.com/\n\nHost: Andrew Henry, PhD\nManaging Editor: Andrew Aghapour, PhD\nWriter: Matthew Hotham, PhD\nProduction Assistant: Casey A'Hearn\nSpecial thanks to Filip Holm for reading an early draft of the script! Check out his channel at @LetsTalkReligion \n\nThe Kaaba is the most sacred site in Islam. Located in Mecca, Saudi Arabia, it's the focal point for millions of Muslims worldwide both for the annual Hajj pilgrimage and the direction Muslims face during daily prayers.\n\n00:00 The Basics\n4:02 A Tour around the Kaaba\n7:30 History of the Kaaba\n10:49 Muhammad and the Kaaba\n13:30 Qibla Explored in Depth\n14:48 Qibla in Spaaaaace\n16:28 Sponsor", "What is the Kaaba?", 1117, false, "Z8XaGhDic3o", "https://www.youtube.com/watch?v=Z8XaGhDic3o", "/downloads/ReligionForBreakfast/2024-06-13 What is the Kaaba?/What is the Kaaba? [Z8XaGhDic3o].mp4", false, 9, ~U[2024-06-13 16:15:51Z]] 18:49:38.464 [debug] QUERY OK source="sources" db=0.2ms idle=130.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:38.465 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 18:49:38.465 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [36438] 18:49:38.465 [debug] Current batch of media processed. Will check again in 1000ms 18:49:39.467 [debug] Current batch of media processed. Will check again in 1000ms 18:49:40.468 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Watch my interview with Dr. Ali Olomi on Nebula!: https://nebula.tv/videos/religionforbreakfast-what-are-jinn-interview-with-dr-ali-olomi?ref=religionforbreakfast \nGet Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/religionforbreakfast \n\nIn Islam, Satan isn’t a fallen angel—but a jinn named Iblīs. This video explores his story in the Qurʾān, his role as tempter and adversary, and how scholars and mystics have interpreted him for over 1,400 years. Who is the Devil in Islam?\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters\n\n00:00 Intro to Iblis the Adversary\n3:48 The Quranic Story of Iblis\n8:07 What is Iblis?\n12:42 Later Mystical and Philosophical Interpretations\n14:49 Folklore\n16:32 Nebula is awesome", "duration" => 1139, "filename" => "/downloads/ReligionForBreakfast/2025-04-10 Who Is Satan in Islam? | Iblis Explained/Who Is Satan in Islam? | Iblis Explained [6y8mFSQO6cI].mp4", "id" => "6y8mFSQO6cI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6y8mFSQO6cI", "playlist_index" => 8, "timestamp" => 1744299321, "title" => "Who Is Satan in Islam? | Iblis Explained", "upload_date" => "20250410"} 18:49:40.468 [debug] QUERY OK source="sources" db=0.3ms idle=694.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 18:49:40.469 [debug] QUERY OK source="sources" db=0.5ms idle=695.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:40.470 [debug] QUERY OK source="media_items" db=0.1ms queue=0.3ms idle=695.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-10 15:35:21Z], 9] 18:49:40.473 [debug] QUERY OK source="media_items" db=1.9ms idle=696.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Watch my interview with Dr. Ali Olomi on Nebula!: https://nebula.tv/videos/religionforbreakfast-what-are-jinn-interview-with-dr-ali-olomi?ref=religionforbreakfast \nGet Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/religionforbreakfast \n\nIn Islam, Satan isn’t a fallen angel—but a jinn named Iblīs. This video explores his story in the Qurʾān, his role as tempter and adversary, and how scholars and mystics have interpreted him for over 1,400 years. Who is the Devil in Islam?\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters\n\n00:00 Intro to Iblis the Adversary\n3:48 The Quranic Story of Iblis\n8:07 What is Iblis?\n12:42 Later Mystical and Philosophical Interpretations\n14:49 Folklore\n16:32 Nebula is awesome", "Who Is Satan in Islam? | Iblis Explained", "17b52cd7-a54a-4fc2-bf43-eb52135b3956", 1139, false, "6y8mFSQO6cI", "https://www.youtube.com/watch?v=6y8mFSQO6cI", 8, "/downloads/ReligionForBreakfast/2025-04-10 Who Is Satan in Islam? | Iblis Explained/Who Is Satan in Islam? | Iblis Explained [6y8mFSQO6cI].mp4", false, false, false, 9, [], 1, ~U[2025-04-10 15:35:21Z], ~U[2026-09-16 18:49:40Z], ~U[2026-09-16 18:49:40Z], "Watch my interview with Dr. Ali Olomi on Nebula!: https://nebula.tv/videos/religionforbreakfast-what-are-jinn-interview-with-dr-ali-olomi?ref=religionforbreakfast \nGet Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/religionforbreakfast \n\nIn Islam, Satan isn’t a fallen angel—but a jinn named Iblīs. This video explores his story in the Qurʾān, his role as tempter and adversary, and how scholars and mystics have interpreted him for over 1,400 years. Who is the Devil in Islam?\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters\n\n00:00 Intro to Iblis the Adversary\n3:48 The Quranic Story of Iblis\n8:07 What is Iblis?\n12:42 Later Mystical and Philosophical Interpretations\n14:49 Folklore\n16:32 Nebula is awesome", "Who Is Satan in Islam? | Iblis Explained", 1139, false, "6y8mFSQO6cI", "https://www.youtube.com/watch?v=6y8mFSQO6cI", "/downloads/ReligionForBreakfast/2025-04-10 Who Is Satan in Islam? | Iblis Explained/Who Is Satan in Islam? | Iblis Explained [6y8mFSQO6cI].mp4", false, 9, ~U[2025-04-10 15:35:21Z]] 18:49:40.473 [debug] QUERY OK source="sources" db=0.1ms idle=137.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:40.474 [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" = ?) [2] 18:49:40.474 [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 [36440] 18:49:40.474 [debug] Current batch of media processed. Will check again in 1000ms 18:49:41.475 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Watch 17 Pages on Nebula using my link for 40% off an annual subscription: https://nebula.tv/videos/17pages?ref=religionforbreakfast\nGet Lifetime Access to Nebula here: https://go.nebula.tv/lifetime?ref=religionforbreakfast \n\nWho is the angel Gabriel in Islam? Known as Jibril, he’s the messenger who revealed the Quran to Muhammad. This video explores his role in Islamic tradition, how he compares to the biblical Gabriel, and why he’s considered the chief of all angels.\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters", "duration" => 781, "filename" => "/downloads/ReligionForBreakfast/2025-07-17 Who is Gabriel in Islam? | Jibrīl Explained/Who is Gabriel in Islam? | Jibrīl Explained [Cj2RlBrx_R8].mp4", "id" => "Cj2RlBrx_R8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Cj2RlBrx_R8", "playlist_index" => 9, "timestamp" => 1752784515, "title" => "Who is Gabriel in Islam? | Jibrīl Explained", "upload_date" => "20250717"} 18:49:41.475 [debug] QUERY OK source="sources" db=0.2ms idle=1002.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 18:49:41.476 [debug] QUERY OK source="sources" db=0.1ms idle=1002.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:41.476 [debug] QUERY OK source="media_items" db=0.2ms idle=1002.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-17 20:35:15Z], 9] 18:49:41.478 [debug] QUERY OK source="media_items" db=0.9ms idle=1002.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Watch 17 Pages on Nebula using my link for 40% off an annual subscription: https://nebula.tv/videos/17pages?ref=religionforbreakfast\nGet Lifetime Access to Nebula here: https://go.nebula.tv/lifetime?ref=religionforbreakfast \n\nWho is the angel Gabriel in Islam? Known as Jibril, he’s the messenger who revealed the Quran to Muhammad. This video explores his role in Islamic tradition, how he compares to the biblical Gabriel, and why he’s considered the chief of all angels.\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters", "Who is Gabriel in Islam? | Jibrīl Explained", "d7ec1f4c-52e0-40d9-ac49-dfaf3da84a56", 781, false, "Cj2RlBrx_R8", "https://www.youtube.com/watch?v=Cj2RlBrx_R8", 9, "/downloads/ReligionForBreakfast/2025-07-17 Who is Gabriel in Islam? | Jibrīl Explained/Who is Gabriel in Islam? | Jibrīl Explained [Cj2RlBrx_R8].mp4", false, false, false, 9, [], 1, ~U[2025-07-17 20:35:15Z], ~U[2026-09-16 18:49:41Z], ~U[2026-09-16 18:49:41Z], "Watch 17 Pages on Nebula using my link for 40% off an annual subscription: https://nebula.tv/videos/17pages?ref=religionforbreakfast\nGet Lifetime Access to Nebula here: https://go.nebula.tv/lifetime?ref=religionforbreakfast \n\nWho is the angel Gabriel in Islam? Known as Jibril, he’s the messenger who revealed the Quran to Muhammad. This video explores his role in Islamic tradition, how he compares to the biblical Gabriel, and why he’s considered the chief of all angels.\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters", "Who is Gabriel in Islam? | Jibrīl Explained", 781, false, "Cj2RlBrx_R8", "https://www.youtube.com/watch?v=Cj2RlBrx_R8", "/downloads/ReligionForBreakfast/2025-07-17 Who is Gabriel in Islam? | Jibrīl Explained/Who is Gabriel in Islam? | Jibrīl Explained [Cj2RlBrx_R8].mp4", false, 9, ~U[2025-07-17 20:35:15Z]] 18:49:41.478 [debug] QUERY OK source="sources" db=0.1ms idle=140.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:41.478 [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] 18:49:41.479 [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 [36442] 18:49:41.479 [debug] Current batch of media processed. Will check again in 1000ms 18:49:42.480 [debug] Current batch of media processed. Will check again in 1000ms 18:49:43.481 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/religionforbreakfast\n\nAlevism is a mystical Islamic tradition in Turkey that don't fit neatly into Sunni nor Shi‘a categories. This video explores its Sufi-inspired rituals, sacred music, and why defining Alevism within Islam remains so complex.\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters", "duration" => 2883, "filename" => "/downloads/ReligionForBreakfast/2025-08-01 Sunni or Shia? | Who Are the Alevis?/Sunni or Shia? | Who Are the Alevis? [ckaLSJIW-ls].mp4", "id" => "ckaLSJIW-ls", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ckaLSJIW-ls", "playlist_index" => 10, "timestamp" => 1754008498, "title" => "Sunni or Shia? | Who Are the Alevis?", "upload_date" => "20250801"} 18:49:43.481 [debug] QUERY OK source="sources" db=0.2ms idle=707.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 18:49:43.482 [debug] QUERY OK source="sources" db=0.1ms idle=707.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:43.482 [debug] QUERY OK source="media_items" db=0.2ms idle=708.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-01 00:34:58Z], 9] 18:49:43.484 [debug] QUERY OK source="media_items" db=1.6ms idle=708.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/religionforbreakfast\n\nAlevism is a mystical Islamic tradition in Turkey that don't fit neatly into Sunni nor Shi‘a categories. This video explores its Sufi-inspired rituals, sacred music, and why defining Alevism within Islam remains so complex.\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters", "Sunni or Shia? | Who Are the Alevis?", "d77e2d36-d7eb-4fe4-9a80-9172ec721f7f", 2883, false, "ckaLSJIW-ls", "https://www.youtube.com/watch?v=ckaLSJIW-ls", 10, "/downloads/ReligionForBreakfast/2025-08-01 Sunni or Shia? | Who Are the Alevis?/Sunni or Shia? | Who Are the Alevis? [ckaLSJIW-ls].mp4", false, false, false, 9, [], 1, ~U[2025-08-01 00:34:58Z], ~U[2026-09-16 18:49:43Z], ~U[2026-09-16 18:49:43Z], "Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/religionforbreakfast\n\nAlevism is a mystical Islamic tradition in Turkey that don't fit neatly into Sunni nor Shi‘a categories. This video explores its Sufi-inspired rituals, sacred music, and why defining Alevism within Islam remains so complex.\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters", "Sunni or Shia? | Who Are the Alevis?", 2883, false, "ckaLSJIW-ls", "https://www.youtube.com/watch?v=ckaLSJIW-ls", "/downloads/ReligionForBreakfast/2025-08-01 Sunni or Shia? | Who Are the Alevis?/Sunni or Shia? | Who Are the Alevis? [ckaLSJIW-ls].mp4", false, 9, ~U[2025-08-01 00:34:58Z]] 18:49:43.485 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=144.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:43.485 [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] 18:49:43.486 [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 [36444] 18:49:43.486 [debug] Current batch of media processed. Will check again in 1000ms 18:49:44.487 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Register for our Coptic class!: https://www.religiondepartment.com/coptic\n\nFew prophets in Islam are as mysterious as Idrīs. In this video, we explore his identity, tracing how Muslims connected Idrīs with Enoch and Hermes Trismegistus, and why this ancient figure became a bridge between prophecy and esotericism.\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters", "duration" => 993, "filename" => "/downloads/ReligionForBreakfast/2025-10-21 The Prophet Idrīs: The Islamic Enoch?/The Prophet Idrīs: The Islamic Enoch? [zPS1piukoO8].mp4", "id" => "zPS1piukoO8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zPS1piukoO8", "playlist_index" => 11, "timestamp" => 1761072550, "title" => "The Prophet Idrīs: The Islamic Enoch?", "upload_date" => "20251021"} 18:49:44.487 [debug] QUERY OK source="sources" db=0.2ms idle=1002.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 18:49:44.488 [debug] QUERY OK source="sources" db=0.1ms idle=1002.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:44.488 [debug] QUERY OK source="media_items" db=0.1ms idle=1002.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-21 18:49:10Z], 9] 18:49:44.490 [debug] QUERY OK source="media_items" db=1.6ms idle=1002.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Register for our Coptic class!: https://www.religiondepartment.com/coptic\n\nFew prophets in Islam are as mysterious as Idrīs. In this video, we explore his identity, tracing how Muslims connected Idrīs with Enoch and Hermes Trismegistus, and why this ancient figure became a bridge between prophecy and esotericism.\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters", "The Prophet Idrīs: The Islamic Enoch?", "761727b0-979a-4a76-a66a-20ce66dbe14a", 993, false, "zPS1piukoO8", "https://www.youtube.com/watch?v=zPS1piukoO8", 11, "/downloads/ReligionForBreakfast/2025-10-21 The Prophet Idrīs: The Islamic Enoch?/The Prophet Idrīs: The Islamic Enoch? [zPS1piukoO8].mp4", false, false, false, 9, [], 1, ~U[2025-10-21 18:49:10Z], ~U[2026-09-16 18:49:44Z], ~U[2026-09-16 18:49:44Z], "Register for our Coptic class!: https://www.religiondepartment.com/coptic\n\nFew prophets in Islam are as mysterious as Idrīs. In this video, we explore his identity, tracing how Muslims connected Idrīs with Enoch and Hermes Trismegistus, and why this ancient figure became a bridge between prophecy and esotericism.\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters", "The Prophet Idrīs: The Islamic Enoch?", 993, false, "zPS1piukoO8", "https://www.youtube.com/watch?v=zPS1piukoO8", "/downloads/ReligionForBreakfast/2025-10-21 The Prophet Idrīs: The Islamic Enoch?/The Prophet Idrīs: The Islamic Enoch? [zPS1piukoO8].mp4", false, 9, ~U[2025-10-21 18:49:10Z]] 18:49:44.491 [debug] QUERY OK source="sources" db=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:44.491 [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] 18:49:44.492 [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 [36446] 18:49:44.492 [debug] Current batch of media processed. Will check again in 1000ms 18:49:45.492 [debug] Current batch of media processed. Will check again in 1000ms 18:49:46.494 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Dive deeper, join our upcoming lecture at The Religion Department: “A Hidden History of Muslims in the United States” with Dr. Yasmine Flodin-Ali: https://www.religiondepartment.com/history-of-muslims\n\nIs atheism rising in the Arab world? Drawing on Arab Barometer surveys, satellite data from Ramadan, and recent scholarship, this video explores what the numbers really show and how language, stigma, and politics shape nonreligious identity in Arab-majority countries.\n\nThis video was made possible through the support of Grant 61928 from the John Templeton Foundation managed by The Queen’s University of Belfast. The opinions expressed in this publication are those of the authors and do not necessarily reflect the views of the John Templeton Foundation or The Queen’s University of Belfast. \n\nReligion for Breakfast videos take a lot of research and collaboration. Patreon support helps fund editors, scholars, and future episodes. Support us here: https://www.patreon.com/c/religionforbreakfast\n\nSelect imagery/video supplied by Getty Images and Reuters", "duration" => 1408, "filename" => "/downloads/ReligionForBreakfast/2026-02-26 Is Atheism Growing in the Arab World?/Is Atheism Growing in the Arab World? [Oy3JuwGJWBE].mp4", "id" => "Oy3JuwGJWBE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Oy3JuwGJWBE", "playlist_index" => 12, "timestamp" => 1772129571, "title" => "Is Atheism Growing in the Arab World?", "upload_date" => "20260226"} 18:49:46.494 [debug] QUERY OK source="sources" db=0.3ms 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 (?)) [9] 18:49:46.495 [debug] QUERY OK source="sources" db=0.1ms idle=721.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:46.496 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=721.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 18:12:51Z], 9] 18:49:46.497 [debug] QUERY OK source="media_items" db=1.2ms idle=722.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dive deeper, join our upcoming lecture at The Religion Department: “A Hidden History of Muslims in the United States” with Dr. Yasmine Flodin-Ali: https://www.religiondepartment.com/history-of-muslims\n\nIs atheism rising in the Arab world? Drawing on Arab Barometer surveys, satellite data from Ramadan, and recent scholarship, this video explores what the numbers really show and how language, stigma, and politics shape nonreligious identity in Arab-majority countries.\n\nThis video was made possible through the support of Grant 61928 from the John Templeton Foundation managed by The Queen’s University of Belfast. The opinions expressed in this publication are those of the authors and do not necessarily reflect the views of the John Templeton Foundation or The Queen’s University of Belfast. \n\nReligion for Breakfast videos take a lot of research and collaboration. Patreon support helps fund editors, scholars, and future episodes. Support us here: https://www.patreon.com/c/religionforbreakfast\n\nSelect imagery/video supplied by Getty Images and Reuters", "Is Atheism Growing in the Arab World?", "99942de1-b458-4826-befc-7a9f079d192e", 1408, false, "Oy3JuwGJWBE", "https://www.youtube.com/watch?v=Oy3JuwGJWBE", 12, "/downloads/ReligionForBreakfast/2026-02-26 Is Atheism Growing in the Arab World?/Is Atheism Growing in the Arab World? [Oy3JuwGJWBE].mp4", false, false, false, 9, [], 1, ~U[2026-02-26 18:12:51Z], ~U[2026-09-16 18:49:46Z], ~U[2026-09-16 18:49:46Z], "Dive deeper, join our upcoming lecture at The Religion Department: “A Hidden History of Muslims in the United States” with Dr. Yasmine Flodin-Ali: https://www.religiondepartment.com/history-of-muslims\n\nIs atheism rising in the Arab world? Drawing on Arab Barometer surveys, satellite data from Ramadan, and recent scholarship, this video explores what the numbers really show and how language, stigma, and politics shape nonreligious identity in Arab-majority countries.\n\nThis video was made possible through the support of Grant 61928 from the John Templeton Foundation managed by The Queen’s University of Belfast. The opinions expressed in this publication are those of the authors and do not necessarily reflect the views of the John Templeton Foundation or The Queen’s University of Belfast. \n\nReligion for Breakfast videos take a lot of research and collaboration. Patreon support helps fund editors, scholars, and future episodes. Support us here: https://www.patreon.com/c/religionforbreakfast\n\nSelect imagery/video supplied by Getty Images and Reuters", "Is Atheism Growing in the Arab World?", 1408, false, "Oy3JuwGJWBE", "https://www.youtube.com/watch?v=Oy3JuwGJWBE", "/downloads/ReligionForBreakfast/2026-02-26 Is Atheism Growing in the Arab World?/Is Atheism Growing in the Arab World? [Oy3JuwGJWBE].mp4", false, 9, ~U[2026-02-26 18:12:51Z]] 18:49:46.498 [debug] QUERY OK source="sources" db=0.2ms idle=152.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:46.498 [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" = ?) [2] 18:49:46.499 [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 [36448] 18:49:46.499 [debug] Current batch of media processed. Will check again in 1000ms 18:49:47.500 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Go to https://hensonshaving.com/religionforbreakfast and enter RELIGIONFORBREAKFAST at checkout to get 100 free blades with your purchase! \n\nThe Dajjal: a one-eyed deceiver who performs miracles, raises the dead, and nearly conquers the world. We break down the Islamic end-times traditions, his origins, and why he remains one of the most feared figures in Islam.\n\nReligion for Breakfast videos take a lot of research and collaboration. Patreon support helps fund editors, scholars, and future episodes. Support us here: https://www.patreon.com/c/religionforbreakfast\n\nThumbnail design by @ECHenry \n\nSelect imagery/video supplied by Getty Images and Reuters\n\n00:00 Intro\n1:08 The Dajjal in the Hadith\n5:42 The Physical Traits of the Dajjal\n8:51 The Defeat of the Dajjal\n11:00 Historical Context\n12:54 Linking the Dajjal to Real People\n14:47 Mystical Intepretations\n16:00 Tamim al-Dari Story", "duration" => 1225, "filename" => "/downloads/ReligionForBreakfast/2026-03-19 The Dajjāl: The Islamic Antichrist?/The Dajjāl: The Islamic Antichrist? [2wHGGOwUWW8].mp4", "id" => "2wHGGOwUWW8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2wHGGOwUWW8", "playlist_index" => 13, "timestamp" => 1773937889, "title" => "The Dajjāl: The Islamic Antichrist?", "upload_date" => "20260319"} 18:49:47.501 [debug] QUERY OK source="sources" db=0.4ms idle=1002.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 18:49:47.501 [debug] QUERY OK source="sources" db=0.2ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:47.501 [debug] QUERY OK source="media_items" db=0.2ms idle=1002.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 16:31:29Z], 9] 18:49:47.504 [debug] QUERY OK source="media_items" db=2.0ms idle=1002.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://hensonshaving.com/religionforbreakfast and enter RELIGIONFORBREAKFAST at checkout to get 100 free blades with your purchase! \n\nThe Dajjal: a one-eyed deceiver who performs miracles, raises the dead, and nearly conquers the world. We break down the Islamic end-times traditions, his origins, and why he remains one of the most feared figures in Islam.\n\nReligion for Breakfast videos take a lot of research and collaboration. Patreon support helps fund editors, scholars, and future episodes. Support us here: https://www.patreon.com/c/religionforbreakfast\n\nThumbnail design by @ECHenry \n\nSelect imagery/video supplied by Getty Images and Reuters\n\n00:00 Intro\n1:08 The Dajjal in the Hadith\n5:42 The Physical Traits of the Dajjal\n8:51 The Defeat of the Dajjal\n11:00 Historical Context\n12:54 Linking the Dajjal to Real People\n14:47 Mystical Intepretations\n16:00 Tamim al-Dari Story", "The Dajjāl: The Islamic Antichrist?", "618a28dc-10f6-4c8b-943e-fe7062365a69", 1225, false, "2wHGGOwUWW8", "https://www.youtube.com/watch?v=2wHGGOwUWW8", 13, "/downloads/ReligionForBreakfast/2026-03-19 The Dajjāl: The Islamic Antichrist?/The Dajjāl: The Islamic Antichrist? [2wHGGOwUWW8].mp4", false, false, false, 9, [], 1, ~U[2026-03-19 16:31:29Z], ~U[2026-09-16 18:49:47Z], ~U[2026-09-16 18:49:47Z], "Go to https://hensonshaving.com/religionforbreakfast and enter RELIGIONFORBREAKFAST at checkout to get 100 free blades with your purchase! \n\nThe Dajjal: a one-eyed deceiver who performs miracles, raises the dead, and nearly conquers the world. We break down the Islamic end-times traditions, his origins, and why he remains one of the most feared figures in Islam.\n\nReligion for Breakfast videos take a lot of research and collaboration. Patreon support helps fund editors, scholars, and future episodes. Support us here: https://www.patreon.com/c/religionforbreakfast\n\nThumbnail design by @ECHenry \n\nSelect imagery/video supplied by Getty Images and Reuters\n\n00:00 Intro\n1:08 The Dajjal in the Hadith\n5:42 The Physical Traits of the Dajjal\n8:51 The Defeat of the Dajjal\n11:00 Historical Context\n12:54 Linking the Dajjal to Real People\n14:47 Mystical Intepretations\n16:00 Tamim al-Dari Story", "The Dajjāl: The Islamic Antichrist?", 1225, false, "2wHGGOwUWW8", "https://www.youtube.com/watch?v=2wHGGOwUWW8", "/downloads/ReligionForBreakfast/2026-03-19 The Dajjāl: The Islamic Antichrist?/The Dajjāl: The Islamic Antichrist? [2wHGGOwUWW8].mp4", false, 9, ~U[2026-03-19 16:31:29Z]] 18:49:47.505 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:47.505 [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" = ?) [2] 18:49:47.506 [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 [36451] 18:49:47.506 [debug] Current batch of media processed. Will check again in 1000ms 18:49:48.507 [debug] Current batch of media processed. Will check again in 1000ms 18:49:49.508 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "With my link, you can get 50% off of Nebula. It’s just $30/year, or $2,5/month, at https://go.nebula.tv/religionforbreakfast \nWatch SarahZ's \"Three Dead Girls I Love\": https://nebula.tv/videos/sarahz-three-dead-girls-i-love?ref=religionforbreakfast\n\nThumbnail design by \u2068 @ECHenry \n\nReligion for Breakfast videos take a lot of research and collaboration. Patreon support helps fund editors, scholars, and future episodes. Support us here: https://www.patreon.com/c/religionforbreakfast\n\nSelect imagery/video supplied by Getty Images and Reuters\n\nBefore Islam, Arabs worshipped many gods. Using newly deciphered ancient desert inscriptions, we explore the forgotten religious world of pre-Islamic Arabia: The goddess Allāt, sacrifice, pilgrimage, fate, magic, and the everyday prayers of ordinary people.\n\n00:00 Intro to Safaitic Inscriptions\n3:44 The Goddess Allat (also Rodaw and Dushara)\n8:35 The Gods On Humanity's Side (Shams, Ba'al Samin, the Gadds)\n15:07 Ritual Practice (prayer, pilgrimage, sacrifice, magic)\n25:45 Fate", "duration" => 1854, "filename" => "/downloads/ReligionForBreakfast/2026-05-14 The Gods of Pre-Islamic Arabia/The Gods of Pre-Islamic Arabia [Vfpas9Fn24Q].mp4", "id" => "Vfpas9Fn24Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Vfpas9Fn24Q", "playlist_index" => 14, "timestamp" => 1778770212, "title" => "The Gods of Pre-Islamic Arabia", "upload_date" => "20260514"} 18:49:49.508 [debug] QUERY OK source="sources" db=0.2ms 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 (?)) [9] 18:49:49.509 [debug] QUERY OK source="sources" db=0.2ms idle=735.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:49.509 [debug] QUERY OK source="media_items" db=0.2ms idle=735.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-14 14:50:12Z], 9] 18:49:49.516 [debug] QUERY OK source="media_items" db=5.6ms idle=736.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["With my link, you can get 50% off of Nebula. It’s just $30/year, or $2,5/month, at https://go.nebula.tv/religionforbreakfast \nWatch SarahZ's \"Three Dead Girls I Love\": https://nebula.tv/videos/sarahz-three-dead-girls-i-love?ref=religionforbreakfast\n\nThumbnail design by \u2068 @ECHenry \n\nReligion for Breakfast videos take a lot of research and collaboration. Patreon support helps fund editors, scholars, and future episodes. Support us here: https://www.patreon.com/c/religionforbreakfast\n\nSelect imagery/video supplied by Getty Images and Reuters\n\nBefore Islam, Arabs worshipped many gods. Using newly deciphered ancient desert inscriptions, we explore the forgotten religious world of pre-Islamic Arabia: The goddess Allāt, sacrifice, pilgrimage, fate, magic, and the everyday prayers of ordinary people.\n\n00:00 Intro to Safaitic Inscriptions\n3:44 The Goddess Allat (also Rodaw and Dushara)\n8:35 The Gods On Humanity's Side (Shams, Ba'al Samin, the Gadds)\n15:07 Ritual Practice (prayer, pilgrimage, sacrifice, magic)\n25:45 Fate", "The Gods of Pre-Islamic Arabia", "fb1563cb-0596-423f-a54f-50b076ce2bbf", 1854, false, "Vfpas9Fn24Q", "https://www.youtube.com/watch?v=Vfpas9Fn24Q", 14, "/downloads/ReligionForBreakfast/2026-05-14 The Gods of Pre-Islamic Arabia/The Gods of Pre-Islamic Arabia [Vfpas9Fn24Q].mp4", false, false, false, 9, [], 1, ~U[2026-05-14 14:50:12Z], ~U[2026-09-16 18:49:49Z], ~U[2026-09-16 18:49:49Z], "With my link, you can get 50% off of Nebula. It’s just $30/year, or $2,5/month, at https://go.nebula.tv/religionforbreakfast \nWatch SarahZ's \"Three Dead Girls I Love\": https://nebula.tv/videos/sarahz-three-dead-girls-i-love?ref=religionforbreakfast\n\nThumbnail design by \u2068 @ECHenry \n\nReligion for Breakfast videos take a lot of research and collaboration. Patreon support helps fund editors, scholars, and future episodes. Support us here: https://www.patreon.com/c/religionforbreakfast\n\nSelect imagery/video supplied by Getty Images and Reuters\n\nBefore Islam, Arabs worshipped many gods. Using newly deciphered ancient desert inscriptions, we explore the forgotten religious world of pre-Islamic Arabia: The goddess Allāt, sacrifice, pilgrimage, fate, magic, and the everyday prayers of ordinary people.\n\n00:00 Intro to Safaitic Inscriptions\n3:44 The Goddess Allat (also Rodaw and Dushara)\n8:35 The Gods On Humanity's Side (Shams, Ba'al Samin, the Gadds)\n15:07 Ritual Practice (prayer, pilgrimage, sacrifice, magic)\n25:45 Fate", "The Gods of Pre-Islamic Arabia", 1854, false, "Vfpas9Fn24Q", "https://www.youtube.com/watch?v=Vfpas9Fn24Q", "/downloads/ReligionForBreakfast/2026-05-14 The Gods of Pre-Islamic Arabia/The Gods of Pre-Islamic Arabia [Vfpas9Fn24Q].mp4", false, 9, ~U[2026-05-14 14:50:12Z]] 18:49:49.517 [debug] QUERY OK source="sources" db=0.4ms idle=163.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:49.517 [debug] QUERY OK source="media_profiles" db=0.3ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 18:49:49.518 [debug] QUERY OK source="media_items" db=0.3ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [36454] 18:49:49.518 [debug] Current batch of media processed. Will check again in 1000ms 18:49:50.521 [debug] Current batch of media processed. Will check again in 1000ms 18:49:51.187 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLHsXddZFR9ANs9hKH2fpanjTQOQYjAUZf --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/%(channel)S/%(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[format_note*=original]/bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/cc/dc/ccdcae8af2d2ea65867962229dde07642a6fd1f270685abb3199d1e93cc3ca54.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 18:49:51.188 [debug] Gracefully stopping file follower 18:49:51.190 [debug] QUERY OK source="sources" db=0.5ms queue=1.3ms idle=835.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 18:49:51.191 [debug] QUERY OK source="sources" db=0.2ms idle=416.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:51.191 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=417.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-01-24 16:18:44Z], 9] 18:49:51.193 [debug] QUERY OK source="media_items" db=1.0ms idle=418.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In spring 2018, I got a special tour inside the Dome of the Rock. Here are my thoughts as I wandered around this sacred building. \n\nJoin our Patreon community!: https://patreon.com/religionforbreakfast\n\nYou can also donate to the show at: https://www.paypal.me/religionforbreakfast\n\nFor religious studies book recommendations, see: https://amazon.com/shop/religionforbreakfast\n\nFollow me on:\nTwitter @andrewmarkhenry\nwww.facebook.com/religionforbreakfast", "What It's Like Inside the Dome of the Rock", "f4b1c8ca-f133-4b49-a112-ad0587797fe1", 276, false, "k2Tj3Izdt30", "https://www.youtube.com/watch?v=k2Tj3Izdt30", 1, "/downloads/ReligionForBreakfast/2019-01-24 What It's Like Inside the Dome of the Rock/What It's Like Inside the Dome of the Rock [k2Tj3Izdt30].mp4", false, false, false, 9, [], 1, ~U[2019-01-24 16:18:44Z], ~U[2026-09-16 18:49:51Z], ~U[2026-09-16 18:49:51Z], "In spring 2018, I got a special tour inside the Dome of the Rock. Here are my thoughts as I wandered around this sacred building. \n\nJoin our Patreon community!: https://patreon.com/religionforbreakfast\n\nYou can also donate to the show at: https://www.paypal.me/religionforbreakfast\n\nFor religious studies book recommendations, see: https://amazon.com/shop/religionforbreakfast\n\nFollow me on:\nTwitter @andrewmarkhenry\nwww.facebook.com/religionforbreakfast", "What It's Like Inside the Dome of the Rock", 276, false, "k2Tj3Izdt30", "https://www.youtube.com/watch?v=k2Tj3Izdt30", "/downloads/ReligionForBreakfast/2019-01-24 What It's Like Inside the Dome of the Rock/What It's Like Inside the Dome of the Rock [k2Tj3Izdt30].mp4", false, 9, ~U[2019-01-24 16:18:44Z]] 18:49:51.194 [debug] QUERY OK source="sources" db=0.2ms idle=419.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:51.194 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-09-26 18:41:52Z], 9] 18:49:51.196 [debug] QUERY OK source="media_items" db=1.1ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["The Dome of the Rock is one of the most iconic buildings in the world and one of the most sacred buildings for Muslims today. But what is the Dome of the Rock? What is its history?\n\nSupport the show on Patreon!\nwww.patreon.com/religionforbreakfast\nwww.facebook.com/religionforbreakfast\nTwitter: @andrewmarkhenry\n\nCheck out my religious studies book recommendations at: http://amazon.com/shop/religionforbreakfast\n\nBibliography:\nRina Avner, \"The Dome of the Rock in Light of the Development of Concentric Martyria in Jerusalem: Architecture and Architectural Iconography,\" \n\nJodi Magness, “The Archaeology of the Holy Land,\" Cambridge University Press, 2012.\n\nOleg Grabar, \"The Dome of the Rock,\" Harvard University Press, 2006.", "What is the Dome of the Rock?", "8aec2a9e-a3c6-4ff0-815b-56eae7438001", 580, false, "FCXjQHFQF14", "https://www.youtube.com/watch?v=FCXjQHFQF14", 2, "/downloads/ReligionForBreakfast/2018-09-26 What is the Dome of the Rock?/What is the Dome of the Rock? [FCXjQHFQF14].mp4", false, false, false, 9, [], 1, ~U[2018-09-26 18:41:52Z], ~U[2026-09-16 18:49:51Z], ~U[2026-09-16 18:49:51Z], "The Dome of the Rock is one of the most iconic buildings in the world and one of the most sacred buildings for Muslims today. But what is the Dome of the Rock? What is its history?\n\nSupport the show on Patreon!\nwww.patreon.com/religionforbreakfast\nwww.facebook.com/religionforbreakfast\nTwitter: @andrewmarkhenry\n\nCheck out my religious studies book recommendations at: http://amazon.com/shop/religionforbreakfast\n\nBibliography:\nRina Avner, \"The Dome of the Rock in Light of the Development of Concentric Martyria in Jerusalem: Architecture and Architectural Iconography,\" \n\nJodi Magness, “The Archaeology of the Holy Land,\" Cambridge University Press, 2012.\n\nOleg Grabar, \"The Dome of the Rock,\" Harvard University Press, 2006.", "What is the Dome of the Rock?", 580, false, "FCXjQHFQF14", "https://www.youtube.com/watch?v=FCXjQHFQF14", "/downloads/ReligionForBreakfast/2018-09-26 What is the Dome of the Rock?/What is the Dome of the Rock? [FCXjQHFQF14].mp4", false, 9, ~U[2018-09-26 18:41:52Z]] 18:49:51.196 [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" = ?) [9] 18:49:51.197 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-08-09 15:32:10Z], 9] 18:49:51.200 [debug] QUERY OK source="media_items" db=1.8ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join our Patreon community!: https://patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\n\nEvery year, millions of Muslims complete a pilgrimage to Mecca called The Hajj. This pilgrimage is obligatory for all Muslims and is considered one of the Five Pillars of Islam. But what does this pilgrimage entail?\n\nThis video was brought to you, in part, by the Foundation for Religious Literacy. Check out their work here: https://tfrl.org/\n\nCheck out my favorite religious studies books: https://www.amazon.com/shop/religionforbreakfast \n\nFollow me on Twitter!: @andrewmarkhenry\n\n\nSources:\nhttps://www.aljazeera.com/focus/hajj/2009/11/2009111895127111168.html\nhttps://www.vox.com/2016/9/12/12814258/hajj-2018-islamic-pilgrimage-mecca-what-is-explained\nhttps://www.britishmuseum.org/explore/themes/hajj/the_rituals_of_the_hajj.aspx\nstampede: https://www.aljazeera.com/news/2015/09/pilgrims-killed-hajj-stampede-mina-mecca-150924082302232.html\nstampede: https://religionnews.com/2015/12/10/saudi-arabia-stifled-true-death-count-hajj-stampede-2411/\n\n\nPicture Credits:\nhttps://commons.wikimedia.org/wiki/Category:Ihram#/media/File:In_transit_-_Flickr_-_Al_Jazeera_English.jpg\nhttps://en.wikipedia.org/wiki/Binding_of_Isaac#/media/File:Rembrandt_Abraham_en_Isaac,_1634.jpg\nhttps://commons.wikimedia.org/wiki/File:Sa%27yee_To_return.jpg\nhttps://commons.wikimedia.org/wiki/Category:Sa%27yee#/media/File:Insideofmasjeldolharam1.JPG\nhttps://upload.wikimedia.org/wikipedia/commons/0/03/Mount_Safa_Mecca.jpg\nMina: https://en.wikipedia.org/wiki/Mina,_Saudi_Arabia#/media/File:Mina_Overview.JPG\nMina tent: https://commons.wikimedia.org/wiki/File:Clouds_over_Mina_-_Flickr_-_Al_Jazeera_English.jpg\nPlain of Arafat: https://en.wikipedia.org/wiki/Mount_Arafat#/media/File:Pilgrims_cover_Arafat's_roads,_plains_and_mountain_-_Flickr_-_Al_Jazeera_English.jpg\nMuzdalifa: https://commons.wikimedia.org/wiki/File:Muzdalifah.jpg\nStoning of the Devil wall: https://commons.wikimedia.org/wiki/File:While_pilgrims_are_performing_these_rites,_Muslims_who_are_not_at_Hajj_are_celebrating_the_Eid_al-Adha_holiday._-_Flickr_-_Al_Jazeera_English.jpg\nExiting Ihram: https://commons.wikimedia.org/wiki/File:After_casting_their_stones_the_first_day,_pilgrims_trim_(or_shave_if_they_are_men)_their_hair_and_remove_their_ihram_clothes._-_Flickr_-_Al_Jazeera_English.jpg\nCollecting stones: https://commons.wikimedia.org/wiki/File:Meanwhile,_some_pilgrims_begin_to_collect_pebbles_for_the_next_day%27s_rites._-_Flickr_-_Al_Jazeera_English.jpg", "What is the Hajj?", "a0881616-874f-4ad5-84d4-d92260e39c50", 440, false, "ZeLjS--McoU", "https://www.youtube.com/watch?v=ZeLjS--McoU", 3, "/downloads/ReligionForBreakfast/2019-08-09 What is the Hajj?/What is the Hajj? [ZeLjS--McoU].mp4", false, false, false, 9, [], 1, ~U[2019-08-09 15:32:10Z], ~U[2026-09-16 18:49:51Z], ~U[2026-09-16 18:49:51Z], "Join our Patreon community!: https://patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\n\nEvery year, millions of Muslims complete a pilgrimage to Mecca called The Hajj. This pilgrimage is obligatory for all Muslims and is considered one of the Five Pillars of Islam. But what does this pilgrimage entail?\n\nThis video was brought to you, in part, by the Foundation for Religious Literacy. Check out their work here: https://tfrl.org/\n\nCheck out my favorite religious studies books: https://www.amazon.com/shop/religionforbreakfast \n\nFollow me on Twitter!: @andrewmarkhenry\n\n\nSources:\nhttps://www.aljazeera.com/focus/hajj/2009/11/2009111895127111168.html\nhttps://www.vox.com/2016/9/12/12814258/hajj-2018-islamic-pilgrimage-mecca-what-is-explained\nhttps://www.britishmuseum.org/explore/themes/hajj/the_rituals_of_the_hajj.aspx\nstampede: https://www.aljazeera.com/news/2015/09/pilgrims-killed-hajj-stampede-mina-mecca-150924082302232.html\nstampede: https://religionnews.com/2015/12/10/saudi-arabia-stifled-true-death-count-hajj-stampede-2411/\n\n\nPicture Credits:\nhttps://commons.wikimedia.org/wiki/Category:Ihram#/media/File:In_transit_-_Flickr_-_Al_Jazeera_English.jpg\nhttps://en.wikipedia.org/wiki/Binding_of_Isaac#/media/File:Rembrandt_Abraham_en_Isaac,_1634.jpg\nhttps://commons.wikimedia.org/wiki/File:Sa%27yee_To_return.jpg\nhttps://commons.wikimedia.org/wiki/Category:Sa%27yee#/media/File:Insideofmasjeldolharam1.JPG\nhttps://upload.wikimedia.org/wikipedia/commons/0/03/Mount_Safa_Mecca.jpg\nMina: https://en.wikipedia.org/wiki/Mina,_Saudi_Arabia#/media/File:Mina_Overview.JPG\nMina tent: https://commons.wikimedia.org/wiki/File:Clouds_over_Mina_-_Flickr_-_Al_Jazeera_English.jpg\nPlain of Arafat: https://en.wikipedia.org/wiki/Mount_Arafat#/media/File:Pilgrims_cover_Arafat's_roads,_plains_and_mountain_-_Flickr_-_Al_Jazeera_English.jpg\nMuzdalifa: https://commons.wikimedia.org/wiki/File:Muzdalifah.jpg\nStoning of the Devil wall: https://commons.wikimedia.org/wiki/File:While_pilgrims_are_performing_these_rites,_Muslims_who_are_not_at_Hajj_are_celebrating_the_Eid_al-Adha_holiday._-_Flickr_-_Al_Jazeera_English.jpg\nExiting Ihram: https://commons.wikimedia.org/wiki/File:After_casting_their_stones_the_first_day,_pilgrims_trim_(or_shave_if_they_are_men)_their_hair_and_remove_their_ihram_clothes._-_Flickr_-_Al_Jazeera_English.jpg\nCollecting stones: https://commons.wikimedia.org/wiki/File:Meanwhile,_some_pilgrims_begin_to_collect_pebbles_for_the_next_day%27s_rites._-_Flickr_-_Al_Jazeera_English.jpg", "What is the Hajj?", 440, false, "ZeLjS--McoU", "https://www.youtube.com/watch?v=ZeLjS--McoU", "/downloads/ReligionForBreakfast/2019-08-09 What is the Hajj?/What is the Hajj? [ZeLjS--McoU].mp4", false, 9, ~U[2019-08-09 15:32:10Z]] 18:49:51.201 [debug] QUERY OK source="sources" db=0.2ms queue=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" = ?) [9] 18:49:51.201 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-02-05 19:39:29Z], 9] 18:49:51.205 [debug] QUERY OK source="media_items" db=2.6ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Islam is a complicated topic and a politically charged topic here in the 21st century. But it is important that we learn about the world's 2nd largest religion. In this video, we will discuss Islam from a nonsectarian perspective, exploring its internal diversity, how the religion changed over time, and how it is embedded in different areas of culture around the world. \n\nTwitter: @andrewmarkhenry\nFacebook: www.facebook.com/religionforbreakfast\nPatreon: www.patreon.com/religionforbreakfast\n\nSpecial thanks to Dr. Hussein Rashid for help researching, writing, and co-hosting this episode. Follow him on Twitter at: \n@islamoyankee\nhttps://twitter.com/islamoyankee\nhttp://www.husseinrashid.com/\n\nThis video was made for the online classes offered by the Religious Freedom Center. A nonsectarian, nonpartisan organization in Washington DC committed to improving religious literacy and religious liberty. Follow them at: @NewseumReligion\nhttp://www.religiousfreedomcenter.org/\n\nEducators, consider checking out their professional development modules. Short, self-paced, interactive courses focused on boosting your religious literacy education in the classroom: https://constitution2classroom.org/\n\nThis video is brought to you in part by our supporters on Patreon. Thank you everyone for supporting this channel!: www.patreon.com/religionforbreakfast\n\nAndrew's religious studies book recommendations: http://amazon.com/shop/religionforbreakfast\n\nFurther Reading:\nAlexander Knysh, \"Sufism: A New History of Islamic Mysticism.\"\n\nEdward Curtis, \"The Practice of Islam in America: An Introduction.\"\n\nMalise Ruthven, \"Islam: A Very Short Introduction.\"\n\nReports on Sufi shrine and Islamic cultural heritage destruction:\nhttp://www.cnn.com/2012/07/12/world/africa/mali-shrines-destroyed/index.html\nhttp://time.com/3584585/saudi-arabia-bulldozes-over-its-heritage/\nhttp://www.un.org/apps/news/story.asp?NewsID=42756\n\nFarhad Daftary, The Isma’ilis: Their History and Doctrines https://books.google.com/books?id=cSO9zh61AGEC&printsec=frontcover&dq=seven+pillars+nizari&hl=en&sa=X&ved=0ahUKEwjuoPWvqu3UAhWMVT4KHbN8BYkQuwUIOzAD#v=onepage&q=seven%20pilalrs&f=false\n\nCarl Ernst, Tasawwuf, article for Encyclopedia of Islam, https://www.unc.edu/~cernst/pdf/tasawwuf.pdf\n\nKecia Ali: http://www.wbur.org/cognoscenti/2014/05/09/sultan-of-brunei-sharia-law-beverly-hills-hotel-kecia-ali\n\nKecia Ali: https://feminismandreligion.com/2014/05/27/whose-sharia-is-it-by-kecia-ali/\n\nJerusha Lamptey: http://time.com/92534/boko-haram-not-my-shariah/\n\nRise in Islamic Financial Institutions: http://www.cnbc.com/2016/12/02/under-the-radar-islamic-banks-rise-in-th.html\n\nMusic by Kevin MacLeod: https://incompetech.com/", "Intro to Islam (feat. Dr. Hussein Rashid)", "3f80bd21-1324-4e1d-a484-ef8e3bdf46bb", 981, false, "Qtz4NGzpOco", "https://www.youtube.com/watch?v=Qtz4NGzpOco", 4, "/downloads/ReligionForBreakfast/2018-02-05 Intro to Islam (feat. Dr. Hussein Rashid)/Intro to Islam (feat. Dr. Hussein Rashid) [Qtz4NGzpOco].mp4", false, false, false, 9, [], 1, ~U[2018-02-05 19:39:29Z], ~U[2026-09-16 18:49:51Z], ~U[2026-09-16 18:49:51Z], "Islam is a complicated topic and a politically charged topic here in the 21st century. But it is important that we learn about the world's 2nd largest religion. In this video, we will discuss Islam from a nonsectarian perspective, exploring its internal diversity, how the religion changed over time, and how it is embedded in different areas of culture around the world. \n\nTwitter: @andrewmarkhenry\nFacebook: www.facebook.com/religionforbreakfast\nPatreon: www.patreon.com/religionforbreakfast\n\nSpecial thanks to Dr. Hussein Rashid for help researching, writing, and co-hosting this episode. Follow him on Twitter at: \n@islamoyankee\nhttps://twitter.com/islamoyankee\nhttp://www.husseinrashid.com/\n\nThis video was made for the online classes offered by the Religious Freedom Center. A nonsectarian, nonpartisan organization in Washington DC committed to improving religious literacy and religious liberty. Follow them at: @NewseumReligion\nhttp://www.religiousfreedomcenter.org/\n\nEducators, consider checking out their professional development modules. Short, self-paced, interactive courses focused on boosting your religious literacy education in the classroom: https://constitution2classroom.org/\n\nThis video is brought to you in part by our supporters on Patreon. Thank you everyone for supporting this channel!: www.patreon.com/religionforbreakfast\n\nAndrew's religious studies book recommendations: http://amazon.com/shop/religionforbreakfast\n\nFurther Reading:\nAlexander Knysh, \"Sufism: A New History of Islamic Mysticism.\"\n\nEdward Curtis, \"The Practice of Islam in America: An Introduction.\"\n\nMalise Ruthven, \"Islam: A Very Short Introduction.\"\n\nReports on Sufi shrine and Islamic cultural heritage destruction:\nhttp://www.cnn.com/2012/07/12/world/africa/mali-shrines-destroyed/index.html\nhttp://time.com/3584585/saudi-arabia-bulldozes-over-its-heritage/\nhttp://www.un.org/apps/news/story.asp?NewsID=42756\n\nFarhad Daftary, The Isma’ilis: Their History and Doctrines https://books.google.com/books?id=cSO9zh61AGEC&printsec=frontcover&dq=seven+pillars+nizari&hl=en&sa=X&ved=0ahUKEwjuoPWvqu3UAhWMVT4KHbN8BYkQuwUIOzAD#v=onepage&q=seven%20pilalrs&f=false\n\nCarl Ernst, Tasawwuf, article for Encyclopedia of Islam, https://www.unc.edu/~cernst/pdf/tasawwuf.pdf\n\nKecia Ali: http://www.wbur.org/cognoscenti/2014/05/09/sultan-of-brunei-sharia-law-beverly-hills-hotel-kecia-ali\n\nKecia Ali: https://feminismandreligion.com/2014/05/27/whose-sharia-is-it-by-kecia-ali/\n\nJerusha Lamptey: http://time.com/92534/boko-haram-not-my-shariah/\n\nRise in Islamic Financial Institutions: http://www.cnbc.com/2016/12/02/under-the-radar-islamic-banks-rise-in-th.html\n\nMusic by Kevin MacLeod: https://incompetech.com/", "Intro to Islam (feat. Dr. Hussein Rashid)", 981, false, "Qtz4NGzpOco", "https://www.youtube.com/watch?v=Qtz4NGzpOco", "/downloads/ReligionForBreakfast/2018-02-05 Intro to Islam (feat. Dr. Hussein Rashid)/Intro to Islam (feat. Dr. Hussein Rashid) [Qtz4NGzpOco].mp4", false, 9, ~U[2018-02-05 19:39:29Z]] 18:49:51.205 [debug] QUERY OK source="sources" db=0.2ms idle=7.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:51.206 [debug] QUERY OK source="media_items" db=0.3ms idle=6.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-09-17 18:01:47Z], 9] 18:49:51.269 [debug] QUERY OK source="media_items" db=62.5ms idle=5.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join our Patreon community!: https://patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\n\nThe Hagia Sophia is a super famous building in Istanbul. Officially, at least according to the Turkish government, it is a museum. But it was originally built as a church and then was converted into a mosque after the Ottoman conquest of Constantinople in 1453. So what is it? Church, mosque, or museum?\n\nFollow me on Twitter at: @andrewmarkhenry\n\nI'm a current fellow with the Foundation for Religious Literacy, a nonsectarian philanthropic organization dedicated to the academic study of religion. They are supporting my work on Religion for Breakfast during 2019-2020. Check out their work here: https://tfrl.org/\n\nThumbnail photo credit: Arild Vågen\n\nSources: \nErdogan and converting back to mosque: https://www.apnews.com/9d7a4644abb04b9788c1ba37ec71c4ac ; https://www.reuters.com/article/us-turkey-election-museum/turkeys-erdogan-says-he-plans-to-change-hagia-sophias-title-from-museum-to-mosque-idUSKCN1RA1ZB\n\nStructural integrity of Hagia Sophia including Rob Ousterhout and Stephen Kelley quotes: https://www.smithsonianmag.com/travel/a-monumental-struggle-to-preserve-hagia-sophia-92038218/\n\nBissera Pentcheva, Hagia Sophia: Sound, Space, and Spirit in Byzantium (Pennsylvania State University Press, 2017)\n\nEve Avdoulos, \"Istanbul’s Hagia Sophia: Challenges of Managing Sacred Places\"", "What is the Hagia Sophia?", "ecf8c8dd-f265-4ccf-a5b6-955d30365a1e", 459, false, "2i0i4xIngFo", "https://www.youtube.com/watch?v=2i0i4xIngFo", 5, "/downloads/ReligionForBreakfast/2019-09-17 What is the Hagia Sophia?/What is the Hagia Sophia? [2i0i4xIngFo].mp4", false, false, false, 9, [], 1, ~U[2019-09-17 18:01:47Z], ~U[2026-09-16 18:49:51Z], ~U[2026-09-16 18:49:51Z], "Join our Patreon community!: https://patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\n\nThe Hagia Sophia is a super famous building in Istanbul. Officially, at least according to the Turkish government, it is a museum. But it was originally built as a church and then was converted into a mosque after the Ottoman conquest of Constantinople in 1453. So what is it? Church, mosque, or museum?\n\nFollow me on Twitter at: @andrewmarkhenry\n\nI'm a current fellow with the Foundation for Religious Literacy, a nonsectarian philanthropic organization dedicated to the academic study of religion. They are supporting my work on Religion for Breakfast during 2019-2020. Check out their work here: https://tfrl.org/\n\nThumbnail photo credit: Arild Vågen\n\nSources: \nErdogan and converting back to mosque: https://www.apnews.com/9d7a4644abb04b9788c1ba37ec71c4ac ; https://www.reuters.com/article/us-turkey-election-museum/turkeys-erdogan-says-he-plans-to-change-hagia-sophias-title-from-museum-to-mosque-idUSKCN1RA1ZB\n\nStructural integrity of Hagia Sophia including Rob Ousterhout and Stephen Kelley quotes: https://www.smithsonianmag.com/travel/a-monumental-struggle-to-preserve-hagia-sophia-92038218/\n\nBissera Pentcheva, Hagia Sophia: Sound, Space, and Spirit in Byzantium (Pennsylvania State University Press, 2017)\n\nEve Avdoulos, \"Istanbul’s Hagia Sophia: Challenges of Managing Sacred Places\"", "What is the Hagia Sophia?", 459, false, "2i0i4xIngFo", "https://www.youtube.com/watch?v=2i0i4xIngFo", "/downloads/ReligionForBreakfast/2019-09-17 What is the Hagia Sophia?/What is the Hagia Sophia? [2i0i4xIngFo].mp4", false, 9, ~U[2019-09-17 18:01:47Z]] 18:49:51.270 [debug] QUERY OK source="sources" db=0.3ms idle=68.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:51.270 [debug] QUERY OK source="media_items" db=0.3ms idle=65.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-12-08 18:02:11Z], 9] 18:49:51.278 [debug] QUERY OK source="media_items" db=6.9ms idle=65.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://athleticgreens.com/religionforbreakfast to get started on your first purchase and receive a FREE 1-year supply of Vitamin D3+K2 and 5 travel packs. Thanks to Athletic Greens for sponsoring today's video!\n\nBelow the fold: AG1 by Athletic Greens is a comprehensive, nutrition drink engineered to fill the nutritional gaps in your diet and support your body’s nutritional needs across four pillars of health: Gut health, Immune support, Energy and Recovery! It’s packed with 75 vitamins, minerals, whole-food sourced ingredients and combines the perfect amount of micronutrients, absorption and taste to jumpstart your daily routine. AG1 is available in the US, Canada, UK and Europe.\n\nJoin our Patreon community!: https://www.patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\nCheck out my favorite religious studies books by following this affiliate link to my Amazon page: https://www.amazon.com/shop/religionforbreakfast\n\n00:00 Recap of Jesus' Aramaic Name\n00:26 The Quranic Exception: Isa\n2:31 Ad break\n3:41 Safaitic overview\n4:52 Inscription overview\n7:29 Etymology of 'sy\n10:10 Conclusion\n\n\nTo learn more about this research:\nAl-Jallad. 20201. The Pre-Islamic Divine Name 'sy and the Background of the Qur'anic Jesus, with Ali al-Manaser", "The Origin of the Quran’s Name for Jesus", "622bdd27-17cc-4000-addc-e0a21ff6a7d5", 652, false, "7P1KPA4cuB8", "https://www.youtube.com/watch?v=7P1KPA4cuB8", 6, "/downloads/ReligionForBreakfast/2022-12-08 The Origin of the Quran’s Name for Jesus/The Origin of the Quran’s Name for Jesus [7P1KPA4cuB8].mp4", false, false, false, 9, [], 1, ~U[2022-12-08 18:02:11Z], ~U[2026-09-16 18:49:51Z], ~U[2026-09-16 18:49:51Z], "Go to https://athleticgreens.com/religionforbreakfast to get started on your first purchase and receive a FREE 1-year supply of Vitamin D3+K2 and 5 travel packs. Thanks to Athletic Greens for sponsoring today's video!\n\nBelow the fold: AG1 by Athletic Greens is a comprehensive, nutrition drink engineered to fill the nutritional gaps in your diet and support your body’s nutritional needs across four pillars of health: Gut health, Immune support, Energy and Recovery! It’s packed with 75 vitamins, minerals, whole-food sourced ingredients and combines the perfect amount of micronutrients, absorption and taste to jumpstart your daily routine. AG1 is available in the US, Canada, UK and Europe.\n\nJoin our Patreon community!: https://www.patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\nCheck out my favorite religious studies books by following this affiliate link to my Amazon page: https://www.amazon.com/shop/religionforbreakfast\n\n00:00 Recap of Jesus' Aramaic Name\n00:26 The Quranic Exception: Isa\n2:31 Ad break\n3:41 Safaitic overview\n4:52 Inscription overview\n7:29 Etymology of 'sy\n10:10 Conclusion\n\n\nTo learn more about this research:\nAl-Jallad. 20201. The Pre-Islamic Divine Name 'sy and the Background of the Qur'anic Jesus, with Ali al-Manaser", "The Origin of the Quran’s Name for Jesus", 652, false, "7P1KPA4cuB8", "https://www.youtube.com/watch?v=7P1KPA4cuB8", "/downloads/ReligionForBreakfast/2022-12-08 The Origin of the Quran’s Name for Jesus/The Origin of the Quran’s Name for Jesus [7P1KPA4cuB8].mp4", false, 9, ~U[2022-12-08 18:02:11Z]] 18:49:51.279 [debug] QUERY OK source="sources" db=0.6ms idle=72.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:51.280 [debug] QUERY OK source="media_items" db=0.6ms idle=10.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-13 16:15:51Z], 9] 18:49:51.284 [debug] QUERY OK source="media_items" db=3.8ms idle=10.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/religionforbreakfast \nWatch The Logistics of the Hajj here!: https://nebula.tv/videos/wendover-the-logistics-of-hajj?ref=religionforbreakfast \n\nJoin our Patreon community!: https://www.patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\nSign-up for my mailing list to be notified of online classes: https://classes.religionforbreakfast.com/\n\nHost: Andrew Henry, PhD\nManaging Editor: Andrew Aghapour, PhD\nWriter: Matthew Hotham, PhD\nProduction Assistant: Casey A'Hearn\nSpecial thanks to Filip Holm for reading an early draft of the script! Check out his channel at @LetsTalkReligion \n\nThe Kaaba is the most sacred site in Islam. Located in Mecca, Saudi Arabia, it's the focal point for millions of Muslims worldwide both for the annual Hajj pilgrimage and the direction Muslims face during daily prayers.\n\n00:00 The Basics\n4:02 A Tour around the Kaaba\n7:30 History of the Kaaba\n10:49 Muhammad and the Kaaba\n13:30 Qibla Explored in Depth\n14:48 Qibla in Spaaaaace\n16:28 Sponsor", "What is the Kaaba?", "a17b6fa7-b111-4549-92b5-b8e2fc1313d7", 1117, false, "Z8XaGhDic3o", "https://www.youtube.com/watch?v=Z8XaGhDic3o", 7, "/downloads/ReligionForBreakfast/2024-06-13 What is the Kaaba?/What is the Kaaba? [Z8XaGhDic3o].mp4", false, false, false, 9, [], 1, ~U[2024-06-13 16:15:51Z], ~U[2026-09-16 18:49:51Z], ~U[2026-09-16 18:49:51Z], "Get Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/religionforbreakfast \nWatch The Logistics of the Hajj here!: https://nebula.tv/videos/wendover-the-logistics-of-hajj?ref=religionforbreakfast \n\nJoin our Patreon community!: https://www.patreon.com/religionforbreakfast\nOne-time donations here!: https://www.paypal.me/religionforbreakfast\nSign-up for my mailing list to be notified of online classes: https://classes.religionforbreakfast.com/\n\nHost: Andrew Henry, PhD\nManaging Editor: Andrew Aghapour, PhD\nWriter: Matthew Hotham, PhD\nProduction Assistant: Casey A'Hearn\nSpecial thanks to Filip Holm for reading an early draft of the script! Check out his channel at @LetsTalkReligion \n\nThe Kaaba is the most sacred site in Islam. Located in Mecca, Saudi Arabia, it's the focal point for millions of Muslims worldwide both for the annual Hajj pilgrimage and the direction Muslims face during daily prayers.\n\n00:00 The Basics\n4:02 A Tour around the Kaaba\n7:30 History of the Kaaba\n10:49 Muhammad and the Kaaba\n13:30 Qibla Explored in Depth\n14:48 Qibla in Spaaaaace\n16:28 Sponsor", "What is the Kaaba?", 1117, false, "Z8XaGhDic3o", "https://www.youtube.com/watch?v=Z8XaGhDic3o", "/downloads/ReligionForBreakfast/2024-06-13 What is the Kaaba?/What is the Kaaba? [Z8XaGhDic3o].mp4", false, 9, ~U[2024-06-13 16:15:51Z]] 18:49:51.285 [debug] QUERY OK source="sources" db=0.5ms idle=14.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:51.286 [debug] QUERY OK source="media_items" db=0.6ms idle=7.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-10 15:35:21Z], 9] 18:49:51.290 [debug] QUERY OK source="media_items" db=3.1ms idle=7.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Watch my interview with Dr. Ali Olomi on Nebula!: https://nebula.tv/videos/religionforbreakfast-what-are-jinn-interview-with-dr-ali-olomi?ref=religionforbreakfast \nGet Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/religionforbreakfast \n\nIn Islam, Satan isn’t a fallen angel—but a jinn named Iblīs. This video explores his story in the Qurʾān, his role as tempter and adversary, and how scholars and mystics have interpreted him for over 1,400 years. Who is the Devil in Islam?\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters\n\n00:00 Intro to Iblis the Adversary\n3:48 The Quranic Story of Iblis\n8:07 What is Iblis?\n12:42 Later Mystical and Philosophical Interpretations\n14:49 Folklore\n16:32 Nebula is awesome", "Who Is Satan in Islam? | Iblis Explained", "e3dddac9-9b99-4e0c-a171-6e59c7dd597a", 1139, false, "6y8mFSQO6cI", "https://www.youtube.com/watch?v=6y8mFSQO6cI", 8, "/downloads/ReligionForBreakfast/2025-04-10 Who Is Satan in Islam? | Iblis Explained/Who Is Satan in Islam? | Iblis Explained [6y8mFSQO6cI].mp4", false, false, false, 9, [], 1, ~U[2025-04-10 15:35:21Z], ~U[2026-09-16 18:49:51Z], ~U[2026-09-16 18:49:51Z], "Watch my interview with Dr. Ali Olomi on Nebula!: https://nebula.tv/videos/religionforbreakfast-what-are-jinn-interview-with-dr-ali-olomi?ref=religionforbreakfast \nGet Nebula using my link for 40% off an annual subscription: https://go.nebula.tv/religionforbreakfast \n\nIn Islam, Satan isn’t a fallen angel—but a jinn named Iblīs. This video explores his story in the Qurʾān, his role as tempter and adversary, and how scholars and mystics have interpreted him for over 1,400 years. Who is the Devil in Islam?\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters\n\n00:00 Intro to Iblis the Adversary\n3:48 The Quranic Story of Iblis\n8:07 What is Iblis?\n12:42 Later Mystical and Philosophical Interpretations\n14:49 Folklore\n16:32 Nebula is awesome", "Who Is Satan in Islam? | Iblis Explained", 1139, false, "6y8mFSQO6cI", "https://www.youtube.com/watch?v=6y8mFSQO6cI", "/downloads/ReligionForBreakfast/2025-04-10 Who Is Satan in Islam? | Iblis Explained/Who Is Satan in Islam? | Iblis Explained [6y8mFSQO6cI].mp4", false, 9, ~U[2025-04-10 15:35:21Z]] 18:49:51.291 [debug] QUERY OK source="sources" db=0.4ms idle=10.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:51.292 [debug] QUERY OK source="media_items" db=0.6ms idle=7.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-17 20:35:15Z], 9] 18:49:51.296 [debug] QUERY OK source="media_items" db=3.4ms idle=6.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Watch 17 Pages on Nebula using my link for 40% off an annual subscription: https://nebula.tv/videos/17pages?ref=religionforbreakfast\nGet Lifetime Access to Nebula here: https://go.nebula.tv/lifetime?ref=religionforbreakfast \n\nWho is the angel Gabriel in Islam? Known as Jibril, he’s the messenger who revealed the Quran to Muhammad. This video explores his role in Islamic tradition, how he compares to the biblical Gabriel, and why he’s considered the chief of all angels.\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters", "Who is Gabriel in Islam? | Jibrīl Explained", "819c619a-6850-4a99-abb7-b4b4f51a2252", 781, false, "Cj2RlBrx_R8", "https://www.youtube.com/watch?v=Cj2RlBrx_R8", 9, "/downloads/ReligionForBreakfast/2025-07-17 Who is Gabriel in Islam? | Jibrīl Explained/Who is Gabriel in Islam? | Jibrīl Explained [Cj2RlBrx_R8].mp4", false, false, false, 9, [], 1, ~U[2025-07-17 20:35:15Z], ~U[2026-09-16 18:49:51Z], ~U[2026-09-16 18:49:51Z], "Watch 17 Pages on Nebula using my link for 40% off an annual subscription: https://nebula.tv/videos/17pages?ref=religionforbreakfast\nGet Lifetime Access to Nebula here: https://go.nebula.tv/lifetime?ref=religionforbreakfast \n\nWho is the angel Gabriel in Islam? Known as Jibril, he’s the messenger who revealed the Quran to Muhammad. This video explores his role in Islamic tradition, how he compares to the biblical Gabriel, and why he’s considered the chief of all angels.\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters", "Who is Gabriel in Islam? | Jibrīl Explained", 781, false, "Cj2RlBrx_R8", "https://www.youtube.com/watch?v=Cj2RlBrx_R8", "/downloads/ReligionForBreakfast/2025-07-17 Who is Gabriel in Islam? | Jibrīl Explained/Who is Gabriel in Islam? | Jibrīl Explained [Cj2RlBrx_R8].mp4", false, 9, ~U[2025-07-17 20:35:15Z]] 18:49:51.297 [debug] QUERY OK source="sources" db=0.4ms idle=10.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:51.298 [debug] QUERY OK source="media_items" db=1.2ms idle=7.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-01 00:34:58Z], 9] 18:49:51.305 [debug] QUERY OK source="media_items" db=4.9ms queue=0.1ms idle=8.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/religionforbreakfast\n\nAlevism is a mystical Islamic tradition in Turkey that don't fit neatly into Sunni nor Shi‘a categories. This video explores its Sufi-inspired rituals, sacred music, and why defining Alevism within Islam remains so complex.\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters", "Sunni or Shia? | Who Are the Alevis?", "cab0325a-3206-49ce-905e-33241c1c2ff8", 2883, false, "ckaLSJIW-ls", "https://www.youtube.com/watch?v=ckaLSJIW-ls", 10, "/downloads/ReligionForBreakfast/2025-08-01 Sunni or Shia? | Who Are the Alevis?/Sunni or Shia? | Who Are the Alevis? [ckaLSJIW-ls].mp4", false, false, false, 9, [], 1, ~U[2025-08-01 00:34:58Z], ~U[2026-09-16 18:49:51Z], ~U[2026-09-16 18:49:51Z], "Compare news coverage. Spot media bias. Avoid algorithms. Try Ground News today and get 40% off your subscription by going to https://ground.news/religionforbreakfast\n\nAlevism is a mystical Islamic tradition in Turkey that don't fit neatly into Sunni nor Shi‘a categories. This video explores its Sufi-inspired rituals, sacred music, and why defining Alevism within Islam remains so complex.\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters", "Sunni or Shia? | Who Are the Alevis?", 2883, false, "ckaLSJIW-ls", "https://www.youtube.com/watch?v=ckaLSJIW-ls", "/downloads/ReligionForBreakfast/2025-08-01 Sunni or Shia? | Who Are the Alevis?/Sunni or Shia? | Who Are the Alevis? [ckaLSJIW-ls].mp4", false, 9, ~U[2025-08-01 00:34:58Z]] 18:49:51.306 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms 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" = ?) [9] 18:49:51.308 [debug] QUERY OK source="media_items" db=0.5ms queue=0.5ms idle=10.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-21 18:49:10Z], 9] 18:49:51.311 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=11.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Register for our Coptic class!: https://www.religiondepartment.com/coptic\n\nFew prophets in Islam are as mysterious as Idrīs. In this video, we explore his identity, tracing how Muslims connected Idrīs with Enoch and Hermes Trismegistus, and why this ancient figure became a bridge between prophecy and esotericism.\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters", "The Prophet Idrīs: The Islamic Enoch?", "58f1bd05-c556-4ed8-a02d-7b0afa4631ce", 993, false, "zPS1piukoO8", "https://www.youtube.com/watch?v=zPS1piukoO8", 11, "/downloads/ReligionForBreakfast/2025-10-21 The Prophet Idrīs: The Islamic Enoch?/The Prophet Idrīs: The Islamic Enoch? [zPS1piukoO8].mp4", false, false, false, 9, [], 1, ~U[2025-10-21 18:49:10Z], ~U[2026-09-16 18:49:51Z], ~U[2026-09-16 18:49:51Z], "Register for our Coptic class!: https://www.religiondepartment.com/coptic\n\nFew prophets in Islam are as mysterious as Idrīs. In this video, we explore his identity, tracing how Muslims connected Idrīs with Enoch and Hermes Trismegistus, and why this ancient figure became a bridge between prophecy and esotericism.\n\nJoin our Patreon community! https://www.patreon.com/religionforbreakfast\nSelect imagery/video supplied by Getty Images and Reuters", "The Prophet Idrīs: The Islamic Enoch?", 993, false, "zPS1piukoO8", "https://www.youtube.com/watch?v=zPS1piukoO8", "/downloads/ReligionForBreakfast/2025-10-21 The Prophet Idrīs: The Islamic Enoch?/The Prophet Idrīs: The Islamic Enoch? [zPS1piukoO8].mp4", false, 9, ~U[2025-10-21 18:49:10Z]] 18:49:51.311 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [9] 18:49:51.312 [debug] QUERY OK source="media_items" db=0.4ms queue=0.3ms idle=7.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 18:12:51Z], 9] 18:49:51.316 [debug] QUERY OK source="media_items" db=2.5ms idle=6.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dive deeper, join our upcoming lecture at The Religion Department: “A Hidden History of Muslims in the United States” with Dr. Yasmine Flodin-Ali: https://www.religiondepartment.com/history-of-muslims\n\nIs atheism rising in the Arab world? Drawing on Arab Barometer surveys, satellite data from Ramadan, and recent scholarship, this video explores what the numbers really show and how language, stigma, and politics shape nonreligious identity in Arab-majority countries.\n\nThis video was made possible through the support of Grant 61928 from the John Templeton Foundation managed by The Queen’s University of Belfast. The opinions expressed in this publication are those of the authors and do not necessarily reflect the views of the John Templeton Foundation or The Queen’s University of Belfast. \n\nReligion for Breakfast videos take a lot of research and collaboration. Patreon support helps fund editors, scholars, and future episodes. Support us here: https://www.patreon.com/c/religionforbreakfast\n\nSelect imagery/video supplied by Getty Images and Reuters", "Is Atheism Growing in the Arab World?", "bc1cf153-79bb-42a2-acad-e6f8ca83e0fe", 1408, false, "Oy3JuwGJWBE", "https://www.youtube.com/watch?v=Oy3JuwGJWBE", 12, "/downloads/ReligionForBreakfast/2026-02-26 Is Atheism Growing in the Arab World?/Is Atheism Growing in the Arab World? [Oy3JuwGJWBE].mp4", false, false, false, 9, [], 1, ~U[2026-02-26 18:12:51Z], ~U[2026-09-16 18:49:51Z], ~U[2026-09-16 18:49:51Z], "Dive deeper, join our upcoming lecture at The Religion Department: “A Hidden History of Muslims in the United States” with Dr. Yasmine Flodin-Ali: https://www.religiondepartment.com/history-of-muslims\n\nIs atheism rising in the Arab world? Drawing on Arab Barometer surveys, satellite data from Ramadan, and recent scholarship, this video explores what the numbers really show and how language, stigma, and politics shape nonreligious identity in Arab-majority countries.\n\nThis video was made possible through the support of Grant 61928 from the John Templeton Foundation managed by The Queen’s University of Belfast. The opinions expressed in this publication are those of the authors and do not necessarily reflect the views of the John Templeton Foundation or The Queen’s University of Belfast. \n\nReligion for Breakfast videos take a lot of research and collaboration. Patreon support helps fund editors, scholars, and future episodes. Support us here: https://www.patreon.com/c/religionforbreakfast\n\nSelect imagery/video supplied by Getty Images and Reuters", "Is Atheism Growing in the Arab World?", 1408, false, "Oy3JuwGJWBE", "https://www.youtube.com/watch?v=Oy3JuwGJWBE", "/downloads/ReligionForBreakfast/2026-02-26 Is Atheism Growing in the Arab World?/Is Atheism Growing in the Arab World? [Oy3JuwGJWBE].mp4", false, 9, ~U[2026-02-26 18:12:51Z]] 18:49:51.316 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [9] 18:49:51.317 [debug] QUERY OK source="media_items" db=0.4ms idle=6.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 16:31:29Z], 9] 18:49:51.322 [debug] QUERY OK source="media_items" db=4.2ms queue=0.1ms idle=6.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://hensonshaving.com/religionforbreakfast and enter RELIGIONFORBREAKFAST at checkout to get 100 free blades with your purchase! \n\nThe Dajjal: a one-eyed deceiver who performs miracles, raises the dead, and nearly conquers the world. We break down the Islamic end-times traditions, his origins, and why he remains one of the most feared figures in Islam.\n\nReligion for Breakfast videos take a lot of research and collaboration. Patreon support helps fund editors, scholars, and future episodes. Support us here: https://www.patreon.com/c/religionforbreakfast\n\nThumbnail design by @ECHenry \n\nSelect imagery/video supplied by Getty Images and Reuters\n\n00:00 Intro\n1:08 The Dajjal in the Hadith\n5:42 The Physical Traits of the Dajjal\n8:51 The Defeat of the Dajjal\n11:00 Historical Context\n12:54 Linking the Dajjal to Real People\n14:47 Mystical Intepretations\n16:00 Tamim al-Dari Story", "The Dajjāl: The Islamic Antichrist?", "679dbb5b-56e2-47ff-8784-491135fb3e7c", 1225, false, "2wHGGOwUWW8", "https://www.youtube.com/watch?v=2wHGGOwUWW8", 13, "/downloads/ReligionForBreakfast/2026-03-19 The Dajjāl: The Islamic Antichrist?/The Dajjāl: The Islamic Antichrist? [2wHGGOwUWW8].mp4", false, false, false, 9, [], 1, ~U[2026-03-19 16:31:29Z], ~U[2026-09-16 18:49:51Z], ~U[2026-09-16 18:49:51Z], "Go to https://hensonshaving.com/religionforbreakfast and enter RELIGIONFORBREAKFAST at checkout to get 100 free blades with your purchase! \n\nThe Dajjal: a one-eyed deceiver who performs miracles, raises the dead, and nearly conquers the world. We break down the Islamic end-times traditions, his origins, and why he remains one of the most feared figures in Islam.\n\nReligion for Breakfast videos take a lot of research and collaboration. Patreon support helps fund editors, scholars, and future episodes. Support us here: https://www.patreon.com/c/religionforbreakfast\n\nThumbnail design by @ECHenry \n\nSelect imagery/video supplied by Getty Images and Reuters\n\n00:00 Intro\n1:08 The Dajjal in the Hadith\n5:42 The Physical Traits of the Dajjal\n8:51 The Defeat of the Dajjal\n11:00 Historical Context\n12:54 Linking the Dajjal to Real People\n14:47 Mystical Intepretations\n16:00 Tamim al-Dari Story", "The Dajjāl: The Islamic Antichrist?", 1225, false, "2wHGGOwUWW8", "https://www.youtube.com/watch?v=2wHGGOwUWW8", "/downloads/ReligionForBreakfast/2026-03-19 The Dajjāl: The Islamic Antichrist?/The Dajjāl: The Islamic Antichrist? [2wHGGOwUWW8].mp4", false, 9, ~U[2026-03-19 16:31:29Z]] 18:49:51.323 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [9] 18:49:51.324 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-14 14:50:12Z], 9] 18:49:51.326 [debug] QUERY OK source="media_items" db=1.5ms idle=7.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["With my link, you can get 50% off of Nebula. It’s just $30/year, or $2,5/month, at https://go.nebula.tv/religionforbreakfast \nWatch SarahZ's \"Three Dead Girls I Love\": https://nebula.tv/videos/sarahz-three-dead-girls-i-love?ref=religionforbreakfast\n\nThumbnail design by \u2068 @ECHenry \n\nReligion for Breakfast videos take a lot of research and collaboration. Patreon support helps fund editors, scholars, and future episodes. Support us here: https://www.patreon.com/c/religionforbreakfast\n\nSelect imagery/video supplied by Getty Images and Reuters\n\nBefore Islam, Arabs worshipped many gods. Using newly deciphered ancient desert inscriptions, we explore the forgotten religious world of pre-Islamic Arabia: The goddess Allāt, sacrifice, pilgrimage, fate, magic, and the everyday prayers of ordinary people.\n\n00:00 Intro to Safaitic Inscriptions\n3:44 The Goddess Allat (also Rodaw and Dushara)\n8:35 The Gods On Humanity's Side (Shams, Ba'al Samin, the Gadds)\n15:07 Ritual Practice (prayer, pilgrimage, sacrifice, magic)\n25:45 Fate", "The Gods of Pre-Islamic Arabia", "82187395-d266-49aa-a501-cd8c5701d626", 1854, false, "Vfpas9Fn24Q", "https://www.youtube.com/watch?v=Vfpas9Fn24Q", 14, "/downloads/ReligionForBreakfast/2026-05-14 The Gods of Pre-Islamic Arabia/The Gods of Pre-Islamic Arabia [Vfpas9Fn24Q].mp4", false, false, false, 9, [], 1, ~U[2026-05-14 14:50:12Z], ~U[2026-09-16 18:49:51Z], ~U[2026-09-16 18:49:51Z], "With my link, you can get 50% off of Nebula. It’s just $30/year, or $2,5/month, at https://go.nebula.tv/religionforbreakfast \nWatch SarahZ's \"Three Dead Girls I Love\": https://nebula.tv/videos/sarahz-three-dead-girls-i-love?ref=religionforbreakfast\n\nThumbnail design by \u2068 @ECHenry \n\nReligion for Breakfast videos take a lot of research and collaboration. Patreon support helps fund editors, scholars, and future episodes. Support us here: https://www.patreon.com/c/religionforbreakfast\n\nSelect imagery/video supplied by Getty Images and Reuters\n\nBefore Islam, Arabs worshipped many gods. Using newly deciphered ancient desert inscriptions, we explore the forgotten religious world of pre-Islamic Arabia: The goddess Allāt, sacrifice, pilgrimage, fate, magic, and the everyday prayers of ordinary people.\n\n00:00 Intro to Safaitic Inscriptions\n3:44 The Goddess Allat (also Rodaw and Dushara)\n8:35 The Gods On Humanity's Side (Shams, Ba'al Samin, the Gadds)\n15:07 Ritual Practice (prayer, pilgrimage, sacrifice, magic)\n25:45 Fate", "The Gods of Pre-Islamic Arabia", 1854, false, "Vfpas9Fn24Q", "https://www.youtube.com/watch?v=Vfpas9Fn24Q", "/downloads/ReligionForBreakfast/2026-05-14 The Gods of Pre-Islamic Arabia/The Gods of Pre-Islamic Arabia [Vfpas9Fn24Q].mp4", false, 9, ~U[2026-05-14 14:50:12Z]] 18:49:51.327 [debug] QUERY OK source="sources" db=0.4ms queue=0.3ms idle=9.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 18:49:51.328 [debug] QUERY OK source="media_items" db=0.3ms idle=5.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-11 13:06:54Z], 9] 18:49:51.330 [debug] QUERY OK source="media_items" db=1.7ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join our Guided Reading of Rumi's Masnavi: https://www.religiondepartment.com/rumi\n\nAl-Ghazali was one of the greatest Muslim theologians who ever lived, though he almost lost his faith in a quest for certainty.\n\nReligion for Breakfast videos take a lot of research and collaboration. Patreon support helps fund editors, scholars, and future episodes. Support us here: https://www.patreon.com/c/religionforbreakfast\n\nSelect imagery/video supplied by Getty Images and Reuters\n\n00:00 Intro\n00:55 Autobiography: The Deliverance from Error\n11:36 The Revival of the Religious Sciences\n13:39 The Incoherence of the Philosophers\n18:00 Al-Ghazali, Commoners, and Elites\n20:35 The Alchemy of Happiness\n23:29 The Niche of Lights, \"direct experience\" of God, and monism\n30:43 The Legacy of Al-Ghazali", "Al-Ghazali: The Muslim Theologian Who Lost Faith in Theology", "83e457b7-7a8e-4b62-8196-30a92e184105", 2073, false, "CuKJOW-iUYY", "https://www.youtube.com/watch?v=CuKJOW-iUYY", 15, "/downloads/ReligionForBreakfast/2026-08-11 Al-Ghazali: The Muslim Theologian Who Lost Faith in Theology/Al-Ghazali: The Muslim Theologian Who Lost Faith in Theology [CuKJOW-iUYY].mp4", false, false, false, 9, [], 1, ~U[2026-08-11 13:06:54Z], ~U[2026-09-16 18:49:51Z], ~U[2026-09-16 18:49:51Z], "Join our Guided Reading of Rumi's Masnavi: https://www.religiondepartment.com/rumi\n\nAl-Ghazali was one of the greatest Muslim theologians who ever lived, though he almost lost his faith in a quest for certainty.\n\nReligion for Breakfast videos take a lot of research and collaboration. Patreon support helps fund editors, scholars, and future episodes. Support us here: https://www.patreon.com/c/religionforbreakfast\n\nSelect imagery/video supplied by Getty Images and Reuters\n\n00:00 Intro\n00:55 Autobiography: The Deliverance from Error\n11:36 The Revival of the Religious Sciences\n13:39 The Incoherence of the Philosophers\n18:00 Al-Ghazali, Commoners, and Elites\n20:35 The Alchemy of Happiness\n23:29 The Niche of Lights, \"direct experience\" of God, and monism\n30:43 The Legacy of Al-Ghazali", "Al-Ghazali: The Muslim Theologian Who Lost Faith in Theology", 2073, false, "CuKJOW-iUYY", "https://www.youtube.com/watch?v=CuKJOW-iUYY", "/downloads/ReligionForBreakfast/2026-08-11 Al-Ghazali: The Muslim Theologian Who Lost Faith in Theology/Al-Ghazali: The Muslim Theologian Who Lost Faith in Theology [CuKJOW-iUYY].mp4", false, 9, ~U[2026-08-11 13:06:54Z]] 18:49:51.331 [debug] QUERY OK source="sources" db=0.4ms idle=6.9ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-09-16 18:49:51Z], ~U[2026-09-16 18:49:51Z], 9] 18:49:51.332 [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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 18:49:51.333 [debug] QUERY OK source="media_items" db=0.7ms idle=5.1ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 18:49:51.334 [debug] QUERY OK source="media_items" db=0.5ms idle=5.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 18:49:51.340 [debug] QUERY OK source="tasks" db=0.6ms idle=7.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [9493, 9, ~U[2026-09-16 18:49:51Z], ~U[2026-09-16 18:49:51Z]] 18:49:51.341 [info] {"args":{"id":9},"id":9480,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":24984195,"event":"job:stop","queue_time":926507,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 18:49:53.793 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:00.137 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:50:23.794 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:53.795 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:00.138 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:51:23.796 [info] {"source":"oban","duration":888,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:53.798 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:00.139 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:52:23.799 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:53.803 [info] {"source":"oban","duration":2449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:00.140 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:53:23.804 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:53.805 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:00.141 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:54:23.806 [info] {"source":"oban","duration":873,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:53.808 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:00.142 [info] {"source":"oban","duration":187,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:55:23.809 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:53.810 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:00.143 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:56:23.811 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:53.812 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:00.144 [info] {"source":"oban","duration":300,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:57:23.813 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:53.814 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:00.145 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:58:23.816 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:53.817 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:00.146 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 18:59:23.818 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:53.819 [info] {"source":"oban","duration":943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:00.147 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:00:23.821 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:53.822 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:00.149 [info] {"source":"oban","duration":1258,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:01:23.823 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:53.824 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:00.150 [info] {"source":"oban","duration":334,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:02:23.825 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:53.826 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:00.151 [info] {"source":"oban","duration":186,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:03:23.827 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:53.828 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:00.152 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:04:23.829 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:53.830 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:00.153 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:05:23.831 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:53.832 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:00.154 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:06:23.833 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:53.835 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:00.155 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:07:23.836 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:53.837 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:00.156 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:08:23.838 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:53.839 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:00.157 [info] {"source":"oban","duration":178,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:09:23.840 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:53.842 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:00.158 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:10:23.843 [info] {"source":"oban","duration":496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:53.844 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:00.159 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:11:23.845 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:53.846 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:00.160 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:12:23.847 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:53.848 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:00.161 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:13:23.849 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:53.851 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:00.162 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:14:23.852 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:53.853 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:00.163 [info] {"source":"oban","duration":118,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:15:23.854 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:53.855 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:00.164 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:16:23.856 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:53.857 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:00.165 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:17:23.858 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:53.859 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:00.166 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:18:23.860 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:53.861 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:00.167 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:19:23.862 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:53.863 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:00.168 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:20:23.864 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:53.865 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:00.169 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:21:23.866 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:53.867 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:00.170 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:22:23.868 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:53.869 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:00.171 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:23:23.870 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:53.871 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:00.172 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:24:23.872 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:53.873 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:00.173 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:25:23.874 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:53.875 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:00.174 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:26:23.876 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:53.877 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:00.175 [info] {"source":"oban","duration":225,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:27:23.878 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:53.879 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:00.176 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:28:23.880 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:53.881 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:00.177 [info] {"source":"oban","duration":295,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:29:23.882 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:53.883 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:00.178 [info] {"source":"oban","duration":136,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:30:23.884 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:53.885 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:00.179 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:31:23.886 [info] {"source":"oban","duration":836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:53.887 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:00.180 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:32:23.888 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:53.889 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:00.182 [info] {"source":"oban","duration":992,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:33:23.890 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:53.891 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:00.183 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:34:23.893 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:53.894 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:00.184 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:35:23.895 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:53.896 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:00.185 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:36:23.897 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:53.898 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:00.186 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:37:23.899 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:53.901 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:00.187 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:38:23.902 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:53.903 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:00.188 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:39:23.904 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:53.905 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:00.189 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:40:23.906 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:53.907 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:00.190 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:41:23.908 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:53.909 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:00.191 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:42:23.910 [info] {"source":"oban","duration":863,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:53.912 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:00.192 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:43:23.913 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:53.915 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:00.193 [info] {"source":"oban","duration":150,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:44:23.916 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:53.918 [info] {"source":"oban","duration":1076,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:00.194 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:45:23.919 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:53.920 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:00.195 [info] {"source":"oban","duration":301,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:46:23.921 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:53.922 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:00.196 [info] {"source":"oban","duration":255,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:47:23.923 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:53.924 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:00.197 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:48:23.925 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:53.927 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:00.198 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:49:23.928 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:53.929 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:00.199 [info] {"source":"oban","duration":284,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:50:23.930 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:53.931 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:00.200 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:51:23.932 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:53.933 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:00.201 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:52:23.934 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:53.935 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:00.202 [info] {"source":"oban","duration":265,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:53:23.936 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:53.937 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:00.203 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:54:23.938 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:53.939 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:00.204 [info] {"source":"oban","duration":179,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:55:23.940 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:53.941 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:00.205 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:56:23.942 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:53.943 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:00.206 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:57:23.944 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:53.945 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:00.207 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:58:23.946 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:53.947 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:00.208 [info] {"source":"oban","duration":185,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 19:59:23.948 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:53.950 [info] {"source":"oban","duration":830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:00.209 [info] {"source":"oban","duration":358,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:00:23.951 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:53.952 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:00.210 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:01:23.953 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:53.954 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:00.211 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:02:23.955 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:53.956 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:00.212 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:03:23.957 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:53.958 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:00.213 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:04:23.961 [info] {"source":"oban","duration":1797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:53.963 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:00.214 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:05:23.964 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:53.965 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:00.215 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:06:23.966 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:53.967 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:00.216 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:07:23.968 [info] {"source":"oban","duration":855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:53.970 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:00.219 [info] {"source":"oban","duration":416,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:08:23.971 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:53.972 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:00.220 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:09:23.973 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:53.975 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:00.221 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:10:23.976 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:53.977 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:00.222 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:11:23.978 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:53.979 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:00.223 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:12:23.980 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:53.981 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:00.224 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:13:23.982 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:53.983 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:00.225 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:14:23.984 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:53.985 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:00.226 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:15:23.986 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:53.987 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:00.227 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:16:23.988 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:53.989 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:00.228 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:17:23.992 [info] {"source":"oban","duration":2467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 20:17:53.995 [info] {"source":"oban","duration":2204,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:00.229 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:18:23.996 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:53.997 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:00.230 [info] {"source":"oban","duration":229,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:19:23.998 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:53.999 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:00.231 [info] {"source":"oban","duration":182,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:20:24.000 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:54.001 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:00.232 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:21:24.002 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:54.004 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:00.233 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:22:24.005 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:54.007 [info] {"source":"oban","duration":1304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:00.234 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:23:24.008 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:54.009 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:00.235 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:24:24.010 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:54.011 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:00.236 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:25:24.012 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:54.013 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:00.237 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:26:24.014 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:54.015 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:00.238 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:27:24.016 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:54.017 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:00.239 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:28:24.018 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:54.019 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:00.240 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:29:24.020 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:54.021 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:00.241 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:30:24.022 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:54.023 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:00.242 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:31:24.024 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:54.025 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:00.243 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:32:24.026 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:54.027 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:00.244 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:33:24.028 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:54.029 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:00.245 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:34:24.030 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:54.031 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:00.246 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:35:24.032 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:54.033 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:00.247 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:36:24.034 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:54.035 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:00.248 [info] {"source":"oban","duration":226,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:37:24.036 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:54.037 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:00.249 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:38:24.038 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:54.039 [info] {"source":"oban","duration":511,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:00.250 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:39:24.040 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:54.041 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:00.251 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:40:24.043 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:54.044 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:00.252 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:41:24.045 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:54.046 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:00.253 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:42:24.047 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:54.049 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:00.254 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:43:24.050 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:54.051 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:00.255 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:44:24.052 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:54.053 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:00.256 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:45:24.054 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:54.055 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:00.257 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:46:24.056 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:54.058 [info] {"source":"oban","duration":1304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:00.258 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:47:20.620 [info] {"args":{"id":11},"id":9483,"meta":{},"system_time":1789591640620425315,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 20:47:20.622 [debug] QUERY OK source="sources" db=0.2ms idle=826.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:20.661 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=866.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:47:20.667 [debug] QUERY OK source="media_items" db=5.8ms idle=867.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")))) [11] 20:47:20.668 [debug] QUERY OK source="media_items" db=1.0ms idle=57.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [11] 20:47:20.669 [debug] QUERY OK source="media_profiles" db=0.1ms idle=48.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:47:20.669 [debug] QUERY OK source="settings" db=0.1ms idle=48.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:47:20.670 [debug] QUERY OK source="settings" db=0.0ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:47:20.671 [debug] QUERY OK source="media_items" db=0.6ms idle=3.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [11] 20:47:20.672 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 20:47:20.673 [debug] Current batch of media processed. Will check again in 1000ms 20:47:20.673 [debug] QUERY OK source="settings" db=0.2ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:47:20.673 [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 [] 20:47:20.674 [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 [] 20:47:20.674 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Aburayan0704 --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/%(channel)S/%(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[format_note*=original]/bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/4e/ea/4eea454b48035650adb72b5628a9a631cc399baefa3004fc928886cd3e115e16.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/c5/ec/c5ecb13fc4e1e8b8a1ceb8117ad6234af7f32beaad2306c8520d0808e736afc7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:47:21.674 [debug] Current batch of media processed. Will check again in 1000ms 20:47:22.675 [debug] Current batch of media processed. Will check again in 1000ms 20:47:23.676 [debug] Current batch of media processed. Will check again in 1000ms 20:47:24.059 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:24.677 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Einleitung und Vorwort", "duration" => 1299, "filename" => "/downloads/Abu Rayan/2026-09-13 Madarij al- Salikin, die Reise des Herzens zu Allah Teil 1/Madarij al- Salikin, die Reise des Herzens zu Allah Teil 1 [0vyMscAvdgs].mp4", "id" => "0vyMscAvdgs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0vyMscAvdgs", "playlist_index" => 1, "timestamp" => 1789333595, "title" => "Madarij al- Salikin, die Reise des Herzens zu Allah Teil 1", "upload_date" => "20260913"} 20:47:24.678 [debug] QUERY OK source="sources" db=0.4ms idle=883.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:24.679 [debug] QUERY OK source="sources" db=0.2ms idle=884.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:24.679 [debug] QUERY OK source="media_items" db=0.3ms idle=885.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-13 21:06:35Z], 11] 20:47:24.683 [debug] QUERY OK source="media_items" db=3.5ms idle=620.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Einleitung und Vorwort", "Madarij al- Salikin, die Reise des Herzens zu Allah Teil 1", "d96e4962-9363-4df2-b37e-7a46d63873cc", 1299, false, "0vyMscAvdgs", "https://www.youtube.com/watch?v=0vyMscAvdgs", 1, "/downloads/Abu Rayan/2026-09-13 Madarij al- Salikin, die Reise des Herzens zu Allah Teil 1/Madarij al- Salikin, die Reise des Herzens zu Allah Teil 1 [0vyMscAvdgs].mp4", false, false, false, 11, [], 98, ~U[2026-09-13 21:06:35Z], ~U[2026-09-16 20:47:24Z], ~U[2026-09-16 20:47:24Z], "Einleitung und Vorwort", "Madarij al- Salikin, die Reise des Herzens zu Allah Teil 1", 1299, false, "0vyMscAvdgs", "https://www.youtube.com/watch?v=0vyMscAvdgs", "/downloads/Abu Rayan/2026-09-13 Madarij al- Salikin, die Reise des Herzens zu Allah Teil 1/Madarij al- Salikin, die Reise des Herzens zu Allah Teil 1 [0vyMscAvdgs].mp4", false, 11, ~U[2026-09-13 21:06:35Z]] 20:47:24.684 [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" = ?) [11] 20:47:24.684 [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" = ?) [2] 20:47:24.685 [debug] QUERY OK source="media_items" db=0.2ms idle=6.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [114150] 20:47:24.685 [debug] Current batch of media processed. Will check again in 1000ms 20:47:25.686 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "", "duration" => 1096, "filename" => "/downloads/Abu Rayan/2026-09-10 Die Schwäche des Glaubens Teil 33/Die Schwäche des Glaubens Teil 33 [Y6RaPYOjYhg].mp4", "id" => "Y6RaPYOjYhg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Y6RaPYOjYhg", "playlist_index" => 2, "timestamp" => 1789073516, "title" => "Die Schwäche des Glaubens Teil 33", "upload_date" => "20260910"} 20:47:25.686 [debug] QUERY OK source="sources" db=0.2ms idle=1002.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:25.687 [debug] QUERY OK source="sources" db=0.1ms idle=1002.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:25.688 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-10 20:51:56Z], 11] 20:47:25.689 [debug] QUERY OK source="media_items" db=0.6ms idle=1003.1ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die Schwäche des Glaubens Teil 33", "f71821fe-6a18-4326-8594-63ef5b8de2c8", 1096, false, "Y6RaPYOjYhg", "https://www.youtube.com/watch?v=Y6RaPYOjYhg", 2, "/downloads/Abu Rayan/2026-09-10 Die Schwäche des Glaubens Teil 33/Die Schwäche des Glaubens Teil 33 [Y6RaPYOjYhg].mp4", false, false, false, 11, [], 98, ~U[2026-09-10 20:51:56Z], ~U[2026-09-16 20:47:25Z], ~U[2026-09-16 20:47:25Z], "", "Die Schwäche des Glaubens Teil 33", 1096, false, "Y6RaPYOjYhg", "https://www.youtube.com/watch?v=Y6RaPYOjYhg", "/downloads/Abu Rayan/2026-09-10 Die Schwäche des Glaubens Teil 33/Die Schwäche des Glaubens Teil 33 [Y6RaPYOjYhg].mp4", false, 11, ~U[2026-09-10 20:51:56Z]] 20:47:25.690 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [11] 20:47:25.690 [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] 20:47:25.691 [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 [114151] 20:47:25.691 [debug] Current batch of media processed. Will check again in 1000ms 20:47:26.692 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "🕌 Die heutige Freitagspredigt in Eupen\n\n📚 Der Stellenwert des Wissens im Islam\n🌱 Das Streben nach Wissen und das Handeln danach\n📢 Die Verantwortung, das Wissen durch Daʿwa weiterzugeben\n⚖️ Und besonders wichtig in unserer heutigen Zeit: religiöses Wissen mit weltlichem Wissen verbinden.\n\nDenn Wissen ist nicht nur eine Auszeichnung – es ist eine Verantwortung.", "duration" => 1796, "filename" => "/downloads/Abu Rayan/2026-09-04 🕌 Freitagspredigt in Eupen 📚 Der Stellenwert des Wissens im Islam🌱/🕌 Freitagspredigt in Eupen 📚 Der Stellenwert des Wissens im Islam🌱 [9doU_ZnFkSI].mp4", "id" => "9doU_ZnFkSI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9doU_ZnFkSI", "playlist_index" => 3, "timestamp" => 1788528735, "title" => "🕌 Freitagspredigt in Eupen 📚 Der Stellenwert des Wissens im Islam🌱", "upload_date" => "20260904"} 20:47:26.693 [debug] QUERY OK source="sources" db=0.3ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:26.693 [debug] QUERY OK source="sources" db=0.2ms queue=0.3ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:26.694 [debug] QUERY OK source="media_items" db=0.2ms idle=1003.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-04 13:32:15Z], 11] 20:47:26.695 [debug] QUERY OK source="media_items" db=0.8ms idle=1003.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🕌 Die heutige Freitagspredigt in Eupen\n\n📚 Der Stellenwert des Wissens im Islam\n🌱 Das Streben nach Wissen und das Handeln danach\n📢 Die Verantwortung, das Wissen durch Daʿwa weiterzugeben\n⚖️ Und besonders wichtig in unserer heutigen Zeit: religiöses Wissen mit weltlichem Wissen verbinden.\n\nDenn Wissen ist nicht nur eine Auszeichnung – es ist eine Verantwortung.", "🕌 Freitagspredigt in Eupen 📚 Der Stellenwert des Wissens im Islam🌱", "f955c03a-4326-4d8c-b2da-528ccea709c9", 1796, false, "9doU_ZnFkSI", "https://www.youtube.com/watch?v=9doU_ZnFkSI", 3, "/downloads/Abu Rayan/2026-09-04 🕌 Freitagspredigt in Eupen 📚 Der Stellenwert des Wissens im Islam🌱/🕌 Freitagspredigt in Eupen 📚 Der Stellenwert des Wissens im Islam🌱 [9doU_ZnFkSI].mp4", false, false, false, 11, [], 98, ~U[2026-09-04 13:32:15Z], ~U[2026-09-16 20:47:26Z], ~U[2026-09-16 20:47:26Z], "🕌 Die heutige Freitagspredigt in Eupen\n\n📚 Der Stellenwert des Wissens im Islam\n🌱 Das Streben nach Wissen und das Handeln danach\n📢 Die Verantwortung, das Wissen durch Daʿwa weiterzugeben\n⚖️ Und besonders wichtig in unserer heutigen Zeit: religiöses Wissen mit weltlichem Wissen verbinden.\n\nDenn Wissen ist nicht nur eine Auszeichnung – es ist eine Verantwortung.", "🕌 Freitagspredigt in Eupen 📚 Der Stellenwert des Wissens im Islam🌱", 1796, false, "9doU_ZnFkSI", "https://www.youtube.com/watch?v=9doU_ZnFkSI", "/downloads/Abu Rayan/2026-09-04 🕌 Freitagspredigt in Eupen 📚 Der Stellenwert des Wissens im Islam🌱/🕌 Freitagspredigt in Eupen 📚 Der Stellenwert des Wissens im Islam🌱 [9doU_ZnFkSI].mp4", false, 11, ~U[2026-09-04 13:32:15Z]] 20:47:26.696 [debug] QUERY OK source="sources" db=0.2ms idle=79.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:26.696 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 20:47:26.697 [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 [114152] 20:47:26.697 [debug] Current batch of media processed. Will check again in 1000ms 20:47:27.697 [debug] Current batch of media processed. Will check again in 1000ms 20:47:28.699 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Dhikr", "duration" => 1236, "filename" => "/downloads/Abu Rayan/2026-09-03 Die Schwäche des Glaubens Teil 31/Die Schwäche des Glaubens Teil 31 [dDOtohrDgAE].mp4", "id" => "dDOtohrDgAE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dDOtohrDgAE", "playlist_index" => 4, "timestamp" => 1788468585, "title" => "Die Schwäche des Glaubens Teil 31", "upload_date" => "20260903"} 20:47:28.699 [debug] QUERY OK source="sources" db=0.3ms idle=905.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:28.700 [debug] QUERY OK source="sources" db=0.2ms idle=905.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:28.700 [debug] QUERY OK source="media_items" db=0.3ms idle=906.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-03 20:49:45Z], 11] 20:47:28.703 [debug] QUERY OK source="media_items" db=2.0ms idle=907.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dhikr", "Die Schwäche des Glaubens Teil 31", "3deff5fa-cc87-4325-9964-0bdaa0af12ff", 1236, false, "dDOtohrDgAE", "https://www.youtube.com/watch?v=dDOtohrDgAE", 4, "/downloads/Abu Rayan/2026-09-03 Die Schwäche des Glaubens Teil 31/Die Schwäche des Glaubens Teil 31 [dDOtohrDgAE].mp4", false, false, false, 11, [], 98, ~U[2026-09-03 20:49:45Z], ~U[2026-09-16 20:47:28Z], ~U[2026-09-16 20:47:28Z], "Dhikr", "Die Schwäche des Glaubens Teil 31", 1236, false, "dDOtohrDgAE", "https://www.youtube.com/watch?v=dDOtohrDgAE", "/downloads/Abu Rayan/2026-09-03 Die Schwäche des Glaubens Teil 31/Die Schwäche des Glaubens Teil 31 [dDOtohrDgAE].mp4", false, 11, ~U[2026-09-03 20:49:45Z]] 20:47:28.703 [debug] QUERY OK source="sources" db=0.2ms idle=82.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:28.704 [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" = ?) [2] 20:47:28.704 [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 [114153] 20:47:28.705 [debug] Current batch of media processed. Will check again in 1000ms 20:47:29.706 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Das Reagieren auf die Zeichen Allahs im Universum", "duration" => 938, "filename" => "/downloads/Abu Rayan/2026-08-27 Die Schwäche des Glaubens Teil 30/Die Schwäche des Glaubens Teil 30 [Q4lq320voxw].mp4", "id" => "Q4lq320voxw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Q4lq320voxw", "playlist_index" => 5, "timestamp" => 1787864554, "title" => "Die Schwäche des Glaubens Teil 30", "upload_date" => "20260827"} 20:47:29.706 [debug] QUERY OK source="sources" db=0.3ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:29.707 [debug] QUERY OK source="sources" db=0.1ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:29.707 [debug] QUERY OK source="media_items" db=0.2ms idle=1003.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-27 21:02:34Z], 11] 20:47:29.710 [debug] QUERY OK source="media_items" db=2.5ms idle=1003.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Das Reagieren auf die Zeichen Allahs im Universum", "Die Schwäche des Glaubens Teil 30", "bc7c0506-0b89-4844-aa41-645b5ba967a3", 938, false, "Q4lq320voxw", "https://www.youtube.com/watch?v=Q4lq320voxw", 5, "/downloads/Abu Rayan/2026-08-27 Die Schwäche des Glaubens Teil 30/Die Schwäche des Glaubens Teil 30 [Q4lq320voxw].mp4", false, false, false, 11, [], 98, ~U[2026-08-27 21:02:34Z], ~U[2026-09-16 20:47:29Z], ~U[2026-09-16 20:47:29Z], "Das Reagieren auf die Zeichen Allahs im Universum", "Die Schwäche des Glaubens Teil 30", 938, false, "Q4lq320voxw", "https://www.youtube.com/watch?v=Q4lq320voxw", "/downloads/Abu Rayan/2026-08-27 Die Schwäche des Glaubens Teil 30/Die Schwäche des Glaubens Teil 30 [Q4lq320voxw].mp4", false, 11, ~U[2026-08-27 21:02:34Z]] 20:47:29.711 [debug] QUERY OK source="sources" db=0.2ms idle=89.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:29.711 [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" = ?) [2] 20:47:29.712 [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 [114154] 20:47:29.712 [debug] Current batch of media processed. Will check again in 1000ms 20:47:30.713 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten ﷺ\n\nIn dieser Freitagspredigt in Düren geht es um den Maulid an-Nabī ﷺ, die Geburt und das Leben unseres geliebten Propheten Muhammad ﷺ.\n\nDer arabische Teil der Predigt wird ab Minute 12 ins Deutsche übersetzt, sodass auch deutschsprachige Zuschauer den Inhalt vollständig verstehen können.\n\nMöge Allah uns die Liebe zum Propheten ﷺ schenken, uns an seiner Sunnah festhalten lassen und uns am Tag der Auferstehung zu seinen Gefährten gehören lassen.\n\nAb Minute 12: Arabisch → Deutsch 🇩🇪\n\n#Freitagspredigt #Khutba #Maulid #ProphetMuhammad #Islam #Düren #Sunnah", "duration" => 1459, "filename" => "/downloads/Abu Rayan/2026-08-21 Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten Arabisch⧸Deutsch ab Minute 12/Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten Arabisch⧸Deutsch ab Minute 12 [1HZ8t4WiQVI].mp4", "id" => "1HZ8t4WiQVI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1HZ8t4WiQVI", "playlist_index" => 6, "timestamp" => 1787319038, "title" => "Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten Arabisch/Deutsch ab Minute 12", "upload_date" => "20260821"} 20:47:30.714 [debug] QUERY OK source="sources" db=0.4ms idle=1002.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:30.715 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:30.716 [debug] QUERY OK source="media_items" db=0.7ms idle=1003.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-21 13:30:38Z], 11] 20:47:30.730 [debug] QUERY OK source="media_items" db=13.4ms queue=0.4ms idle=1004.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten ﷺ\n\nIn dieser Freitagspredigt in Düren geht es um den Maulid an-Nabī ﷺ, die Geburt und das Leben unseres geliebten Propheten Muhammad ﷺ.\n\nDer arabische Teil der Predigt wird ab Minute 12 ins Deutsche übersetzt, sodass auch deutschsprachige Zuschauer den Inhalt vollständig verstehen können.\n\nMöge Allah uns die Liebe zum Propheten ﷺ schenken, uns an seiner Sunnah festhalten lassen und uns am Tag der Auferstehung zu seinen Gefährten gehören lassen.\n\nAb Minute 12: Arabisch → Deutsch 🇩🇪\n\n#Freitagspredigt #Khutba #Maulid #ProphetMuhammad #Islam #Düren #Sunnah", "Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten Arabisch/Deutsch ab Minute 12", "7679e9d0-e413-4a01-ab90-2adbaff32079", 1459, false, "1HZ8t4WiQVI", "https://www.youtube.com/watch?v=1HZ8t4WiQVI", 6, "/downloads/Abu Rayan/2026-08-21 Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten Arabisch⧸Deutsch ab Minute 12/Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten Arabisch⧸Deutsch ab Minute 12 [1HZ8t4WiQVI].mp4", false, false, false, 11, [], 98, ~U[2026-08-21 13:30:38Z], ~U[2026-09-16 20:47:30Z], ~U[2026-09-16 20:47:30Z], "Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten ﷺ\n\nIn dieser Freitagspredigt in Düren geht es um den Maulid an-Nabī ﷺ, die Geburt und das Leben unseres geliebten Propheten Muhammad ﷺ.\n\nDer arabische Teil der Predigt wird ab Minute 12 ins Deutsche übersetzt, sodass auch deutschsprachige Zuschauer den Inhalt vollständig verstehen können.\n\nMöge Allah uns die Liebe zum Propheten ﷺ schenken, uns an seiner Sunnah festhalten lassen und uns am Tag der Auferstehung zu seinen Gefährten gehören lassen.\n\nAb Minute 12: Arabisch → Deutsch 🇩🇪\n\n#Freitagspredigt #Khutba #Maulid #ProphetMuhammad #Islam #Düren #Sunnah", "Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten Arabisch/Deutsch ab Minute 12", 1459, false, "1HZ8t4WiQVI", "https://www.youtube.com/watch?v=1HZ8t4WiQVI", "/downloads/Abu Rayan/2026-08-21 Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten Arabisch⧸Deutsch ab Minute 12/Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten Arabisch⧸Deutsch ab Minute 12 [1HZ8t4WiQVI].mp4", false, 11, ~U[2026-08-21 13:30:38Z]] 20:47:30.731 [debug] QUERY OK source="sources" db=0.2ms idle=108.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:30.731 [debug] QUERY OK source="media_profiles" db=0.1ms idle=17.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 20:47:30.732 [debug] QUERY OK source="media_items" db=0.2ms idle=16.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [114155] 20:47:30.732 [debug] Current batch of media processed. Will check again in 1000ms 20:47:31.733 [debug] Current batch of media processed. Will check again in 1000ms 20:47:32.734 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "", "duration" => 970, "filename" => "/downloads/Abu Rayan/2026-08-20 Die Schwäche des Glaubens Teil 29/Die Schwäche des Glaubens Teil 29 [f3vZC9D8qKA].mp4", "id" => "f3vZC9D8qKA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=f3vZC9D8qKA", "playlist_index" => 7, "timestamp" => 1787261276, "title" => "Die Schwäche des Glaubens Teil 29", "upload_date" => "20260820"} 20:47:32.734 [debug] QUERY OK source="sources" db=0.2ms idle=940.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:32.735 [debug] QUERY OK source="sources" db=0.1ms idle=940.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:32.735 [debug] QUERY OK source="media_items" db=0.4ms idle=941.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-20 21:27:56Z], 11] 20:47:32.739 [debug] QUERY OK source="media_items" db=2.9ms idle=942.1ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die Schwäche des Glaubens Teil 29", "029b809f-f8d1-49c0-a874-7b85224d8180", 970, false, "f3vZC9D8qKA", "https://www.youtube.com/watch?v=f3vZC9D8qKA", 7, "/downloads/Abu Rayan/2026-08-20 Die Schwäche des Glaubens Teil 29/Die Schwäche des Glaubens Teil 29 [f3vZC9D8qKA].mp4", false, false, false, 11, [], 98, ~U[2026-08-20 21:27:56Z], ~U[2026-09-16 20:47:32Z], ~U[2026-09-16 20:47:32Z], "", "Die Schwäche des Glaubens Teil 29", 970, false, "f3vZC9D8qKA", "https://www.youtube.com/watch?v=f3vZC9D8qKA", "/downloads/Abu Rayan/2026-08-20 Die Schwäche des Glaubens Teil 29/Die Schwäche des Glaubens Teil 29 [f3vZC9D8qKA].mp4", false, 11, ~U[2026-08-20 21:27:56Z]] 20:47:32.739 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=114.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:32.740 [debug] QUERY OK source="media_profiles" db=0.6ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 20:47:32.741 [debug] QUERY OK source="media_items" db=0.6ms 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 [114156] 20:47:32.742 [debug] Current batch of media processed. Will check again in 1000ms 20:47:33.743 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "", "duration" => 2747, "filename" => "/downloads/Abu Rayan/2026-07-03 Bist du bereit für die Reise?/Bist du bereit für die Reise? [HdQQqeJ7bbs].mp4", "id" => "HdQQqeJ7bbs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=HdQQqeJ7bbs", "playlist_index" => 8, "timestamp" => 1783117513, "title" => "Bist du bereit für die Reise?", "upload_date" => "20260703"} 20:47:33.743 [debug] QUERY OK source="sources" db=0.3ms idle=1004.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:33.744 [debug] QUERY OK source="sources" db=0.1ms idle=1004.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:33.744 [debug] QUERY OK source="media_items" db=0.2ms idle=1003.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-03 22:25:13Z], 11] 20:47:33.748 [debug] QUERY OK source="media_items" db=2.9ms idle=1003.0ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Bist du bereit für die Reise?", "cbcc9e2c-f244-46d4-b992-cb2c5628ddcd", 2747, false, "HdQQqeJ7bbs", "https://www.youtube.com/watch?v=HdQQqeJ7bbs", 8, "/downloads/Abu Rayan/2026-07-03 Bist du bereit für die Reise?/Bist du bereit für die Reise? [HdQQqeJ7bbs].mp4", false, false, false, 11, [], 97, ~U[2026-07-03 22:25:13Z], ~U[2026-09-16 20:47:33Z], ~U[2026-09-16 20:47:33Z], "", "Bist du bereit für die Reise?", 2747, false, "HdQQqeJ7bbs", "https://www.youtube.com/watch?v=HdQQqeJ7bbs", "/downloads/Abu Rayan/2026-07-03 Bist du bereit für die Reise?/Bist du bereit für die Reise? [HdQQqeJ7bbs].mp4", false, 11, ~U[2026-07-03 22:25:13Z]] 20:47:33.748 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [11] 20:47:33.749 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 20:47:33.749 [debug] QUERY OK source="media_items" db=0.3ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [114157] 20:47:33.749 [debug] Current batch of media processed. Will check again in 1000ms 20:47:34.751 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 1868, "filename" => "/downloads/Abu Rayan/2026-07-03 Freitagspredigt in Eschweiler von heute . Alles was du für deine Reise wissen musst/Freitagspredigt in Eschweiler von heute . Alles was du für deine Reise wissen musst [jOnWlIWqezs].mp4", "id" => "jOnWlIWqezs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jOnWlIWqezs", "playlist_index" => 9, "timestamp" => 1783091760, "title" => "Freitagspredigt in Eschweiler von heute . Alles was du für deine Reise wissen musst", "upload_date" => "20260703"} 20:47:34.751 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:34.752 [debug] QUERY OK source="sources" db=0.1ms idle=1003.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:34.752 [debug] QUERY OK source="media_items" db=0.2ms idle=1003.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-03 15:16:00Z], 11] 20:47:34.755 [debug] QUERY OK source="media_items" db=2.0ms idle=1003.2ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Freitagspredigt in Eschweiler von heute . Alles was du für deine Reise wissen musst", "33ec08cc-916b-4d45-b69d-592d73e97060", 1868, false, "jOnWlIWqezs", "https://www.youtube.com/watch?v=jOnWlIWqezs", 9, "/downloads/Abu Rayan/2026-07-03 Freitagspredigt in Eschweiler von heute . Alles was du für deine Reise wissen musst/Freitagspredigt in Eschweiler von heute . Alles was du für deine Reise wissen musst [jOnWlIWqezs].mp4", false, false, false, 11, [], 97, ~U[2026-07-03 15:16:00Z], ~U[2026-09-16 20:47:34Z], ~U[2026-09-16 20:47:34Z], "", "Freitagspredigt in Eschweiler von heute . Alles was du für deine Reise wissen musst", 1868, false, "jOnWlIWqezs", "https://www.youtube.com/watch?v=jOnWlIWqezs", "/downloads/Abu Rayan/2026-07-03 Freitagspredigt in Eschweiler von heute . Alles was du für deine Reise wissen musst/Freitagspredigt in Eschweiler von heute . Alles was du für deine Reise wissen musst [jOnWlIWqezs].mp4", false, 11, ~U[2026-07-03 15:16:00Z]] 20:47:34.755 [debug] QUERY OK source="sources" db=0.2ms idle=128.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:34.756 [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] 20:47:34.756 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [114158] 20:47:34.756 [debug] Current batch of media processed. Will check again in 1000ms 20:47:35.758 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "", "duration" => 1230, "filename" => "/downloads/Abu Rayan/2026-06-18 Die Schwäche des Glaubens Teil 28/Die Schwäche des Glaubens Teil 28 [3xgJBfW3JLE].mp4", "id" => "3xgJBfW3JLE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3xgJBfW3JLE", "playlist_index" => 10, "timestamp" => 1781821814, "title" => "Die Schwäche des Glaubens Teil 28", "upload_date" => "20260618"} 20:47:35.758 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:35.759 [debug] QUERY OK source="sources" db=0.1ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:35.759 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.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-18 22:30:14Z], 11] 20:47:35.762 [debug] QUERY OK source="media_items" db=2.2ms idle=1003.2ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die Schwäche des Glaubens Teil 28", "157cc2c4-3310-446d-ab9c-9556a1acf029", 1230, false, "3xgJBfW3JLE", "https://www.youtube.com/watch?v=3xgJBfW3JLE", 10, "/downloads/Abu Rayan/2026-06-18 Die Schwäche des Glaubens Teil 28/Die Schwäche des Glaubens Teil 28 [3xgJBfW3JLE].mp4", false, false, false, 11, [], 98, ~U[2026-06-18 22:30:14Z], ~U[2026-09-16 20:47:35Z], ~U[2026-09-16 20:47:35Z], "", "Die Schwäche des Glaubens Teil 28", 1230, false, "3xgJBfW3JLE", "https://www.youtube.com/watch?v=3xgJBfW3JLE", "/downloads/Abu Rayan/2026-06-18 Die Schwäche des Glaubens Teil 28/Die Schwäche des Glaubens Teil 28 [3xgJBfW3JLE].mp4", false, 11, ~U[2026-06-18 22:30:14Z]] 20:47:35.763 [debug] QUERY OK source="sources" db=0.3ms idle=134.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:35.763 [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" = ?) [2] 20:47:35.764 [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 [114159] 20:47:35.764 [debug] Current batch of media processed. Will check again in 1000ms 20:47:36.765 [debug] Current batch of media processed. Will check again in 1000ms 20:47:37.766 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "7. Die Angst vor einem schlechten Ende", "duration" => 1320, "filename" => "/downloads/Abu Rayan/2026-06-11 Die Schwäche des Glaubens, Teil 27/Die Schwäche des Glaubens, Teil 27 [7Vzzw_qmIBg].mp4", "id" => "7Vzzw_qmIBg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7Vzzw_qmIBg", "playlist_index" => 11, "timestamp" => 1781215378, "title" => "Die Schwäche des Glaubens, Teil 27", "upload_date" => "20260611"} 20:47:37.766 [debug] QUERY OK source="sources" db=0.2ms idle=972.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:37.767 [debug] QUERY OK source="sources" db=0.2ms idle=972.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:37.767 [debug] QUERY OK source="media_items" db=0.2ms idle=973.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-11 22:02:58Z], 11] 20:47:37.770 [debug] QUERY OK source="media_items" db=2.1ms idle=973.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["7. Die Angst vor einem schlechten Ende", "Die Schwäche des Glaubens, Teil 27", "43a71479-e5c0-4f0e-abac-4ad34099b65f", 1320, false, "7Vzzw_qmIBg", "https://www.youtube.com/watch?v=7Vzzw_qmIBg", 11, "/downloads/Abu Rayan/2026-06-11 Die Schwäche des Glaubens, Teil 27/Die Schwäche des Glaubens, Teil 27 [7Vzzw_qmIBg].mp4", false, false, false, 11, [], 98, ~U[2026-06-11 22:02:58Z], ~U[2026-09-16 20:47:37Z], ~U[2026-09-16 20:47:37Z], "7. Die Angst vor einem schlechten Ende", "Die Schwäche des Glaubens, Teil 27", 1320, false, "7Vzzw_qmIBg", "https://www.youtube.com/watch?v=7Vzzw_qmIBg", "/downloads/Abu Rayan/2026-06-11 Die Schwäche des Glaubens, Teil 27/Die Schwäche des Glaubens, Teil 27 [7Vzzw_qmIBg].mp4", false, 11, ~U[2026-06-11 22:02:58Z]] 20:47:37.770 [debug] QUERY OK source="sources" db=0.2ms idle=140.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:37.771 [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] 20:47:37.771 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [114160] 20:47:37.771 [debug] Current batch of media processed. Will check again in 1000ms 20:47:38.773 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "", "duration" => 1275, "filename" => "/downloads/Abu Rayan/2026-06-04 Die Schwäche des Glaubens, Teil 26/Die Schwäche des Glaubens, Teil 26 [yvFHScHQJZ8].mp4", "id" => "yvFHScHQJZ8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yvFHScHQJZ8", "playlist_index" => 12, "timestamp" => 1780610790, "title" => "Die Schwäche des Glaubens, Teil 26", "upload_date" => "20260604"} 20:47:38.773 [debug] QUERY OK source="sources" db=0.2ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:38.774 [debug] QUERY OK source="sources" db=0.1ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:38.774 [debug] QUERY OK source="media_items" db=0.2ms idle=1003.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-04 22:06:30Z], 11] 20:47:38.777 [debug] QUERY OK source="media_items" db=2.3ms idle=1003.2ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die Schwäche des Glaubens, Teil 26", "ed904688-4b49-404d-a72c-8d2574144579", 1275, false, "yvFHScHQJZ8", "https://www.youtube.com/watch?v=yvFHScHQJZ8", 12, "/downloads/Abu Rayan/2026-06-04 Die Schwäche des Glaubens, Teil 26/Die Schwäche des Glaubens, Teil 26 [yvFHScHQJZ8].mp4", false, false, false, 11, [], 98, ~U[2026-06-04 22:06:30Z], ~U[2026-09-16 20:47:38Z], ~U[2026-09-16 20:47:38Z], "", "Die Schwäche des Glaubens, Teil 26", 1275, false, "yvFHScHQJZ8", "https://www.youtube.com/watch?v=yvFHScHQJZ8", "/downloads/Abu Rayan/2026-06-04 Die Schwäche des Glaubens, Teil 26/Die Schwäche des Glaubens, Teil 26 [yvFHScHQJZ8].mp4", false, 11, ~U[2026-06-04 22:06:30Z]] 20:47:38.778 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=147.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:38.778 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 20:47:38.779 [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 [114161] 20:47:38.779 [debug] Current batch of media processed. Will check again in 1000ms 20:47:39.780 [debug] Current batch of media processed. Will check again in 1000ms 20:47:40.781 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 1817, "filename" => "/downloads/Abu Rayan/2026-05-29 Freitagspredigt in Düren. Der Vorzug vom Dhikr (Arabisch⧸Deutsch ab Minute12_50)/Freitagspredigt in Düren. Der Vorzug vom Dhikr (Arabisch⧸Deutsch ab Minute12_50) [FVF6JNDMScI].mp4", "id" => "FVF6JNDMScI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=FVF6JNDMScI", "playlist_index" => 13, "timestamp" => 1780072752, "title" => "Freitagspredigt in Düren. Der Vorzug vom Dhikr (Arabisch/Deutsch ab Minute12:50)", "upload_date" => "20260529"} 20:47:40.781 [debug] QUERY OK source="sources" db=0.2ms idle=987.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:40.782 [debug] QUERY OK source="sources" db=0.2ms idle=987.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:40.782 [debug] QUERY OK source="media_items" db=0.2ms idle=988.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-29 16:39:12Z], 11] 20:47:40.785 [debug] QUERY OK source="media_items" db=1.9ms idle=989.1ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Freitagspredigt in Düren. Der Vorzug vom Dhikr (Arabisch/Deutsch ab Minute12:50)", "d2c1385e-737d-424a-8375-f3751f4ef89c", 1817, false, "FVF6JNDMScI", "https://www.youtube.com/watch?v=FVF6JNDMScI", 13, "/downloads/Abu Rayan/2026-05-29 Freitagspredigt in Düren. Der Vorzug vom Dhikr (Arabisch⧸Deutsch ab Minute12_50)/Freitagspredigt in Düren. Der Vorzug vom Dhikr (Arabisch⧸Deutsch ab Minute12_50) [FVF6JNDMScI].mp4", false, false, false, 11, [], 98, ~U[2026-05-29 16:39:12Z], ~U[2026-09-16 20:47:40Z], ~U[2026-09-16 20:47:40Z], "", "Freitagspredigt in Düren. Der Vorzug vom Dhikr (Arabisch/Deutsch ab Minute12:50)", 1817, false, "FVF6JNDMScI", "https://www.youtube.com/watch?v=FVF6JNDMScI", "/downloads/Abu Rayan/2026-05-29 Freitagspredigt in Düren. Der Vorzug vom Dhikr (Arabisch⧸Deutsch ab Minute12_50)/Freitagspredigt in Düren. Der Vorzug vom Dhikr (Arabisch⧸Deutsch ab Minute12_50) [FVF6JNDMScI].mp4", false, 11, ~U[2026-05-29 16:39:12Z]] 20:47:40.785 [debug] QUERY OK source="sources" db=0.2ms idle=152.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:40.786 [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] 20:47:40.786 [debug] QUERY OK source="media_items" db=0.3ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [114162] 20:47:40.787 [debug] Current batch of media processed. Will check again in 1000ms 20:47:41.788 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "", "duration" => 1201, "filename" => "/downloads/Abu Rayan/2026-05-21 Die Schwäche des Glaubens, Teil 25/Die Schwäche des Glaubens, Teil 25 [iPvrAmHf96Q].mp4", "id" => "iPvrAmHf96Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iPvrAmHf96Q", "playlist_index" => 14, "timestamp" => 1779400403, "title" => "Die Schwäche des Glaubens, Teil 25", "upload_date" => "20260521"} 20:47:41.788 [debug] QUERY OK source="sources" db=0.2ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:41.789 [debug] QUERY OK source="sources" db=0.1ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:41.789 [debug] QUERY OK source="media_items" db=0.2ms idle=1002.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-21 21:53:23Z], 11] 20:47:41.792 [debug] QUERY OK source="media_items" db=2.1ms idle=1002.9ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die Schwäche des Glaubens, Teil 25", "60f97434-279e-4ca2-b68e-ac012ae2147b", 1201, false, "iPvrAmHf96Q", "https://www.youtube.com/watch?v=iPvrAmHf96Q", 14, "/downloads/Abu Rayan/2026-05-21 Die Schwäche des Glaubens, Teil 25/Die Schwäche des Glaubens, Teil 25 [iPvrAmHf96Q].mp4", false, false, false, 11, [], 98, ~U[2026-05-21 21:53:23Z], ~U[2026-09-16 20:47:41Z], ~U[2026-09-16 20:47:41Z], "", "Die Schwäche des Glaubens, Teil 25", 1201, false, "iPvrAmHf96Q", "https://www.youtube.com/watch?v=iPvrAmHf96Q", "/downloads/Abu Rayan/2026-05-21 Die Schwäche des Glaubens, Teil 25/Die Schwäche des Glaubens, Teil 25 [iPvrAmHf96Q].mp4", false, 11, ~U[2026-05-21 21:53:23Z]] 20:47:41.792 [debug] QUERY OK source="sources" db=0.2ms idle=158.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:41.793 [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] 20:47:41.793 [debug] QUERY OK source="media_items" db=0.3ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [114163] 20:47:41.793 [debug] Current batch of media processed. Will check again in 1000ms 20:47:42.795 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "", "duration" => 1197, "filename" => "/downloads/Abu Rayan/2026-05-14 Die Schwäche des Glaubens, Teil 24/Die Schwäche des Glaubens, Teil 24 [rBsox_Roa60].mp4", "id" => "rBsox_Roa60", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rBsox_Roa60", "playlist_index" => 15, "timestamp" => 1778795054, "title" => "Die Schwäche des Glaubens, Teil 24", "upload_date" => "20260514"} 20:47:42.795 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms 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" IN (?)) [11] 20:47:42.796 [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" = ?) [11] 20:47:42.796 [debug] QUERY OK source="media_items" db=0.2ms 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-14 21:44:14Z], 11] 20:47:42.800 [debug] QUERY OK source="media_items" db=2.9ms idle=2.7ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die Schwäche des Glaubens, Teil 24", "4ec28463-ede1-42cf-92c5-05db18bf5a16", 1197, false, "rBsox_Roa60", "https://www.youtube.com/watch?v=rBsox_Roa60", 15, "/downloads/Abu Rayan/2026-05-14 Die Schwäche des Glaubens, Teil 24/Die Schwäche des Glaubens, Teil 24 [rBsox_Roa60].mp4", false, false, false, 11, [], 98, ~U[2026-05-14 21:44:14Z], ~U[2026-09-16 20:47:42Z], ~U[2026-09-16 20:47:42Z], "", "Die Schwäche des Glaubens, Teil 24", 1197, false, "rBsox_Roa60", "https://www.youtube.com/watch?v=rBsox_Roa60", "/downloads/Abu Rayan/2026-05-14 Die Schwäche des Glaubens, Teil 24/Die Schwäche des Glaubens, Teil 24 [rBsox_Roa60].mp4", false, 11, ~U[2026-05-14 21:44:14Z]] 20:47:42.800 [debug] QUERY OK source="sources" db=0.2ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:42.800 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 20:47:42.801 [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 [114164] 20:47:42.801 [debug] Current batch of media processed. Will check again in 1000ms 20:47:43.802 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Viele rechtschaffene Taten verrichten und seine Zeit damit füllen", "duration" => 1238, "filename" => "/downloads/Abu Rayan/2026-05-07 Die Schwäche des Glaubens, Teil 23/Die Schwäche des Glaubens, Teil 23 [1gWoELmlklQ].mp4", "id" => "1gWoELmlklQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1gWoELmlklQ", "playlist_index" => 16, "timestamp" => 1778190062, "title" => "Die Schwäche des Glaubens, Teil 23", "upload_date" => "20260507"} 20:47:43.802 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1002.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:43.803 [debug] QUERY OK source="sources" db=0.4ms idle=1002.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:43.804 [debug] QUERY OK source="media_items" db=0.4ms idle=1002.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-07 21:41:02Z], 11] 20:47:43.806 [debug] QUERY OK source="media_items" db=1.9ms idle=1002.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Viele rechtschaffene Taten verrichten und seine Zeit damit füllen", "Die Schwäche des Glaubens, Teil 23", "b4a0160b-46fd-4916-ae87-1eb755d06e8f", 1238, false, "1gWoELmlklQ", "https://www.youtube.com/watch?v=1gWoELmlklQ", 16, "/downloads/Abu Rayan/2026-05-07 Die Schwäche des Glaubens, Teil 23/Die Schwäche des Glaubens, Teil 23 [1gWoELmlklQ].mp4", false, false, false, 11, [], 98, ~U[2026-05-07 21:41:02Z], ~U[2026-09-16 20:47:43Z], ~U[2026-09-16 20:47:43Z], "Viele rechtschaffene Taten verrichten und seine Zeit damit füllen", "Die Schwäche des Glaubens, Teil 23", 1238, false, "1gWoELmlklQ", "https://www.youtube.com/watch?v=1gWoELmlklQ", "/downloads/Abu Rayan/2026-05-07 Die Schwäche des Glaubens, Teil 23/Die Schwäche des Glaubens, Teil 23 [1gWoELmlklQ].mp4", false, 11, ~U[2026-05-07 21:41:02Z]] 20:47:43.807 [debug] QUERY OK source="sources" db=0.3ms idle=169.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:43.807 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 20:47:43.808 [debug] QUERY OK source="media_items" db=0.4ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [114165] 20:47:43.808 [debug] Current batch of media processed. Will check again in 1000ms 20:47:44.809 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "", "duration" => 2228, "filename" => "/downloads/Abu Rayan/2026-05-01 Danke Allah für seine Gaben! Arabisch⧸Französich⧸Deutsch ab Minute 19/Danke Allah für seine Gaben! Arabisch⧸Französich⧸Deutsch ab Minute 19 [lNsZ7wbm_90].mp4", "id" => "lNsZ7wbm_90", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lNsZ7wbm_90", "playlist_index" => 17, "timestamp" => 1777651708, "title" => "Danke Allah für seine Gaben! Arabisch/Französich/Deutsch ab Minute 19", "upload_date" => "20260501"} 20:47:44.809 [debug] QUERY OK source="sources" db=0.2ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:44.810 [debug] QUERY OK source="sources" db=0.1ms idle=1002.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:44.810 [debug] QUERY OK source="media_items" db=0.2ms idle=1002.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-01 16:08:28Z], 11] 20:47:44.812 [debug] QUERY OK source="media_items" db=1.4ms idle=1002.2ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Danke Allah für seine Gaben! Arabisch/Französich/Deutsch ab Minute 19", "e5d46642-e841-4d90-bf3b-3d789e674dd2", 2228, false, "lNsZ7wbm_90", "https://www.youtube.com/watch?v=lNsZ7wbm_90", 17, "/downloads/Abu Rayan/2026-05-01 Danke Allah für seine Gaben! Arabisch⧸Französich⧸Deutsch ab Minute 19/Danke Allah für seine Gaben! Arabisch⧸Französich⧸Deutsch ab Minute 19 [lNsZ7wbm_90].mp4", false, false, false, 11, [], 98, ~U[2026-05-01 16:08:28Z], ~U[2026-09-16 20:47:44Z], ~U[2026-09-16 20:47:44Z], "", "Danke Allah für seine Gaben! Arabisch/Französich/Deutsch ab Minute 19", 2228, false, "lNsZ7wbm_90", "https://www.youtube.com/watch?v=lNsZ7wbm_90", "/downloads/Abu Rayan/2026-05-01 Danke Allah für seine Gaben! Arabisch⧸Französich⧸Deutsch ab Minute 19/Danke Allah für seine Gaben! Arabisch⧸Französich⧸Deutsch ab Minute 19 [lNsZ7wbm_90].mp4", false, 11, ~U[2026-05-01 16:08:28Z]] 20:47:44.813 [debug] QUERY OK source="sources" db=0.2ms idle=174.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:44.813 [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] 20:47:44.814 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [114166] 20:47:44.814 [debug] Current batch of media processed. Will check again in 1000ms 20:47:45.815 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "4. An Dhikr Sitzungen teilnehmen", "duration" => 1149, "filename" => "/downloads/Abu Rayan/2026-04-30 Die Schwäche des Glaubens, Teil 22/Die Schwäche des Glaubens, Teil 22 [7Te1eDp_gi0].mp4", "id" => "7Te1eDp_gi0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7Te1eDp_gi0", "playlist_index" => 18, "timestamp" => 1777583727, "title" => "Die Schwäche des Glaubens, Teil 22", "upload_date" => "20260430"} 20:47:45.815 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:45.816 [debug] QUERY OK source="sources" db=0.1ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:45.816 [debug] QUERY OK source="media_items" db=0.2ms idle=1003.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-30 21:15:27Z], 11] 20:47:45.819 [debug] QUERY OK source="media_items" db=2.0ms idle=1003.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["4. An Dhikr Sitzungen teilnehmen", "Die Schwäche des Glaubens, Teil 22", "27b9a8a2-6c2d-4c31-a86a-f2b59282a065", 1149, false, "7Te1eDp_gi0", "https://www.youtube.com/watch?v=7Te1eDp_gi0", 18, "/downloads/Abu Rayan/2026-04-30 Die Schwäche des Glaubens, Teil 22/Die Schwäche des Glaubens, Teil 22 [7Te1eDp_gi0].mp4", false, false, false, 11, [], 98, ~U[2026-04-30 21:15:27Z], ~U[2026-09-16 20:47:45Z], ~U[2026-09-16 20:47:45Z], "4. An Dhikr Sitzungen teilnehmen", "Die Schwäche des Glaubens, Teil 22", 1149, false, "7Te1eDp_gi0", "https://www.youtube.com/watch?v=7Te1eDp_gi0", "/downloads/Abu Rayan/2026-04-30 Die Schwäche des Glaubens, Teil 22/Die Schwäche des Glaubens, Teil 22 [7Te1eDp_gi0].mp4", false, 11, ~U[2026-04-30 21:15:27Z]] 20:47:45.820 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [11] 20:47:45.820 [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] 20:47:45.821 [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 [114167] 20:47:45.821 [debug] Current batch of media processed. Will check again in 1000ms 20:47:46.822 [debug] Current batch of media processed. Will check again in 1000ms 20:47:47.823 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Das Streben nach Wissen!", "duration" => 1173, "filename" => "/downloads/Abu Rayan/2026-04-23 Die Schwäche des Glaubens, Teil 21/Die Schwäche des Glaubens, Teil 21 [M8IHa-hGE04].mp4", "id" => "M8IHa-hGE04", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=M8IHa-hGE04", "playlist_index" => 19, "timestamp" => 1776980049, "title" => "Die Schwäche des Glaubens, Teil 21", "upload_date" => "20260423"} 20:47:47.823 [debug] QUERY OK source="sources" db=0.3ms idle=174.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:47.824 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=30.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:47.825 [debug] QUERY OK source="media_items" db=0.3ms idle=30.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-23 21:34:09Z], 11] 20:47:47.827 [debug] QUERY OK source="media_items" db=2.3ms idle=31.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Das Streben nach Wissen!", "Die Schwäche des Glaubens, Teil 21", "0a0df69c-5831-442f-a017-8170863292b1", 1173, false, "M8IHa-hGE04", "https://www.youtube.com/watch?v=M8IHa-hGE04", 19, "/downloads/Abu Rayan/2026-04-23 Die Schwäche des Glaubens, Teil 21/Die Schwäche des Glaubens, Teil 21 [M8IHa-hGE04].mp4", false, false, false, 11, [], 98, ~U[2026-04-23 21:34:09Z], ~U[2026-09-16 20:47:47Z], ~U[2026-09-16 20:47:47Z], "Das Streben nach Wissen!", "Die Schwäche des Glaubens, Teil 21", 1173, false, "M8IHa-hGE04", "https://www.youtube.com/watch?v=M8IHa-hGE04", "/downloads/Abu Rayan/2026-04-23 Die Schwäche des Glaubens, Teil 21/Die Schwäche des Glaubens, Teil 21 [M8IHa-hGE04].mp4", false, 11, ~U[2026-04-23 21:34:09Z]] 20:47:47.828 [debug] QUERY OK source="sources" db=0.3ms idle=34.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:47.829 [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] 20:47:47.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 [114168] 20:47:47.829 [debug] Current batch of media processed. Will check again in 1000ms 20:47:48.420 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@Aburayan0704 --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/%(channel)S/%(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[format_note*=original]/bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/4e/ea/4eea454b48035650adb72b5628a9a631cc399baefa3004fc928886cd3e115e16.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/c5/ec/c5ecb13fc4e1e8b8a1ceb8117ad6234af7f32beaad2306c8520d0808e736afc7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 20:47:48.422 [debug] Gracefully stopping file follower 20:47:48.422 [debug] QUERY OK source="sources" db=0.2ms idle=597.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [11] 20:47:48.423 [debug] QUERY OK source="sources" db=0.2ms idle=595.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:48.423 [debug] QUERY OK source="media_items" db=0.3ms idle=594.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-13 21:06:35Z], 11] 20:47:48.426 [debug] QUERY OK source="media_items" db=2.2ms idle=594.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Einleitung und Vorwort", "Madarij al- Salikin, die Reise des Herzens zu Allah Teil 1", "9b60e37f-d37c-485b-ad28-42b1b3f343c1", 1299, false, "0vyMscAvdgs", "https://www.youtube.com/watch?v=0vyMscAvdgs", 1, "/downloads/Abu Rayan/2026-09-13 Madarij al- Salikin, die Reise des Herzens zu Allah Teil 1/Madarij al- Salikin, die Reise des Herzens zu Allah Teil 1 [0vyMscAvdgs].mp4", false, false, false, 11, [], 98, ~U[2026-09-13 21:06:35Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "Einleitung und Vorwort", "Madarij al- Salikin, die Reise des Herzens zu Allah Teil 1", 1299, false, "0vyMscAvdgs", "https://www.youtube.com/watch?v=0vyMscAvdgs", "/downloads/Abu Rayan/2026-09-13 Madarij al- Salikin, die Reise des Herzens zu Allah Teil 1/Madarij al- Salikin, die Reise des Herzens zu Allah Teil 1 [0vyMscAvdgs].mp4", false, 11, ~U[2026-09-13 21:06:35Z]] 20:47:48.426 [debug] QUERY OK source="sources" db=0.3ms idle=596.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:48.427 [debug] QUERY OK source="media_items" db=0.3ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-10 20:51:56Z], 11] 20:47:48.429 [debug] QUERY OK source="media_items" db=1.0ms idle=4.6ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die Schwäche des Glaubens Teil 33", "f2bb316c-9e0a-4e13-9674-7b998a8c0a5a", 1096, false, "Y6RaPYOjYhg", "https://www.youtube.com/watch?v=Y6RaPYOjYhg", 2, "/downloads/Abu Rayan/2026-09-10 Die Schwäche des Glaubens Teil 33/Die Schwäche des Glaubens Teil 33 [Y6RaPYOjYhg].mp4", false, false, false, 11, [], 98, ~U[2026-09-10 20:51:56Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "", "Die Schwäche des Glaubens Teil 33", 1096, false, "Y6RaPYOjYhg", "https://www.youtube.com/watch?v=Y6RaPYOjYhg", "/downloads/Abu Rayan/2026-09-10 Die Schwäche des Glaubens Teil 33/Die Schwäche des Glaubens Teil 33 [Y6RaPYOjYhg].mp4", false, 11, ~U[2026-09-10 20:51:56Z]] 20:47:48.429 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [11] 20:47:48.430 [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[2026-09-04 13:32:15Z], 11] 20:47:48.433 [debug] QUERY OK source="media_items" db=2.5ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🕌 Die heutige Freitagspredigt in Eupen\n\n📚 Der Stellenwert des Wissens im Islam\n🌱 Das Streben nach Wissen und das Handeln danach\n📢 Die Verantwortung, das Wissen durch Daʿwa weiterzugeben\n⚖️ Und besonders wichtig in unserer heutigen Zeit: religiöses Wissen mit weltlichem Wissen verbinden.\n\nDenn Wissen ist nicht nur eine Auszeichnung – es ist eine Verantwortung.", "🕌 Freitagspredigt in Eupen 📚 Der Stellenwert des Wissens im Islam🌱", "f9eb7125-d5d8-4763-96f0-009c51d1c519", 1796, false, "9doU_ZnFkSI", "https://www.youtube.com/watch?v=9doU_ZnFkSI", 3, "/downloads/Abu Rayan/2026-09-04 🕌 Freitagspredigt in Eupen 📚 Der Stellenwert des Wissens im Islam🌱/🕌 Freitagspredigt in Eupen 📚 Der Stellenwert des Wissens im Islam🌱 [9doU_ZnFkSI].mp4", false, false, false, 11, [], 98, ~U[2026-09-04 13:32:15Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "🕌 Die heutige Freitagspredigt in Eupen\n\n📚 Der Stellenwert des Wissens im Islam\n🌱 Das Streben nach Wissen und das Handeln danach\n📢 Die Verantwortung, das Wissen durch Daʿwa weiterzugeben\n⚖️ Und besonders wichtig in unserer heutigen Zeit: religiöses Wissen mit weltlichem Wissen verbinden.\n\nDenn Wissen ist nicht nur eine Auszeichnung – es ist eine Verantwortung.", "🕌 Freitagspredigt in Eupen 📚 Der Stellenwert des Wissens im Islam🌱", 1796, false, "9doU_ZnFkSI", "https://www.youtube.com/watch?v=9doU_ZnFkSI", "/downloads/Abu Rayan/2026-09-04 🕌 Freitagspredigt in Eupen 📚 Der Stellenwert des Wissens im Islam🌱/🕌 Freitagspredigt in Eupen 📚 Der Stellenwert des Wissens im Islam🌱 [9doU_ZnFkSI].mp4", false, 11, ~U[2026-09-04 13:32:15Z]] 20:47:48.433 [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" = ?) [11] 20:47:48.434 [debug] QUERY OK source="media_items" db=0.2ms idle=5.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-03 20:49:45Z], 11] 20:47:48.436 [debug] QUERY OK source="media_items" db=1.1ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dhikr", "Die Schwäche des Glaubens Teil 31", "f1bd5bb7-3d85-4c0c-88fc-c54c87e1670e", 1236, false, "dDOtohrDgAE", "https://www.youtube.com/watch?v=dDOtohrDgAE", 4, "/downloads/Abu Rayan/2026-09-03 Die Schwäche des Glaubens Teil 31/Die Schwäche des Glaubens Teil 31 [dDOtohrDgAE].mp4", false, false, false, 11, [], 98, ~U[2026-09-03 20:49:45Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "Dhikr", "Die Schwäche des Glaubens Teil 31", 1236, false, "dDOtohrDgAE", "https://www.youtube.com/watch?v=dDOtohrDgAE", "/downloads/Abu Rayan/2026-09-03 Die Schwäche des Glaubens Teil 31/Die Schwäche des Glaubens Teil 31 [dDOtohrDgAE].mp4", false, 11, ~U[2026-09-03 20:49:45Z]] 20:47:48.436 [debug] QUERY OK source="sources" db=0.2ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:48.437 [debug] QUERY OK source="media_items" db=0.2ms 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-08-27 21:02:34Z], 11] 20:47:48.438 [debug] QUERY OK source="media_items" db=1.1ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Das Reagieren auf die Zeichen Allahs im Universum", "Die Schwäche des Glaubens Teil 30", "0e9d2138-42e5-485e-b882-27153a940f3b", 938, false, "Q4lq320voxw", "https://www.youtube.com/watch?v=Q4lq320voxw", 5, "/downloads/Abu Rayan/2026-08-27 Die Schwäche des Glaubens Teil 30/Die Schwäche des Glaubens Teil 30 [Q4lq320voxw].mp4", false, false, false, 11, [], 98, ~U[2026-08-27 21:02:34Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "Das Reagieren auf die Zeichen Allahs im Universum", "Die Schwäche des Glaubens Teil 30", 938, false, "Q4lq320voxw", "https://www.youtube.com/watch?v=Q4lq320voxw", "/downloads/Abu Rayan/2026-08-27 Die Schwäche des Glaubens Teil 30/Die Schwäche des Glaubens Teil 30 [Q4lq320voxw].mp4", false, 11, ~U[2026-08-27 21:02:34Z]] 20:47:48.439 [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" = ?) [11] 20:47:48.439 [debug] QUERY OK source="media_items" db=0.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-08-21 13:30:38Z], 11] 20:47:48.443 [debug] QUERY OK source="media_items" db=2.9ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten ﷺ\n\nIn dieser Freitagspredigt in Düren geht es um den Maulid an-Nabī ﷺ, die Geburt und das Leben unseres geliebten Propheten Muhammad ﷺ.\n\nDer arabische Teil der Predigt wird ab Minute 12 ins Deutsche übersetzt, sodass auch deutschsprachige Zuschauer den Inhalt vollständig verstehen können.\n\nMöge Allah uns die Liebe zum Propheten ﷺ schenken, uns an seiner Sunnah festhalten lassen und uns am Tag der Auferstehung zu seinen Gefährten gehören lassen.\n\nAb Minute 12: Arabisch → Deutsch 🇩🇪\n\n#Freitagspredigt #Khutba #Maulid #ProphetMuhammad #Islam #Düren #Sunnah", "Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten Arabisch/Deutsch ab Minute 12", "c03b2d45-2248-4d56-b3c5-758f3fe25de3", 1459, false, "1HZ8t4WiQVI", "https://www.youtube.com/watch?v=1HZ8t4WiQVI", 6, "/downloads/Abu Rayan/2026-08-21 Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten Arabisch⧸Deutsch ab Minute 12/Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten Arabisch⧸Deutsch ab Minute 12 [1HZ8t4WiQVI].mp4", false, false, false, 11, [], 98, ~U[2026-08-21 13:30:38Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten ﷺ\n\nIn dieser Freitagspredigt in Düren geht es um den Maulid an-Nabī ﷺ, die Geburt und das Leben unseres geliebten Propheten Muhammad ﷺ.\n\nDer arabische Teil der Predigt wird ab Minute 12 ins Deutsche übersetzt, sodass auch deutschsprachige Zuschauer den Inhalt vollständig verstehen können.\n\nMöge Allah uns die Liebe zum Propheten ﷺ schenken, uns an seiner Sunnah festhalten lassen und uns am Tag der Auferstehung zu seinen Gefährten gehören lassen.\n\nAb Minute 12: Arabisch → Deutsch 🇩🇪\n\n#Freitagspredigt #Khutba #Maulid #ProphetMuhammad #Islam #Düren #Sunnah", "Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten Arabisch/Deutsch ab Minute 12", 1459, false, "1HZ8t4WiQVI", "https://www.youtube.com/watch?v=1HZ8t4WiQVI", "/downloads/Abu Rayan/2026-08-21 Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten Arabisch⧸Deutsch ab Minute 12/Freitagspredigt in Düren – Maulid an-Nabī ﷺ | Die Geburt des Propheten Arabisch⧸Deutsch ab Minute 12 [1HZ8t4WiQVI].mp4", false, 11, ~U[2026-08-21 13:30:38Z]] 20:47:48.443 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:48.444 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-08-20 21:27:56Z], 11] 20:47:48.446 [debug] QUERY OK source="media_items" db=2.2ms idle=5.2ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die Schwäche des Glaubens Teil 29", "a1848ff3-ff44-47b8-9a53-8dc7085ec682", 970, false, "f3vZC9D8qKA", "https://www.youtube.com/watch?v=f3vZC9D8qKA", 7, "/downloads/Abu Rayan/2026-08-20 Die Schwäche des Glaubens Teil 29/Die Schwäche des Glaubens Teil 29 [f3vZC9D8qKA].mp4", false, false, false, 11, [], 98, ~U[2026-08-20 21:27:56Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "", "Die Schwäche des Glaubens Teil 29", 970, false, "f3vZC9D8qKA", "https://www.youtube.com/watch?v=f3vZC9D8qKA", "/downloads/Abu Rayan/2026-08-20 Die Schwäche des Glaubens Teil 29/Die Schwäche des Glaubens Teil 29 [f3vZC9D8qKA].mp4", false, 11, ~U[2026-08-20 21:27:56Z]] 20:47:48.447 [debug] QUERY OK source="sources" db=0.2ms idle=7.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:48.447 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-07-03 22:25:13Z], 11] 20:47:48.450 [debug] QUERY OK source="media_items" db=2.2ms idle=4.4ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Bist du bereit für die Reise?", "1791cd03-1471-429b-a319-8fabff61192a", 2747, false, "HdQQqeJ7bbs", "https://www.youtube.com/watch?v=HdQQqeJ7bbs", 8, "/downloads/Abu Rayan/2026-07-03 Bist du bereit für die Reise?/Bist du bereit für die Reise? [HdQQqeJ7bbs].mp4", false, false, false, 11, [], 97, ~U[2026-07-03 22:25:13Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "", "Bist du bereit für die Reise?", 2747, false, "HdQQqeJ7bbs", "https://www.youtube.com/watch?v=HdQQqeJ7bbs", "/downloads/Abu Rayan/2026-07-03 Bist du bereit für die Reise?/Bist du bereit für die Reise? [HdQQqeJ7bbs].mp4", false, 11, ~U[2026-07-03 22:25:13Z]] 20:47:48.450 [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" = ?) [11] 20:47:48.451 [debug] QUERY OK source="media_items" db=0.2ms 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-07-03 15:16:00Z], 11] 20:47:48.454 [debug] QUERY OK source="media_items" db=2.1ms idle=4.4ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Freitagspredigt in Eschweiler von heute . Alles was du für deine Reise wissen musst", "6e769837-6cef-467b-bee2-7fa95915abe3", 1868, false, "jOnWlIWqezs", "https://www.youtube.com/watch?v=jOnWlIWqezs", 9, "/downloads/Abu Rayan/2026-07-03 Freitagspredigt in Eschweiler von heute . Alles was du für deine Reise wissen musst/Freitagspredigt in Eschweiler von heute . Alles was du für deine Reise wissen musst [jOnWlIWqezs].mp4", false, false, false, 11, [], 97, ~U[2026-07-03 15:16:00Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "", "Freitagspredigt in Eschweiler von heute . Alles was du für deine Reise wissen musst", 1868, false, "jOnWlIWqezs", "https://www.youtube.com/watch?v=jOnWlIWqezs", "/downloads/Abu Rayan/2026-07-03 Freitagspredigt in Eschweiler von heute . Alles was du für deine Reise wissen musst/Freitagspredigt in Eschweiler von heute . Alles was du für deine Reise wissen musst [jOnWlIWqezs].mp4", false, 11, ~U[2026-07-03 15:16:00Z]] 20:47:48.455 [debug] QUERY OK source="sources" db=1.0ms 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" = ?) [11] 20:47:48.456 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms 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[2026-06-18 22:30:14Z], 11] 20:47:48.460 [debug] QUERY OK source="media_items" db=3.2ms idle=5.9ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die Schwäche des Glaubens Teil 28", "4706c9a8-8efa-4d56-b5d7-50b3692086f3", 1230, false, "3xgJBfW3JLE", "https://www.youtube.com/watch?v=3xgJBfW3JLE", 10, "/downloads/Abu Rayan/2026-06-18 Die Schwäche des Glaubens Teil 28/Die Schwäche des Glaubens Teil 28 [3xgJBfW3JLE].mp4", false, false, false, 11, [], 98, ~U[2026-06-18 22:30:14Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "", "Die Schwäche des Glaubens Teil 28", 1230, false, "3xgJBfW3JLE", "https://www.youtube.com/watch?v=3xgJBfW3JLE", "/downloads/Abu Rayan/2026-06-18 Die Schwäche des Glaubens Teil 28/Die Schwäche des Glaubens Teil 28 [3xgJBfW3JLE].mp4", false, 11, ~U[2026-06-18 22:30:14Z]] 20:47:48.461 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:48.461 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=7.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-11 22:02:58Z], 11] 20:47:48.465 [debug] QUERY OK source="media_items" db=2.5ms idle=6.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["7. Die Angst vor einem schlechten Ende", "Die Schwäche des Glaubens, Teil 27", "ac0a92a8-439f-4892-b75e-b5fdb556096f", 1320, false, "7Vzzw_qmIBg", "https://www.youtube.com/watch?v=7Vzzw_qmIBg", 11, "/downloads/Abu Rayan/2026-06-11 Die Schwäche des Glaubens, Teil 27/Die Schwäche des Glaubens, Teil 27 [7Vzzw_qmIBg].mp4", false, false, false, 11, [], 98, ~U[2026-06-11 22:02:58Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "7. Die Angst vor einem schlechten Ende", "Die Schwäche des Glaubens, Teil 27", 1320, false, "7Vzzw_qmIBg", "https://www.youtube.com/watch?v=7Vzzw_qmIBg", "/downloads/Abu Rayan/2026-06-11 Die Schwäche des Glaubens, Teil 27/Die Schwäche des Glaubens, Teil 27 [7Vzzw_qmIBg].mp4", false, 11, ~U[2026-06-11 22:02:58Z]] 20:47:48.465 [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" = ?) [11] 20:47:48.466 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-04 22:06:30Z], 11] 20:47:48.468 [debug] QUERY OK source="media_items" db=0.8ms idle=5.9ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die Schwäche des Glaubens, Teil 26", "4972510e-b8f8-498a-9b76-59d25b63055e", 1275, false, "yvFHScHQJZ8", "https://www.youtube.com/watch?v=yvFHScHQJZ8", 12, "/downloads/Abu Rayan/2026-06-04 Die Schwäche des Glaubens, Teil 26/Die Schwäche des Glaubens, Teil 26 [yvFHScHQJZ8].mp4", false, false, false, 11, [], 98, ~U[2026-06-04 22:06:30Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "", "Die Schwäche des Glaubens, Teil 26", 1275, false, "yvFHScHQJZ8", "https://www.youtube.com/watch?v=yvFHScHQJZ8", "/downloads/Abu Rayan/2026-06-04 Die Schwäche des Glaubens, Teil 26/Die Schwäche des Glaubens, Teil 26 [yvFHScHQJZ8].mp4", false, 11, ~U[2026-06-04 22:06:30Z]] 20:47:48.468 [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" = ?) [11] 20:47:48.469 [debug] QUERY OK source="media_items" db=0.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-29 16:39:12Z], 11] 20:47:48.475 [debug] QUERY OK source="media_items" db=5.4ms idle=3.5ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Freitagspredigt in Düren. Der Vorzug vom Dhikr (Arabisch/Deutsch ab Minute12:50)", "a6d8357d-98ae-4d39-9663-a9703bf74903", 1817, false, "FVF6JNDMScI", "https://www.youtube.com/watch?v=FVF6JNDMScI", 13, "/downloads/Abu Rayan/2026-05-29 Freitagspredigt in Düren. Der Vorzug vom Dhikr (Arabisch⧸Deutsch ab Minute12_50)/Freitagspredigt in Düren. Der Vorzug vom Dhikr (Arabisch⧸Deutsch ab Minute12_50) [FVF6JNDMScI].mp4", false, false, false, 11, [], 98, ~U[2026-05-29 16:39:12Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "", "Freitagspredigt in Düren. Der Vorzug vom Dhikr (Arabisch/Deutsch ab Minute12:50)", 1817, false, "FVF6JNDMScI", "https://www.youtube.com/watch?v=FVF6JNDMScI", "/downloads/Abu Rayan/2026-05-29 Freitagspredigt in Düren. Der Vorzug vom Dhikr (Arabisch⧸Deutsch ab Minute12_50)/Freitagspredigt in Düren. Der Vorzug vom Dhikr (Arabisch⧸Deutsch ab Minute12_50) [FVF6JNDMScI].mp4", false, 11, ~U[2026-05-29 16:39:12Z]] 20:47:48.475 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [11] 20:47:48.476 [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[2026-05-21 21:53:23Z], 11] 20:47:48.479 [debug] QUERY OK source="media_items" db=2.4ms idle=8.0ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die Schwäche des Glaubens, Teil 25", "9313e466-46c3-47ec-9bae-0dc881418053", 1201, false, "iPvrAmHf96Q", "https://www.youtube.com/watch?v=iPvrAmHf96Q", 14, "/downloads/Abu Rayan/2026-05-21 Die Schwäche des Glaubens, Teil 25/Die Schwäche des Glaubens, Teil 25 [iPvrAmHf96Q].mp4", false, false, false, 11, [], 98, ~U[2026-05-21 21:53:23Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "", "Die Schwäche des Glaubens, Teil 25", 1201, false, "iPvrAmHf96Q", "https://www.youtube.com/watch?v=iPvrAmHf96Q", "/downloads/Abu Rayan/2026-05-21 Die Schwäche des Glaubens, Teil 25/Die Schwäche des Glaubens, Teil 25 [iPvrAmHf96Q].mp4", false, 11, ~U[2026-05-21 21:53:23Z]] 20:47:48.479 [debug] QUERY OK source="sources" db=0.2ms idle=10.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 20:47:48.480 [debug] QUERY OK source="media_items" db=0.3ms idle=5.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-14 21:44:14Z], 11] 20:47:48.481 [debug] QUERY OK source="media_items" db=0.7ms idle=5.2ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Die Schwäche des Glaubens, Teil 24", "8112d341-c611-4e7c-8c7f-c2c204b7579c", 1197, false, "rBsox_Roa60", "https://www.youtube.com/watch?v=rBsox_Roa60", 15, "/downloads/Abu Rayan/2026-05-14 Die Schwäche des Glaubens, Teil 24/Die Schwäche des Glaubens, Teil 24 [rBsox_Roa60].mp4", false, false, false, 11, [], 98, ~U[2026-05-14 21:44:14Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "", "Die Schwäche des Glaubens, Teil 24", 1197, false, "rBsox_Roa60", "https://www.youtube.com/watch?v=rBsox_Roa60", "/downloads/Abu Rayan/2026-05-14 Die Schwäche des Glaubens, Teil 24/Die Schwäche des Glaubens, Teil 24 [rBsox_Roa60].mp4", false, 11, ~U[2026-05-14 21:44:14Z]] 20:47:48.482 [debug] QUERY OK source="sources" db=0.4ms queue=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" = ?) [11] 20:47:48.483 [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-05-07 21:41:02Z], 11] 20:47:48.485 [debug] QUERY OK source="media_items" db=1.6ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Viele rechtschaffene Taten verrichten und seine Zeit damit füllen", "Die Schwäche des Glaubens, Teil 23", "233b580b-ece1-4c06-af6b-f27a3bc745c3", 1238, false, "1gWoELmlklQ", "https://www.youtube.com/watch?v=1gWoELmlklQ", 16, "/downloads/Abu Rayan/2026-05-07 Die Schwäche des Glaubens, Teil 23/Die Schwäche des Glaubens, Teil 23 [1gWoELmlklQ].mp4", false, false, false, 11, [], 98, ~U[2026-05-07 21:41:02Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "Viele rechtschaffene Taten verrichten und seine Zeit damit füllen", "Die Schwäche des Glaubens, Teil 23", 1238, false, "1gWoELmlklQ", "https://www.youtube.com/watch?v=1gWoELmlklQ", "/downloads/Abu Rayan/2026-05-07 Die Schwäche des Glaubens, Teil 23/Die Schwäche des Glaubens, Teil 23 [1gWoELmlklQ].mp4", false, 11, ~U[2026-05-07 21:41:02Z]] 20:47:48.486 [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" = ?) [11] 20:47:48.487 [debug] QUERY OK source="media_items" db=0.2ms idle=5.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-01 16:08:28Z], 11] 20:47:48.488 [debug] QUERY OK source="media_items" db=0.8ms idle=4.7ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Danke Allah für seine Gaben! Arabisch/Französich/Deutsch ab Minute 19", "cf1d335e-8f3d-418f-b87e-eebf7775ffd5", 2228, false, "lNsZ7wbm_90", "https://www.youtube.com/watch?v=lNsZ7wbm_90", 17, "/downloads/Abu Rayan/2026-05-01 Danke Allah für seine Gaben! Arabisch⧸Französich⧸Deutsch ab Minute 19/Danke Allah für seine Gaben! Arabisch⧸Französich⧸Deutsch ab Minute 19 [lNsZ7wbm_90].mp4", false, false, false, 11, [], 98, ~U[2026-05-01 16:08:28Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "", "Danke Allah für seine Gaben! Arabisch/Französich/Deutsch ab Minute 19", 2228, false, "lNsZ7wbm_90", "https://www.youtube.com/watch?v=lNsZ7wbm_90", "/downloads/Abu Rayan/2026-05-01 Danke Allah für seine Gaben! Arabisch⧸Französich⧸Deutsch ab Minute 19/Danke Allah für seine Gaben! Arabisch⧸Französich⧸Deutsch ab Minute 19 [lNsZ7wbm_90].mp4", false, 11, ~U[2026-05-01 16:08:28Z]] 20:47:48.488 [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" = ?) [11] 20:47:48.489 [debug] QUERY OK source="media_items" db=0.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-04-30 21:15:27Z], 11] 20:47:48.490 [debug] QUERY OK source="media_items" db=0.6ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["4. An Dhikr Sitzungen teilnehmen", "Die Schwäche des Glaubens, Teil 22", "66a4ced7-0c96-4a08-aa78-ee9aa466911d", 1149, false, "7Te1eDp_gi0", "https://www.youtube.com/watch?v=7Te1eDp_gi0", 18, "/downloads/Abu Rayan/2026-04-30 Die Schwäche des Glaubens, Teil 22/Die Schwäche des Glaubens, Teil 22 [7Te1eDp_gi0].mp4", false, false, false, 11, [], 98, ~U[2026-04-30 21:15:27Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "4. An Dhikr Sitzungen teilnehmen", "Die Schwäche des Glaubens, Teil 22", 1149, false, "7Te1eDp_gi0", "https://www.youtube.com/watch?v=7Te1eDp_gi0", "/downloads/Abu Rayan/2026-04-30 Die Schwäche des Glaubens, Teil 22/Die Schwäche des Glaubens, Teil 22 [7Te1eDp_gi0].mp4", false, 11, ~U[2026-04-30 21:15:27Z]] 20:47:48.491 [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" = ?) [11] 20:47:48.491 [debug] QUERY OK source="media_items" db=0.2ms 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-04-23 21:34:09Z], 11] 20:47:48.493 [debug] QUERY OK source="media_items" db=1.2ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Das Streben nach Wissen!", "Die Schwäche des Glaubens, Teil 21", "da1f61c7-4ae5-4acf-9002-87d1f2efbb12", 1173, false, "M8IHa-hGE04", "https://www.youtube.com/watch?v=M8IHa-hGE04", 19, "/downloads/Abu Rayan/2026-04-23 Die Schwäche des Glaubens, Teil 21/Die Schwäche des Glaubens, Teil 21 [M8IHa-hGE04].mp4", false, false, false, 11, [], 98, ~U[2026-04-23 21:34:09Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "Das Streben nach Wissen!", "Die Schwäche des Glaubens, Teil 21", 1173, false, "M8IHa-hGE04", "https://www.youtube.com/watch?v=M8IHa-hGE04", "/downloads/Abu Rayan/2026-04-23 Die Schwäche des Glaubens, Teil 21/Die Schwäche des Glaubens, Teil 21 [M8IHa-hGE04].mp4", false, 11, ~U[2026-04-23 21:34:09Z]] 20:47:48.493 [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" = ?) [11] 20:47:48.494 [debug] QUERY OK source="media_items" db=0.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-04-19 21:46:48Z], 11] 20:47:48.495 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms INSERT INTO "media_items" AS m0 ("title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Vertraue auf Allah!", "d29cbe6c-a4c8-4539-bcb2-4f50f3400bdc", 725, false, "SJfrHAIlwz8", "https://www.youtube.com/watch?v=SJfrHAIlwz8", 20, "/downloads/Abu Rayan/2026-04-19 Vertraue auf Allah!/Vertraue auf Allah! [SJfrHAIlwz8].mp4", false, false, false, 11, [], 98, ~U[2026-04-19 21:46:48Z], ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], "", "Vertraue auf Allah!", 725, false, "SJfrHAIlwz8", "https://www.youtube.com/watch?v=SJfrHAIlwz8", "/downloads/Abu Rayan/2026-04-19 Vertraue auf Allah!/Vertraue auf Allah! [SJfrHAIlwz8].mp4", false, 11, ~U[2026-04-19 21:46:48Z]] 20:47:48.523 [debug] QUERY OK source="sources" db=0.2ms idle=31.8ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z], 11] 20:47:48.524 [debug] QUERY OK source="media_items" db=0.4ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [11] 20:47:48.525 [debug] QUERY OK source="media_items" db=0.3ms idle=31.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")))) [11] 20:47:48.525 [debug] QUERY OK source="media_items" db=0.1ms idle=31.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [11] 20:47:48.528 [debug] QUERY OK source="tasks" db=1.5ms idle=2.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [9494, 11, ~U[2026-09-16 20:47:48Z], ~U[2026-09-16 20:47:48Z]] 20:47:48.528 [info] {"args":{"id":11},"id":9483,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":27908091,"event":"job:stop","queue_time":706313,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 20:47:54.060 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:00.259 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:48:24.061 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:54.063 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:00.260 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:49:24.064 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:54.065 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:00.261 [info] {"source":"oban","duration":230,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:50:24.067 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:54.068 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:00.262 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:51:24.069 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:54.070 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:00.263 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:52:24.073 [info] {"source":"oban","duration":1178,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:54.074 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:00.264 [info] {"source":"oban","duration":240,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:53:24.075 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:54.077 [info] {"source":"oban","duration":844,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:00.265 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:54:24.078 [info] {"source":"oban","duration":820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:54.080 [info] {"source":"oban","duration":875,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:00.266 [info] {"source":"oban","duration":705,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:55:24.082 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:54.086 [info] {"source":"oban","duration":3174,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:00.267 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:56:24.087 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:54.088 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:00.268 [info] {"source":"oban","duration":531,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:57:24.089 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:54.090 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:00.270 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:58:24.091 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:54.092 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:00.271 [info] {"source":"oban","duration":444,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 20:59:24.093 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:54.096 [info] {"source":"oban","duration":1487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:00.272 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:00:24.098 [info] {"source":"oban","duration":1230,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:54.099 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:00.273 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:01:24.100 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:54.101 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:00.274 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:02:24.102 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:54.104 [info] {"source":"oban","duration":1355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:00.275 [info] {"source":"oban","duration":198,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:03:24.105 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:54.106 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:00.276 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:04:24.107 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:54.109 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:00.277 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:05:24.110 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:54.112 [info] {"source":"oban","duration":1173,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:00.278 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:06:24.114 [info] {"source":"oban","duration":1911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:54.117 [info] {"source":"oban","duration":1126,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:00.279 [info] {"source":"oban","duration":241,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:07:24.119 [info] {"source":"oban","duration":1110,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:54.086 [info] {"args":{"id":3},"id":9484,"meta":{},"system_time":1789592874086790482,"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"]} 21:07:54.088 [debug] QUERY OK source="sources" db=1.7ms idle=291.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:07:54.089 [debug] QUERY OK source="settings" db=0.3ms idle=293.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:54.104 [debug] QUERY OK source="media_items" db=14.4ms idle=293.7ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 21:07:54.106 [debug] QUERY OK source="media_items" db=1.5ms idle=24.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 21:07:54.107 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.3ms idle=19.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] 21:07:54.108 [debug] QUERY OK source="settings" db=0.3ms idle=18.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:07:54.108 [debug] QUERY OK source="settings" db=0.2ms idle=18.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:07:54.109 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 21:07:54.109 [debug] Current batch of media processed. Will check again in 1000ms 21:07:54.110 [debug] QUERY OK source="settings" db=0.2ms idle=5.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:07:54.110 [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 [] 21:07:54.110 [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 [] 21:07:54.111 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLxtPwTvOWboBBBLooscJ3Fgwzn4T_J-mS --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/%(channel)S/%(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[format_note*=original]/bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/f3/fb/f3fb7d99359b75ad809ae7dccfdb7e905d0f1b39dad175f53c4be20cc1b3c755.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:07:54.121 [info] {"source":"oban","duration":1157,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:55.110 [debug] Current batch of media processed. Will check again in 1000ms 21:07:56.112 [debug] Current batch of media processed. Will check again in 1000ms 21:07:57.113 [debug] Current batch of media processed. Will check again in 1000ms 21:07:58.114 [debug] Current batch of media processed. Will check again in 1000ms 21:07:59.115 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n Dr. Alok Kanojia, MD, MPH (\"Dr. K\"), is a Harvard-trained psychiatrist and expert in both Eastern and Western medicine to improve mental health. He explains tools for unlearning maladaptive thoughts and behavior patterns and for making behaviors that better mental and physical well-being more reflexive in work, relationships and daily life. We also discuss ways to resolve trauma, build stress tolerance, increase intrinsic motivation and even change temperament. We also discuss how social media, gaming and online dating shape our identity and perceptions and how to navigate them healthily.\n\nShow notes: https://go.hubermanlab.com/GQzMkKb\n\nThank you to our sponsors\nAG1: \u2060https://drinkag1.com/huberman\nLingo: \u2060https://hellolingo.com/huberman\nJoovv: \u2060https://joovv.com/huberman\nFunction: \u2060https://functionhealth.com/huberman\nEight Sleep: \u2060https://eightsleep.com/huberman\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\nDr. K\nWebsite: https://www.healthygamer.gg \nBook: https://amzn.to/4cSqejZ \nPodcast: https://open.spotify.com/show/6VaJwyS2KXxiXqR77jqzmP \nYouTube: https://www.youtube.com/channel/UClHVl2N3jPEbkNJVx-ItQIQ \nX: https://x.com/dr_alokkanojia\nInstagram: https://www.instagram.com/healthygamer_gg\nTikTok: https://www.tiktok.com/@healthygamer.gg \nTwitch: https://www.twitch.tv/healthygamer_gg \nLinkedIn: https://www.linkedin.com/in/alok-kanojia-md-mph-82860016 \n\nTimestamps\n00:00:00 Alok Kanojia (Dr. K)\n00:03:09 Internet, Computer Games; Academic Pressure\n00:07:11 Millennials & Self-Awareness, Hijacking Mental Health Language\n00:13:24 Sponsors: Lingo & Joovv\n00:16:06 Personality & Individual Road Maps, Misdiagnosis\n00:22:02 Ambiguity, Flirting, Social Skills Decline, Uncertainty Tolerance\n00:26:06 Dating in the Internet Age, Cognitive Bias\n00:30:39 Healthy Distress Tolerance, Tool: How to Feel Your Feelings\n00:39:58 Sponsor: AG1\n00:40:49 Expectations vs Internal Desire Roadmap, Western vs Eastern Theory of Mind, Ego\n00:50:35 Sense Organs, Comparison & Proving Oneself, Internal Drive\n00:59:22 Internet, Ego, \"Teflon Buddha\", Tool: Dealing with Criticism\n01:10:36 Observing One's Mind, Meditation, Psychedelics\n01:11:59 Sponsor: Function\n01:13:46 Tool: Shunya \"Void\" Meditation & Resilience\n01:24:02 External Reminders, Environment; Men & Emotional Regulation\n01:30:04 Samskara, Yoga Nidra, Trauma & Learning, Shunya & Personal Compass\n01:39:15 Yoga Nidra, Channeling Divinity, Genius\n01:42:30 Sponsor: Eight Sleep\n01:43:48 Breathwork Practices; Meditation Science, Self-Esteem & Belief Change\n01:53:40 Liminal States, Meditation Types & Benefits; Western & Eastern Balance\n02:01:50 Understanding Ego & Perception; AI & Narcissism, Psychosis\n02:14:07 Tool: Healthy Social Media Use, When To Not Use, Normal Standards\n02:18:38 Social Media & Looks Obsession, Purpose, Charisma\n02:24:18 Young Men Falling Behind?, Male Support, Suicide; Men in Relationships\n02:30:36 \"Stuck\" Young Men, Failure to Launch, Tool: Motivation & Understanding Oneself\n02:39:03 Pornography, Erectile Dysfunction, Emotions, Addiction; Relationships\n02:44:21 Men & Love, Looksmaxxing, Rejection, Partner Characteristics, Tool: Walk Before Dates\n02:55:12 Exploring Practices, Meditation, Breathwork\n03:01:39 Spirituality, Personal Exploration; Acknowledgements\n03:06:12 Zero-Cost Support, YouTube, Spotify & Apple Follow, Reviews & Feedback, Sponsors, \u2060Protocols Book\u2060, Social Media, Neural Network Newsletter\n\n#HubermanLab #Health #HealthyGamer\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 11323, "filename" => "/downloads/Andrew Huberman/2026-03-02 Unlearn Negative Thoughts & Behaviors Patterns | Dr. Alok Kanojia (Healthy Gamer)/Unlearn Negative Thoughts & Behaviors Patterns | Dr. Alok Kanojia (Healthy Gamer) [9G2MRFs4vac].mp4", "id" => "9G2MRFs4vac", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9G2MRFs4vac", "playlist_index" => 1, "timestamp" => 1772456412, "title" => "Unlearn Negative Thoughts & Behaviors Patterns | Dr. Alok Kanojia (Healthy Gamer)", "upload_date" => "20260302"} 21:07:59.115 [debug] QUERY OK source="sources" db=0.2ms idle=1319.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:07:59.116 [debug] QUERY OK source="sources" db=0.1ms idle=1320.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:07:59.120 [debug] QUERY OK source="media_items" db=4.2ms idle=1320.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-02 13:00:12Z], 3] 21:07:59.126 [debug] QUERY OK source="media_items" db=4.4ms idle=1034.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n Dr. Alok Kanojia, MD, MPH (\"Dr. K\"), is a Harvard-trained psychiatrist and expert in both Eastern and Western medicine to improve mental health. He explains tools for unlearning maladaptive thoughts and behavior patterns and for making behaviors that better mental and physical well-being more reflexive in work, relationships and daily life. We also discuss ways to resolve trauma, build stress tolerance, increase intrinsic motivation and even change temperament. We also discuss how social media, gaming and online dating shape our identity and perceptions and how to navigate them healthily.\n\nShow notes: https://go.hubermanlab.com/GQzMkKb\n\nThank you to our sponsors\nAG1: \u2060https://drinkag1.com/huberman\nLingo: \u2060https://hellolingo.com/huberman\nJoovv: \u2060https://joovv.com/huberman\nFunction: \u2060https://functionhealth.com/huberman\nEight Sleep: \u2060https://eightsleep.com/huberman\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\nDr. K\nWebsite: https://www.healthygamer.gg \nBook: https://amzn.to/4cSqejZ \nPodcast: https://open.spotify.com/show/6VaJwyS2KXxiXqR77jqzmP \nYouTube: https://www.youtube.com/channel/UClHVl2N3jPEbkNJVx-ItQIQ \nX: https://x.com/dr_alokkanojia\nInstagram: https://www.instagram.com/healthygamer_gg\nTikTok: https://www.tiktok.com/@healthygamer.gg \nTwitch: https://www.twitch.tv/healthygamer_gg \nLinkedIn: https://www.linkedin.com/in/alok-kanojia-md-mph-82860016 \n\nTimestamps\n00:00:00 Alok Kanojia (Dr. K)\n00:03:09 Internet, Computer Games; Academic Pressure\n00:07:11 Millennials & Self-Awareness, Hijacking Mental Health Language\n00:13:24 Sponsors: Lingo & Joovv\n00:16:06 Personality & Individual Road Maps, Misdiagnosis\n00:22:02 Ambiguity, Flirting, Social Skills Decline, Uncertainty Tolerance\n00:26:06 Dating in the Internet Age, Cognitive Bias\n00:30:39 Healthy Distress Tolerance, Tool: How to Feel Your Feelings\n00:39:58 Sponsor: AG1\n00:40:49 Expectations vs Internal Desire Roadmap, Western vs Eastern Theory of Mind, Ego\n00:50:35 Sense Organs, Comparison & Proving Oneself, Internal Drive\n00:59:22 Internet, Ego, \"Teflon Buddha\", Tool: Dealing with Criticism\n01:10:36 Observing One's Mind, Meditation, Psychedelics\n01:11:59 Sponsor: Function\n01:13:46 Tool: Shunya \"Void\" Meditation & Resilience\n01:24:02 External Reminders, Environment; Men & Emotional Regulation\n01:30:04 Samskara, Yoga Nidra, Trauma & Learning, Shunya & Personal Compass\n01:39:15 Yoga Nidra, Channeling Divinity, Genius\n01:42:30 Sponsor: Eight Sleep\n01:43:48 Breathwork Practices; Meditation Science, Self-Esteem & Belief Change\n01:53:40 Liminal States, Meditation Types & Benefits; Western & Eastern Balance\n02:01:50 Understanding Ego & Perception; AI & Narcissism, Psychosis\n02:14:07 Tool: Healthy Social Media Use, When To Not Use, Normal Standards\n02:18:38 Social Media & Looks Obsession, Purpose, Charisma\n02:24:18 Young Men Falling Behind?, Male Support, Suicide; Men in Relationships\n02:30:36 \"Stuck\" Young Men, Failure to Launch, Tool: Motivation & Understanding Oneself\n02:39:03 Pornography, Erectile Dysfunction, Emotions, Addiction; Relationships\n02:44:21 Men & Love, Looksmaxxing, Rejection, Partner Characteristics, Tool: Walk Before Dates\n02:55:12 Exploring Practices, Meditation, Breathwork\n03:01:39 Spirituality, Personal Exploration; Acknowledgements\n03:06:12 Zero-Cost Support, YouTube, Spotify & Apple Follow, Reviews & Feedback, Sponsors, \u2060Protocols Book\u2060, Social Media, Neural Network Newsletter\n\n#HubermanLab #Health #HealthyGamer\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Unlearn Negative Thoughts & Behaviors Patterns | Dr. Alok Kanojia (Healthy Gamer)", "40b992c9-729d-4139-ab6b-38f91630baf3", 11323, false, "9G2MRFs4vac", "https://www.youtube.com/watch?v=9G2MRFs4vac", 1, "/downloads/Andrew Huberman/2026-03-02 Unlearn Negative Thoughts & Behaviors Patterns | Dr. Alok Kanojia (Healthy Gamer)/Unlearn Negative Thoughts & Behaviors Patterns | Dr. Alok Kanojia (Healthy Gamer) [9G2MRFs4vac].mp4", false, false, false, 3, [], 1, ~U[2026-03-02 13:00:12Z], ~U[2026-09-16 21:07:59Z], ~U[2026-09-16 21:07:59Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n Dr. Alok Kanojia, MD, MPH (\"Dr. K\"), is a Harvard-trained psychiatrist and expert in both Eastern and Western medicine to improve mental health. He explains tools for unlearning maladaptive thoughts and behavior patterns and for making behaviors that better mental and physical well-being more reflexive in work, relationships and daily life. We also discuss ways to resolve trauma, build stress tolerance, increase intrinsic motivation and even change temperament. We also discuss how social media, gaming and online dating shape our identity and perceptions and how to navigate them healthily.\n\nShow notes: https://go.hubermanlab.com/GQzMkKb\n\nThank you to our sponsors\nAG1: \u2060https://drinkag1.com/huberman\nLingo: \u2060https://hellolingo.com/huberman\nJoovv: \u2060https://joovv.com/huberman\nFunction: \u2060https://functionhealth.com/huberman\nEight Sleep: \u2060https://eightsleep.com/huberman\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\nDr. K\nWebsite: https://www.healthygamer.gg \nBook: https://amzn.to/4cSqejZ \nPodcast: https://open.spotify.com/show/6VaJwyS2KXxiXqR77jqzmP \nYouTube: https://www.youtube.com/channel/UClHVl2N3jPEbkNJVx-ItQIQ \nX: https://x.com/dr_alokkanojia\nInstagram: https://www.instagram.com/healthygamer_gg\nTikTok: https://www.tiktok.com/@healthygamer.gg \nTwitch: https://www.twitch.tv/healthygamer_gg \nLinkedIn: https://www.linkedin.com/in/alok-kanojia-md-mph-82860016 \n\nTimestamps\n00:00:00 Alok Kanojia (Dr. K)\n00:03:09 Internet, Computer Games; Academic Pressure\n00:07:11 Millennials & Self-Awareness, Hijacking Mental Health Language\n00:13:24 Sponsors: Lingo & Joovv\n00:16:06 Personality & Individual Road Maps, Misdiagnosis\n00:22:02 Ambiguity, Flirting, Social Skills Decline, Uncertainty Tolerance\n00:26:06 Dating in the Internet Age, Cognitive Bias\n00:30:39 Healthy Distress Tolerance, Tool: How to Feel Your Feelings\n00:39:58 Sponsor: AG1\n00:40:49 Expectations vs Internal Desire Roadmap, Western vs Eastern Theory of Mind, Ego\n00:50:35 Sense Organs, Comparison & Proving Oneself, Internal Drive\n00:59:22 Internet, Ego, \"Teflon Buddha\", Tool: Dealing with Criticism\n01:10:36 Observing One's Mind, Meditation, Psychedelics\n01:11:59 Sponsor: Function\n01:13:46 Tool: Shunya \"Void\" Meditation & Resilience\n01:24:02 External Reminders, Environment; Men & Emotional Regulation\n01:30:04 Samskara, Yoga Nidra, Trauma & Learning, Shunya & Personal Co (truncated) 21:07:59.127 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [3] 21:07:59.128 [debug] QUERY OK source="media_profiles" db=0.9ms idle=11.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:07:59.129 [debug] QUERY OK source="media_items" db=0.4ms idle=12.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 [66] 21:07:59.129 [debug] Current batch of media processed. Will check again in 1000ms 21:08:00.131 [debug] Current batch of media processed. Will check again in 1000ms 21:08:00.280 [info] {"source":"oban","duration":181,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:08:01.132 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In How to Plan Your Life, a six-hour course, Dr. Jordan Peterson explores the principles of personal development, meaningful living, and psychological transformation. He examines the interplay between order and chaos, the role of boundaries and vision-setting, and how instincts and motivations shape identity. Through psychological insights, Biblical narratives, and practical strategies, the course emphasizes personal responsibility, the pursuit of meaning, and the power of individual choices. Dr. Peterson concludes by highlighting how self-reflection, courageous action, and truthful living drive transformation and shape both personal and societal growth.\n\nSee more at http://www.petersonacademy.com and make sure to subscribe to \u202A@PetersonAcademy for more uploaded lectures!", "duration" => 3719, "filename" => "/downloads/Jordan B Peterson/2025-11-20 How to Plan Your Life | Lecture One (Official) | Peterson Academy/How to Plan Your Life | Lecture One (Official) | Peterson Academy [h69SwIn-bA4].mp4", "id" => "h69SwIn-bA4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=h69SwIn-bA4", "playlist_index" => 2, "timestamp" => 1763664869, "title" => "How to Plan Your Life | Lecture One (Official) | Peterson Academy", "upload_date" => "20251120"} 21:08:01.132 [debug] QUERY OK source="sources" db=0.2ms idle=852.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:01.133 [debug] QUERY OK source="sources" db=0.1ms idle=337.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:01.133 [debug] QUERY OK source="media_items" db=0.4ms idle=337.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-20 18:54:29Z], 3] 21:08:01.136 [debug] QUERY OK source="media_items" db=2.0ms idle=338.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In How to Plan Your Life, a six-hour course, Dr. Jordan Peterson explores the principles of personal development, meaningful living, and psychological transformation. He examines the interplay between order and chaos, the role of boundaries and vision-setting, and how instincts and motivations shape identity. Through psychological insights, Biblical narratives, and practical strategies, the course emphasizes personal responsibility, the pursuit of meaning, and the power of individual choices. Dr. Peterson concludes by highlighting how self-reflection, courageous action, and truthful living drive transformation and shape both personal and societal growth.\n\nSee more at http://www.petersonacademy.com and make sure to subscribe to \u202A@PetersonAcademy for more uploaded lectures!", "How to Plan Your Life | Lecture One (Official) | Peterson Academy", "dd13fa00-8e37-4316-8695-52c36f4b0dcd", 3719, false, "h69SwIn-bA4", "https://www.youtube.com/watch?v=h69SwIn-bA4", 2, "/downloads/Jordan B Peterson/2025-11-20 How to Plan Your Life | Lecture One (Official) | Peterson Academy/How to Plan Your Life | Lecture One (Official) | Peterson Academy [h69SwIn-bA4].mp4", false, false, false, 3, [], 1, ~U[2025-11-20 18:54:29Z], ~U[2026-09-16 21:08:01Z], ~U[2026-09-16 21:08:01Z], "In How to Plan Your Life, a six-hour course, Dr. Jordan Peterson explores the principles of personal development, meaningful living, and psychological transformation. He examines the interplay between order and chaos, the role of boundaries and vision-setting, and how instincts and motivations shape identity. Through psychological insights, Biblical narratives, and practical strategies, the course emphasizes personal responsibility, the pursuit of meaning, and the power of individual choices. Dr. Peterson concludes by highlighting how self-reflection, courageous action, and truthful living drive transformation and shape both personal and societal growth.\n\nSee more at http://www.petersonacademy.com and make sure to subscribe to \u202A@PetersonAcademy for more uploaded lectures!", "How to Plan Your Life | Lecture One (Official) | Peterson Academy", 3719, false, "h69SwIn-bA4", "https://www.youtube.com/watch?v=h69SwIn-bA4", "/downloads/Jordan B Peterson/2025-11-20 How to Plan Your Life | Lecture One (Official) | Peterson Academy/How to Plan Your Life | Lecture One (Official) | Peterson Academy [h69SwIn-bA4].mp4", false, 3, ~U[2025-11-20 18:54:29Z]] 21:08:01.137 [debug] QUERY OK source="sources" db=0.3ms idle=46.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:01.137 [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] 21:08:01.137 [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 [68] 21:08:01.138 [debug] Current batch of media processed. Will check again in 1000ms 21:08:02.139 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 2.0, "description" => "Simon Sinek is a speaker, founder, and an author. \n\nWe live in an age of uncertainty, where finding purpose in your life feels harder than ever. So, how do you find a purpose that moves you and trust that it’s worth pursuing? How can you be sure your purpose serves both yourself and the world? In a world starved for meaning, finding yours might be the most important thing you ever do.\n\nExpect to learn if we are in a crisis of purpose, how to deliberately cultivate meaning in your life, how to find your Why and and what makes for a good Why, which struggles Gen Z can learn from millennials mistakes, why men are specifically are struggling with directionlessness in the modern world, if loneliness the cost of leadership, how you can apply an infinite mindset to your personal life and not just business, and much more...\n\n-\n\n00:00 Are We In A Crisis Of Purpose?\n09:32 Why It's Important To Sit In 'The Mud' With Someone\n22:24 Simon’s Definition of Friendship\n35:45 Everyone Thinks They Are On The Side Of Good\n44:04 Reverse Frankl Law & How Maslow Got It Wrong\n53:40 Success Is Learning Failure Can Be A Good Thing\n1:04:19 How To Stop Feeling Guilty When You Take A Day Off\n1:10:41 Don’t Confuse Your Goals With Life Purpose\n1:22:38 Reflecting On The “Millennial Question” 10 Years Later\n1:36:03 Advice For Someone Paralyzed By Fear\n1:41:21 What’s Next For Simon\n\n-\n\nGet up to $350 off the Pod 5 at https://eightsleep.com/modernwisdom\n\nGet 5 Free Travel Packs, Free Liquid Vitamin D, and more from AG1 at https://ag1.info/modernwisdom\n\nGet the best bloodwork analysis in America at https://functionhealth.com/modernwisdom\n\nGet a Free Sample Pack of LMNT’s most popular Flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spoti.fi/2LSimPn or Apple Podcasts - https://apple.co/2MNqIgw\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "duration" => 6225, "filename" => "/downloads/Chris Williamson/2025-07-07 Love, Friendship & a More Meaningful Life - Simon Sinek (4K)/Love, Friendship & a More Meaningful Life - Simon Sinek (4K) [oZLR2HVQj9A].mp4", "id" => "oZLR2HVQj9A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oZLR2HVQj9A", "playlist_index" => 3, "timestamp" => 1751900494, "title" => "Love, Friendship & a More Meaningful Life - Simon Sinek (4K)", "upload_date" => "20250707"} 21:08:02.140 [debug] QUERY OK source="sources" db=0.3ms idle=1003.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:02.141 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:02.142 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=1004.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-07 15:01:34Z], 3] 21:08:02.147 [debug] QUERY OK source="media_items" db=3.8ms idle=1005.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Simon Sinek is a speaker, founder, and an author. \n\nWe live in an age of uncertainty, where finding purpose in your life feels harder than ever. So, how do you find a purpose that moves you and trust that it’s worth pursuing? How can you be sure your purpose serves both yourself and the world? In a world starved for meaning, finding yours might be the most important thing you ever do.\n\nExpect to learn if we are in a crisis of purpose, how to deliberately cultivate meaning in your life, how to find your Why and and what makes for a good Why, which struggles Gen Z can learn from millennials mistakes, why men are specifically are struggling with directionlessness in the modern world, if loneliness the cost of leadership, how you can apply an infinite mindset to your personal life and not just business, and much more...\n\n-\n\n00:00 Are We In A Crisis Of Purpose?\n09:32 Why It's Important To Sit In 'The Mud' With Someone\n22:24 Simon’s Definition of Friendship\n35:45 Everyone Thinks They Are On The Side Of Good\n44:04 Reverse Frankl Law & How Maslow Got It Wrong\n53:40 Success Is Learning Failure Can Be A Good Thing\n1:04:19 How To Stop Feeling Guilty When You Take A Day Off\n1:10:41 Don’t Confuse Your Goals With Life Purpose\n1:22:38 Reflecting On The “Millennial Question” 10 Years Later\n1:36:03 Advice For Someone Paralyzed By Fear\n1:41:21 What’s Next For Simon\n\n-\n\nGet up to $350 off the Pod 5 at https://eightsleep.com/modernwisdom\n\nGet 5 Free Travel Packs, Free Liquid Vitamin D, and more from AG1 at https://ag1.info/modernwisdom\n\nGet the best bloodwork analysis in America at https://functionhealth.com/modernwisdom\n\nGet a Free Sample Pack of LMNT’s most popular Flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spoti.fi/2LSimPn or Apple Podcasts - https://apple.co/2MNqIgw\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "Love, Friendship & a More Meaningful Life - Simon Sinek (4K)", "637995fb-f4cd-4f6a-8d1d-da259afc8c33", 6225, false, "oZLR2HVQj9A", "https://www.youtube.com/watch?v=oZLR2HVQj9A", 3, "/downloads/Chris Williamson/2025-07-07 Love, Friendship & a More Meaningful Life - Simon Sinek (4K)/Love, Friendship & a More Meaningful Life - Simon Sinek (4K) [oZLR2HVQj9A].mp4", false, false, false, 3, [], 1, ~U[2025-07-07 15:01:34Z], ~U[2026-09-16 21:08:02Z], ~U[2026-09-16 21:08:02Z], "Simon Sinek is a speaker, founder, and an author. \n\nWe live in an age of uncertainty, where finding purpose in your life feels harder than ever. So, how do you find a purpose that moves you and trust that it’s worth pursuing? How can you be sure your purpose serves both yourself and the world? In a world starved for meaning, finding yours might be the most important thing you ever do.\n\nExpect to learn if we are in a crisis of purpose, how to deliberately cultivate meaning in your life, how to find your Why and and what makes for a good Why, which struggles Gen Z can learn from millennials mistakes, why men are specifically are struggling with directionlessness in the modern world, if loneliness the cost of leadership, how you can apply an infinite mindset to your personal life and not just business, and much more...\n\n-\n\n00:00 Are We In A Crisis Of Purpose?\n09:32 Why It's Important To Sit In 'The Mud' With Someone\n22:24 Simon’s Definition of Friendship\n35:45 Everyone Thinks They Are On The Side Of Good\n44:04 Reverse Frankl Law & How Maslow Got It Wrong\n53:40 Success Is Learning Failure Can Be A Good Thing\n1:04:19 How To Stop Feeling Guilty When You Take A Day Off\n1:10:41 Don’t Confuse Your Goals With Life Purpose\n1:22:38 Reflecting On The “Millennial Question” 10 Years Later\n1:36:03 Advice For Someone Paralyzed By Fear\n1:41:21 What’s Next For Simon\n\n-\n\nGet up to $350 off the Pod 5 at https://eightsleep.com/modernwisdom\n\nGet 5 Free Travel Packs, Free Liquid Vitamin D, and more from AG1 at https://ag1.info/modernwisdom\n\nGet the best bloodwork analysis in America at https://functionhealth.com/modernwisdom\n\nGet a Free Sample Pack of LMNT’s most popular Flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spoti.fi/2LSimPn or Apple Podcasts - https://apple.co/2MNqIgw\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "Love, Friendship & a More Meaningful Life - Simon Sinek (4K)", 6225, false, "oZLR2HVQj9A", "https://www.youtube.com/watch?v=oZLR2HVQj9A", "/downloads/Chris Williamson/2025-07-07 Love, Friendship & a More Meaningful Life - Simon Sinek (4K)/Love, Friendship & a More Meaningful Life - Simon Sinek (4K) [oZLR2HVQj9A].mp4", false, 3, ~U[2025-07-07 15:01:34Z]] 21:08:02.148 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [3] 21:08:02.149 [debug] QUERY OK source="media_profiles" db=0.8ms 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] 21:08:02.150 [debug] QUERY OK source="media_items" db=0.4ms 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 [70] 21:08:02.150 [debug] Current batch of media processed. Will check again in 1000ms 21:08:03.151 [debug] Current batch of media processed. Will check again in 1000ms 21:08:04.152 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n This is the second episode of Huberman Lab Essentials — short episodes (approximately 30 minutes) focused on essential science and protocol takeaways from past Huberman Lab episodes.\n\nThis Essentials episode offers insights into what makes us sleepy, helps us sleep soundly, and feel awake and alert. It covers a wide range of tools for anyone looking to improve their sleep and wakefulness, with the science and reasoning behind each tool explained.\n\nEssentials will be released every Thursday, and our full-length episodes will still be released every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/FESj0fJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/nm1TxQj9IsQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Introduction to Sleep & Wakefulness\n00:01:11 The Science of Sleep: Adenosine Explained\n00:03:30 Circadian Rhythms: The Body’s Internal Clock\n00:05:08 The Role of Cortisol & Melatonin\n00:10:16 Maximizing Morning Light Exposure\n00:14:12 Other Factors Influencing Circadian Rhythms\n00:16:08 The Impact of Light on Sleep Quality\n00:24:31 Napping & Non-Sleep Deep Rest\n\n#HubermanLab #Science #Sleep\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 2040, "filename" => "/downloads/Andrew Huberman/2024-11-21 Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials/Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials [lIo9FcrljDk].mp4", "id" => "lIo9FcrljDk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lIo9FcrljDk", "playlist_index" => 4, "timestamp" => 1732194052, "title" => "Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials", "upload_date" => "20241121"} 21:08:04.153 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=356.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:04.154 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=357.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:04.156 [debug] QUERY OK source="media_items" db=1.6ms idle=358.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-21 13:00:52Z], 3] 21:08:04.163 [debug] QUERY OK source="media_items" db=5.2ms queue=0.2ms idle=361.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n This is the second episode of Huberman Lab Essentials — short episodes (approximately 30 minutes) focused on essential science and protocol takeaways from past Huberman Lab episodes.\n\nThis Essentials episode offers insights into what makes us sleepy, helps us sleep soundly, and feel awake and alert. It covers a wide range of tools for anyone looking to improve their sleep and wakefulness, with the science and reasoning behind each tool explained.\n\nEssentials will be released every Thursday, and our full-length episodes will still be released every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/FESj0fJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/nm1TxQj9IsQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Introduction to Sleep & Wakefulness\n00:01:11 The Science of Sleep: Adenosine Explained\n00:03:30 Circadian Rhythms: The Body’s Internal Clock\n00:05:08 The Role of Cortisol & Melatonin\n00:10:16 Maximizing Morning Light Exposure\n00:14:12 Other Factors Influencing Circadian Rhythms\n00:16:08 The Impact of Light on Sleep Quality\n00:24:31 Napping & Non-Sleep Deep Rest\n\n#HubermanLab #Science #Sleep\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials", "86283251-f9f6-44dc-9dcd-cee96058623b", 2040, false, "lIo9FcrljDk", "https://www.youtube.com/watch?v=lIo9FcrljDk", 4, "/downloads/Andrew Huberman/2024-11-21 Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials/Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials [lIo9FcrljDk].mp4", false, false, false, 3, [], 1, ~U[2024-11-21 13:00:52Z], ~U[2026-09-16 21:08:04Z], ~U[2026-09-16 21:08:04Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n This is the second episode of Huberman Lab Essentials — short episodes (approximately 30 minutes) focused on essential science and protocol takeaways from past Huberman Lab episodes.\n\nThis Essentials episode offers insights into what makes us sleepy, helps us sleep soundly, and feel awake and alert. It covers a wide range of tools for anyone looking to improve their sleep and wakefulness, with the science and reasoning behind each tool explained.\n\nEssentials will be released every Thursday, and our full-length episodes will still be released every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/FESj0fJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/nm1TxQj9IsQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Introduction to Sleep & Wakefulness\n00:01:11 The Science of Sleep: Adenosine Explained\n00:03:30 Circadian Rhythms: The Body’s Internal Clock\n00:05:08 The Role of Cortisol & Melatonin\n00:10:16 Maximizing Morning Light Exposure\n00:14:12 Other Factors Influencing Circadian Rhythms\n00:16:08 The Impact of Light on Sleep Quality\n00:24:31 Napping & Non-Sleep Deep Rest\n\n#HubermanLab #Science #Sleep\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials", 2040, false, "lIo9FcrljDk", "https://www.youtube.com/watch?v=lIo9FcrljDk", "/downloads/Andrew Huberman/2024-11-21 Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials/Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials [lIo9FcrljDk].mp4", false, 3, ~U[2024-11-21 13:00:52Z]] 21:08:04.164 [debug] QUERY OK source="sources" db=0.5ms idle=69.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:04.165 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 21:08:04.168 [debug] QUERY OK source="media_items" db=2.8ms idle=11.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [74] 21:08:04.168 [debug] Current batch of media processed. Will check again in 1000ms 21:08:05.170 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Trying to live your own life is difficult, especially when you have to fight against what your parents want for you. Healthy Gamer Coaching can help you create a plan to talk to your parents and move past their expectations. It's time to start living the life YOU want to, not what THEY want. Learn More Here: https://bit.ly/3HEIjAE\n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n\n0:00 -Preview\n1:06 - Reddit Post\n3:57 - Cultural challenges and expectations\n4:52 - Your parents' redemption arc\n7:42 - The inner critical parents\n18:06 - Dealing with unrealistic expectations\n20:25 - Use their values against their values\n26:48 - Limit setting\n32:22 - Real life application\n34:20 - Practicality\n37:53 - Questions\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "duration" => 2658, "filename" => "/downloads/HealthyGamerGG/2022-06-17 How to Start Living Your Own Life/How to Start Living Your Own Life [hKnRO7CMTAs].mp4", "id" => "hKnRO7CMTAs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hKnRO7CMTAs", "playlist_index" => 5, "timestamp" => 1655474420, "title" => "How to Start Living Your Own Life", "upload_date" => "20220617"} 21:08:05.171 [debug] QUERY OK source="sources" db=0.4ms idle=1007.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:05.171 [debug] QUERY OK source="sources" db=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" = ?) [3] 21:08:05.172 [debug] QUERY OK source="media_items" db=0.3ms idle=1006.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-06-17 14:00:20Z], 3] 21:08:05.175 [debug] QUERY OK source="media_items" db=2.2ms idle=1004.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Trying to live your own life is difficult, especially when you have to fight against what your parents want for you. Healthy Gamer Coaching can help you create a plan to talk to your parents and move past their expectations. It's time to start living the life YOU want to, not what THEY want. Learn More Here: https://bit.ly/3HEIjAE\n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n\n0:00 -Preview\n1:06 - Reddit Post\n3:57 - Cultural challenges and expectations\n4:52 - Your parents' redemption arc\n7:42 - The inner critical parents\n18:06 - Dealing with unrealistic expectations\n20:25 - Use their values against their values\n26:48 - Limit setting\n32:22 - Real life application\n34:20 - Practicality\n37:53 - Questions\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "How to Start Living Your Own Life", "c1e19264-a518-48e6-83d3-4628131ad4f1", 2658, false, "hKnRO7CMTAs", "https://www.youtube.com/watch?v=hKnRO7CMTAs", 5, "/downloads/HealthyGamerGG/2022-06-17 How to Start Living Your Own Life/How to Start Living Your Own Life [hKnRO7CMTAs].mp4", false, false, false, 3, [], 1, ~U[2022-06-17 14:00:20Z], ~U[2026-09-16 21:08:05Z], ~U[2026-09-16 21:08:05Z], "Trying to live your own life is difficult, especially when you have to fight against what your parents want for you. Healthy Gamer Coaching can help you create a plan to talk to your parents and move past their expectations. It's time to start living the life YOU want to, not what THEY want. Learn More Here: https://bit.ly/3HEIjAE\n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n\n0:00 -Preview\n1:06 - Reddit Post\n3:57 - Cultural challenges and expectations\n4:52 - Your parents' redemption arc\n7:42 - The inner critical parents\n18:06 - Dealing with unrealistic expectations\n20:25 - Use their values against their values\n26:48 - Limit setting\n32:22 - Real life application\n34:20 - Practicality\n37:53 - Questions\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "How to Start Living Your Own Life", 2658, false, "hKnRO7CMTAs", "https://www.youtube.com/watch?v=hKnRO7CMTAs", "/downloads/HealthyGamerGG/2022-06-17 How to Start Living Your Own Life/How to Start Living Your Own Life [hKnRO7CMTAs].mp4", false, 3, ~U[2022-06-17 14:00:20Z]] 21:08:05.175 [debug] QUERY OK source="sources" db=0.2ms idle=79.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:05.176 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:08:05.177 [debug] QUERY OK source="media_items" db=0.3ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [72] 21:08:05.177 [debug] Current batch of media processed. Will check again in 1000ms 21:08:06.178 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Dr. Jordan B. Peterson and Andrew Huberman discuss neurology, the way humans and animals react to specific stimuli, and how this knowledge can be utilized for personal growth.\n \nDr. Andrew Huberman is a neuroscientist, and tenured professor in the department of neurobiology at the Stanford University School of Medicine. He runs the Huberman Lab, which has made significant contributions to the fields of brain development, brain function and neural plasticity. Dr. Huberman’s most recent work revolves around the influence of vision and respiration on human performance and brain states such as fear and courage. In 2017, he was chosen to receive the Cogan award, which is awarded to the scientist making the most significant discoveries in the study of vision. Work from the Huberman Laboratory has been published in top journals including Nature, Science, and Cell and has been featured in TIME, BBC, Scientific American, Discover, and other top media outlets. In 2021, Dr. Huberman launched the Huberman Lab Podcast, and has since grown to over 1.5 million subscribers.\n\nDr Peterson's extensive catalog is available now on DailyWire+: https://utm.io/ueSXh\n\n\n—Links— \n\nFor Andrew Huberman\n\nInstagram https://www.instagram.com/hubermanlab/?hl=en \n\nTwitter https://twitter.com/hubermanlab?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor \n\nWebsite https://hubermanlab.com/\n\nYoutube https://www.youtube.com/channel/UC2D2CMWXMOVWx7giW1n3LIg \n\n\n—Sponsors— \n\nBirch Gold: Text \"JORDAN\" to 989898 for your no-cost, no-obligation, FREE information kit\n\n\n—Chapters—\n\n(0:00) Coming Up\n(0:57) Intro \n(3:18) Where anxiety stems from\n(11:57) Flipping the autonomic response\n(23:10) Power of the prefrontal cortex\n(30:00) Accessing our alternate selves\n(36:25) When you stimulate the Insular cortex\n(42:08) The one true world currency\n(46:38) Dopamine’s pleasure derives from anticipation\n(50:10) Depressive cascades\n(54:12) Assess errors by state, not trait\n(1:01:45) Dopamine chases outer stimuli\n(1:04:13) Can new stimuli rewrite our neural pathways?\n(1:09:27) Manifesting and the dopamine cycle\n(1:15:59) Adrenaline, micro-narratives\n(1:20:33) Sustained attention and reward\n(1:27:03) Zone of proximal development\n(1:32:23) Resisting the easy dopamine hit, avoiding addiction\n\n// SUPPORT THIS CHANNEL //\nNewsletter: https://mailchi.mp/jordanbpeterson.com/youtubesignup\nDonations: https://jordanbpeterson.com/donate\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n// LINKS //\nWebsite: https://jordanbpeterson.com\nEvents: https://jordanbpeterson.com/events\nBlog: https://jordanbpeterson.com/blog\n\n// SOCIAL //\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://instagram.com/jordan.b.peterson\nFacebook: https://facebook.com/drjordanpeterson\nTelegram: https://t.me/DrJordanPeterson\nAll socials: https://linktr.ee/drjordanbpeterson\n\n#JordanPeterson #JordanBPeterson #DrJordanPeterson #drjordanbpeterson #DailyWirePlus #podcast #andrewhuberman #neurology #psychology #mentalhealth #neuroscience", "duration" => 6152, "filename" => "/downloads/Jordan B Peterson/2022-10-13 Neuroscience Meets Psychology | Dr. Andrew Huberman | EP 296/Neuroscience Meets Psychology | Dr. Andrew Huberman | EP 296 [z-mJEZbHFLs].mp4", "id" => "z-mJEZbHFLs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=z-mJEZbHFLs", "playlist_index" => 6, "timestamp" => 1665673661, "title" => "Neuroscience Meets Psychology | Dr. Andrew Huberman | EP 296", "upload_date" => "20221013"} 21:08:06.179 [debug] QUERY OK source="sources" db=0.3ms idle=1003.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:06.179 [debug] QUERY OK source="sources" db=0.1ms idle=1003.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:06.180 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-10-13 15:07:41Z], 3] 21:08:06.183 [debug] QUERY OK source="media_items" db=2.6ms idle=1003.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dr. Jordan B. Peterson and Andrew Huberman discuss neurology, the way humans and animals react to specific stimuli, and how this knowledge can be utilized for personal growth.\n \nDr. Andrew Huberman is a neuroscientist, and tenured professor in the department of neurobiology at the Stanford University School of Medicine. He runs the Huberman Lab, which has made significant contributions to the fields of brain development, brain function and neural plasticity. Dr. Huberman’s most recent work revolves around the influence of vision and respiration on human performance and brain states such as fear and courage. In 2017, he was chosen to receive the Cogan award, which is awarded to the scientist making the most significant discoveries in the study of vision. Work from the Huberman Laboratory has been published in top journals including Nature, Science, and Cell and has been featured in TIME, BBC, Scientific American, Discover, and other top media outlets. In 2021, Dr. Huberman launched the Huberman Lab Podcast, and has since grown to over 1.5 million subscribers.\n\nDr Peterson's extensive catalog is available now on DailyWire+: https://utm.io/ueSXh\n\n\n—Links— \n\nFor Andrew Huberman\n\nInstagram https://www.instagram.com/hubermanlab/?hl=en \n\nTwitter https://twitter.com/hubermanlab?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor \n\nWebsite https://hubermanlab.com/\n\nYoutube https://www.youtube.com/channel/UC2D2CMWXMOVWx7giW1n3LIg \n\n\n—Sponsors— \n\nBirch Gold: Text \"JORDAN\" to 989898 for your no-cost, no-obligation, FREE information kit\n\n\n—Chapters—\n\n(0:00) Coming Up\n(0:57) Intro \n(3:18) Where anxiety stems from\n(11:57) Flipping the autonomic response\n(23:10) Power of the prefrontal cortex\n(30:00) Accessing our alternate selves\n(36:25) When you stimulate the Insular cortex\n(42:08) The one true world currency\n(46:38) Dopamine’s pleasure derives from anticipation\n(50:10) Depressive cascades\n(54:12) Assess errors by state, not trait\n(1:01:45) Dopamine chases outer stimuli\n(1:04:13) Can new stimuli rewrite our neural pathways?\n(1:09:27) Manifesting and the dopamine cycle\n(1:15:59) Adrenaline, micro-narratives\n(1:20:33) Sustained attention and reward\n(1:27:03) Zone of proximal development\n(1:32:23) Resisting the easy dopamine hit, avoiding addiction\n\n// SUPPORT THIS CHANNEL //\nNewsletter: https://mailchi.mp/jordanbpeterson.com/youtubesignup\nDonations: https://jordanbpeterson.com/donate\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n// LINKS //\nWebsite: https://jordanbpeterson.com\nEvents: https://jordanbpeterson.com/events\nBlog: https://jordanbpeterson.com/blog\n\n// SOCIAL //\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://instagram.com/jordan.b.peterson\nFacebook: https://facebook.com/drjordanpeterson\nTelegram: https://t.me/DrJordanPeterson\nAll socials: https://linktr.ee/drjordanbpeterson\n\n#JordanPeterson #JordanBPeterson #DrJordanPeterson #drjordanbpeterson #DailyWirePlus #podcast #andrewhuberman #neurology #psychology #mentalhealth #neuroscience", "Neuroscience Meets Psychology | Dr. Andrew Huberman | EP 296", "16697a82-374f-4c59-9a5b-d8fd905cf028", 6152, false, "z-mJEZbHFLs", "https://www.youtube.com/watch?v=z-mJEZbHFLs", 6, "/downloads/Jordan B Peterson/2022-10-13 Neuroscience Meets Psychology | Dr. Andrew Huberman | EP 296/Neuroscience Meets Psychology | Dr. Andrew Huberman | EP 296 [z-mJEZbHFLs].mp4", false, false, false, 3, [], 1, ~U[2022-10-13 15:07:41Z], ~U[2026-09-16 21:08:06Z], ~U[2026-09-16 21:08:06Z], "Dr. Jordan B. Peterson and Andrew Huberman discuss neurology, the way humans and animals react to specific stimuli, and how this knowledge can be utilized for personal growth.\n \nDr. Andrew Huberman is a neuroscientist, and tenured professor in the department of neurobiology at the Stanford University School of Medicine. He runs the Huberman Lab, which has made significant contributions to the fields of brain development, brain function and neural plasticity. Dr. Huberman’s most recent work revolves around the influence of vision and respiration on human performance and brain states such as fear and courage. In 2017, he was chosen to receive the Cogan award, which is awarded to the scientist making the most significant discoveries in the study of vision. Work from the Huberman Laboratory has been published in top journals including Nature, Science, and Cell and has been featured in TIME, BBC, Scientific American, Discover, and other top media outlets. In 2021, Dr. Huberman launched the Huberman Lab Podcast, and has since grown to over 1.5 million subscribers.\n\nDr Peterson's extensive catalog is available now on DailyWire+: https://utm.io/ueSXh\n\n\n—Links— \n\nFor Andrew Huberman\n\nInstagram https://www.instagram.com/hubermanlab/?hl=en \n\nTwitter https://twitter.com/hubermanlab?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor \n\nWebsite https://hubermanlab.com/\n\nYoutube https://www.youtube.com/channel/UC2D2CMWXMOVWx7giW1n3LIg \n\n\n—Sponsors— \n\nBirch Gold: Text \"JORDAN\" to 989898 for your no-cost, no-obligation, FREE information kit\n\n\n—Chapters—\n\n(0:00) Coming Up\n(0:57) Intro \n(3:18) Where anxiety stems from\n(11:57) Flipping the autonomic response\n(23:10) Power of the prefrontal cortex\n(30:00) Accessing our alternate selves\n(36:25) When you stimulate the Insular cortex\n(42:08) The one true world currency\n(46:38) Dopamine’s pleasure derives from anticipation\n(50:10) Depressive cascades\n(54:12) Assess errors by state, not trait\n(1:01:45) Dopamine chases outer stimuli\n(1:04:13) Can new stimuli rewrite our neural pathways?\n(1:09:27) Manifesting and the dopamine cycle\n(1:15:59) Adrenaline, micro-narratives\n(1:20:33) Sustained attention and reward\n(1:27:03) Zone of proximal development\n(1:32:23) Resisting the easy dopamine hit, avoiding addiction\n\n// SUPPORT THIS CHANNEL //\nNewsletter: https://mailchi.mp/jordanbpeterson.com/youtubesignup\nDonations: https://jordanbpeterson.com/donate\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n// LINKS //\nWebsite: https://jordanbpeterson.com\nEvents: https://jordanbpeterson.com/events\nBlog: https://jordanbpeterson.com/blog\n\n// SOCIAL //\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://instagram.com/jordan.b.peterson\nFacebook: https://facebook.com/drjordanpeterson\nTelegram: https://t.me/DrJordanPeterson\nAll socials: https://linktr.ee/drjordanbpeterson\n\n#JordanPeterson #JordanBPeterson #DrJordan (truncated) 21:08:06.184 [debug] QUERY OK source="sources" db=0.2ms idle=87.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:06.184 [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] 21:08:06.185 [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 [76] 21:08:06.185 [debug] Current batch of media processed. Will check again in 1000ms 21:08:07.186 [debug] Current batch of media processed. Will check again in 1000ms 21:08:08.187 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 2.0, "description" => "Matthew McConaughey is an Academy Award-winning actor, a producer and an author.\n\nExpect to learn why Matthew says life often “rhymes”, why it’s okay if you do everything right and still not get the result you want, how Matthew views the role courage plays in his life, how to learn to deal with failure, the difference between a nice guy and a good man, the most important principle Matthew refuses to compromise on, the appropriate balance of running toward a life you want vs. away from one that you fear, how to balance self-confidence with humility, the difference between “being” and “acting”, what it means to be more impressed with the wow instead of the how, rumors on Matthew’s return to the True Detective franchise, and much more…\n\n-\n\n0:00 What It Means When Life “Rhymes”\n9:34 How Forgiving Betrayal Can Free You\n20:32 Hope, Faith, and How To Become Your Own Hero\n25:47 This Approach to Success is Everything\n31:57 The Mindset That Will Change Your Outlook on Life\n41:11 How To Find Significance in the Noise\n53:30 The Power of Courage and Conviction\n01:00:31 How To Find Balance Between Life and Work\n01:10:31 The Difference Between a Nice Guy and a Good Man\n01:17:17 Principles Matthew Refuses To Compromise On\n01:29:15 Why We Need to Stop Cancelling Men\n01:34:31 Why Living Better Outweighs Living Longer\n01:40:55 How to Build Confidence\n01:47:10 How to Stop Worrying & Trust the Process\n01:52:16 On the Road with Matthew\n\n-\n\nGet 5 Free Travel Packs, Free Liquid Vitamin D, and more from AG1 at https://ag1.info/modernwisdom\n\nGet a Free Sample Pack of LMNT’s most popular flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\nGet $100 off the best bloodwork analysis in America at https://functionhealth.com/modernwisdom\n\nGet 35% off your first subscription on the best supplements from Momentous at https://livemomentous.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spotify.modernwisdom.com or Apple Podcasts - https://apple.modernwisdom.com\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "duration" => 7066, "filename" => "/downloads/Chris Williamson/2025-09-29 Living with Confidence & Going All In - Matthew McConaughey (4K)/Living with Confidence & Going All In - Matthew McConaughey (4K) [y_woFP79F0Q].mp4", "id" => "y_woFP79F0Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=y_woFP79F0Q", "playlist_index" => 7, "timestamp" => 1759158117, "title" => "Living with Confidence & Going All In - Matthew McConaughey (4K)", "upload_date" => "20250929"} 21:08:08.187 [debug] QUERY OK source="sources" db=0.2ms idle=391.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:08.188 [debug] QUERY OK source="sources" db=0.1ms idle=392.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:08.188 [debug] QUERY OK source="media_items" db=0.3ms idle=392.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-29 15:01:57Z], 3] 21:08:08.192 [debug] QUERY OK source="media_items" db=2.2ms idle=393.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Matthew McConaughey is an Academy Award-winning actor, a producer and an author.\n\nExpect to learn why Matthew says life often “rhymes”, why it’s okay if you do everything right and still not get the result you want, how Matthew views the role courage plays in his life, how to learn to deal with failure, the difference between a nice guy and a good man, the most important principle Matthew refuses to compromise on, the appropriate balance of running toward a life you want vs. away from one that you fear, how to balance self-confidence with humility, the difference between “being” and “acting”, what it means to be more impressed with the wow instead of the how, rumors on Matthew’s return to the True Detective franchise, and much more…\n\n-\n\n0:00 What It Means When Life “Rhymes”\n9:34 How Forgiving Betrayal Can Free You\n20:32 Hope, Faith, and How To Become Your Own Hero\n25:47 This Approach to Success is Everything\n31:57 The Mindset That Will Change Your Outlook on Life\n41:11 How To Find Significance in the Noise\n53:30 The Power of Courage and Conviction\n01:00:31 How To Find Balance Between Life and Work\n01:10:31 The Difference Between a Nice Guy and a Good Man\n01:17:17 Principles Matthew Refuses To Compromise On\n01:29:15 Why We Need to Stop Cancelling Men\n01:34:31 Why Living Better Outweighs Living Longer\n01:40:55 How to Build Confidence\n01:47:10 How to Stop Worrying & Trust the Process\n01:52:16 On the Road with Matthew\n\n-\n\nGet 5 Free Travel Packs, Free Liquid Vitamin D, and more from AG1 at https://ag1.info/modernwisdom\n\nGet a Free Sample Pack of LMNT’s most popular flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\nGet $100 off the best bloodwork analysis in America at https://functionhealth.com/modernwisdom\n\nGet 35% off your first subscription on the best supplements from Momentous at https://livemomentous.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spotify.modernwisdom.com or Apple Podcasts - https://apple.modernwisdom.com\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "Living with Confidence & Going All In - Matthew McConaughey (4K)", "b7a8e429-dbe1-401c-9a5a-b3369ceb1c0e", 7066, false, "y_woFP79F0Q", "https://www.youtube.com/watch?v=y_woFP79F0Q", 7, "/downloads/Chris Williamson/2025-09-29 Living with Confidence & Going All In - Matthew McConaughey (4K)/Living with Confidence & Going All In - Matthew McConaughey (4K) [y_woFP79F0Q].mp4", false, false, false, 3, [], 1, ~U[2025-09-29 15:01:57Z], ~U[2026-09-16 21:08:08Z], ~U[2026-09-16 21:08:08Z], "Matthew McConaughey is an Academy Award-winning actor, a producer and an author.\n\nExpect to learn why Matthew says life often “rhymes”, why it’s okay if you do everything right and still not get the result you want, how Matthew views the role courage plays in his life, how to learn to deal with failure, the difference between a nice guy and a good man, the most important principle Matthew refuses to compromise on, the appropriate balance of running toward a life you want vs. away from one that you fear, how to balance self-confidence with humility, the difference between “being” and “acting”, what it means to be more impressed with the wow instead of the how, rumors on Matthew’s return to the True Detective franchise, and much more…\n\n-\n\n0:00 What It Means When Life “Rhymes”\n9:34 How Forgiving Betrayal Can Free You\n20:32 Hope, Faith, and How To Become Your Own Hero\n25:47 This Approach to Success is Everything\n31:57 The Mindset That Will Change Your Outlook on Life\n41:11 How To Find Significance in the Noise\n53:30 The Power of Courage and Conviction\n01:00:31 How To Find Balance Between Life and Work\n01:10:31 The Difference Between a Nice Guy and a Good Man\n01:17:17 Principles Matthew Refuses To Compromise On\n01:29:15 Why We Need to Stop Cancelling Men\n01:34:31 Why Living Better Outweighs Living Longer\n01:40:55 How to Build Confidence\n01:47:10 How to Stop Worrying & Trust the Process\n01:52:16 On the Road with Matthew\n\n-\n\nGet 5 Free Travel Packs, Free Liquid Vitamin D, and more from AG1 at https://ag1.info/modernwisdom\n\nGet a Free Sample Pack of LMNT’s most popular flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\nGet $100 off the best bloodwork analysis in America at https://functionhealth.com/modernwisdom\n\nGet 35% off your first subscription on the best supplements from Momentous at https://livemomentous.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spotify.modernwisdom.com or Apple Podcasts - https://apple.modernwisdom.com\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "Living with Confidence & Going All In - Matthew McConaughey (4K)", 7066, false, "y_woFP79F0Q", "https://www.youtube.com/watch?v=y_woFP79F0Q", "/downloads/Chris Williamson/2025-09-29 Living with Confidence & Going All In - Matthew McConaughey (4K)/Living with Confidence & Going All In - Matthew McConaughey (4K) [y_woFP79F0Q].mp4", false, 3, ~U[2025-09-29 15:01:57Z]] 21:08:08.192 [debug] QUERY OK source="sources" db=0.2ms idle=92.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:08.192 [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] 21:08:08.193 [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 [78] 21:08:08.193 [debug] Current batch of media processed. Will check again in 1000ms 21:08:09.194 [debug] Current batch of media processed. Will check again in 1000ms 21:08:10.195 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, I review the science of habit formation and habit elimination and how the process of neuroplasticity (brain rewiring) underlies these processes. \n\nI describe two new systems for habit formation. The first system is grounded in the neuroscience of brain states and our ability to perform (and to avoid) certain tasks at different phases of the 24-hour day. The second system focuses on 21-day habit formation and consolidation.\n\nI also discuss \"task bracketing\" as an approach to enhancing habit formation and eliminating unwanted habits and the neural circuits that underlie task bracketing in the basal ganglia (a brain region for generating and stopping behaviors). I also review the science of dopamine rewards and how to apply that knowledge to shaping habits. \n\nThe science and tools in this episode ought to be helpful for anyone looking to build better habits and eliminate unwanted habits for school, work, fitness, relationships, creative endeavors, and more—indeed for any person or situation where behavioral changes are needed.\n\n#HubermanLab #Habits #Neuroscience\n\nThank you to our sponsors:\nAthletic Greens - http://www.athleticgreens.com/huberman\nInsideTracker - http://www.insidetracker.com/huberman\nHelix Sleep - http://www.helixsleep.com/huberman\n\nOur Patreon page:\nhttps://www.patreon.com/andrewhuberman\n\nSupplements from Thorne:\nhttp://www.thorne.com/u/huberman\n\nSocial:\nInstagram - https://www.instagram.com/hubermanlab\nTwitter - https://twitter.com/hubermanlab\nFacebook - https://www.facebook.com/hubermanlab\nWebsite - https://hubermanlab.com\nNewsletter - https://hubermanlab.com/neural-network\n\nLinks:\nExcellent review on science of habits - https://www.annualreviews.org/doi/abs/10.1146/annurev-psych-122414-033417\nMeta-analysis on habits - https://journals.sagepub.com/doi/full/10.1177/1539449219876877\n\nTimestamps:\n00:00:00 Introducing Habits; New Programs\n00:02:30 Athletic Greens, InsideTracker, Helix Sleep\n00:06:52 Habits versus Reflexes, Learning, Neuroplasticity\n00:08:51 Goal-Based Habits vs. Identity-Based Habits\n00:11:40 How Long It (Really) Takes to Form a Habit; Limbic-Friction\n00:16:07 Linchpin Habits \n00:18:55 Mapping Your Habits; Habit Strength, Context-Dependence\n00:22:55 Automaticity\n00:24:03 Tool 1: Applying Procedural Memory Visualizations\n00:27:48 Hebbian Learning, NMDA receptors\n00:31:00 Tool 2: Task Bracketing; Dorsolateral Striatum\n00:37:08 States of Mind, Not Scheduling Time Predicts Habit Strength\n00:38:16 Tool 3: Phase-Based Habit Plan: Phase 1\n00:46:29 Tool 3: Phase-Based Habit Plan: Phase 2\n00:55:24 Tool 3: Phase-Based Habit Plan: Phase 3\n01:01:34 Habit Flexibility\n01:04:57 Should We Reward Ourselves? How? When? When NOT to.\n01:10:30 Tool 4: “Dopamine Spotlighting” & Task Bracketing\n01:18:22 Tool 5: The 21-Day Habit Installation & Testing System\n01:28:26 Breaking Habits: Long-Term (Synaptic) Depression\n01:35:49 Notifications Don’t Work\n01:37:50 Tool 6: Break Bad Habits with Post-Bad-Habit “Positive Cargo”\n01:44:26 Addictions as Habits: https://hubermanlab.com/dr-anna-lembke-understanding-and-treating-addiction/\n01:45:28 Conclusion & Synthesis \n01:48:27 Zero-Cost Support, Sponsors, Patreon, Supplements, Instagram, Twitter\n\nPlease note that The Huberman Lab Podcast is distinct from Dr. Huberman's teaching and research roles at Stanford University School of Medicine. The information provided in this show is not medical advice, nor should it be taken or applied as a replacement for medical advice. The Huberman Lab Podcast, its employees, guests and affiliates assume no liability for the application of the information discussed.\n\nTitle Card Photo Credit: Mike Blabac - https://www.blabacphoto.com", "duration" => 6638, "filename" => "/downloads/Andrew Huberman/2022-01-03 The Science of Making & Breaking Habits/The Science of Making & Breaking Habits [Wcs2PFz5q6g].mp4", "id" => "Wcs2PFz5q6g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Wcs2PFz5q6g", "playlist_index" => 8, "timestamp" => 1641214812, "title" => "The Science of Making & Breaking Habits", "upload_date" => "20220103"} 21:08:10.196 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=399.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:10.197 [debug] QUERY OK source="sources" db=0.7ms idle=400.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:10.198 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=401.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-01-03 13:00:12Z], 3] 21:08:10.203 [debug] QUERY OK source="media_items" db=3.7ms idle=403.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, I review the science of habit formation and habit elimination and how the process of neuroplasticity (brain rewiring) underlies these processes. \n\nI describe two new systems for habit formation. The first system is grounded in the neuroscience of brain states and our ability to perform (and to avoid) certain tasks at different phases of the 24-hour day. The second system focuses on 21-day habit formation and consolidation.\n\nI also discuss \"task bracketing\" as an approach to enhancing habit formation and eliminating unwanted habits and the neural circuits that underlie task bracketing in the basal ganglia (a brain region for generating and stopping behaviors). I also review the science of dopamine rewards and how to apply that knowledge to shaping habits. \n\nThe science and tools in this episode ought to be helpful for anyone looking to build better habits and eliminate unwanted habits for school, work, fitness, relationships, creative endeavors, and more—indeed for any person or situation where behavioral changes are needed.\n\n#HubermanLab #Habits #Neuroscience\n\nThank you to our sponsors:\nAthletic Greens - http://www.athleticgreens.com/huberman\nInsideTracker - http://www.insidetracker.com/huberman\nHelix Sleep - http://www.helixsleep.com/huberman\n\nOur Patreon page:\nhttps://www.patreon.com/andrewhuberman\n\nSupplements from Thorne:\nhttp://www.thorne.com/u/huberman\n\nSocial:\nInstagram - https://www.instagram.com/hubermanlab\nTwitter - https://twitter.com/hubermanlab\nFacebook - https://www.facebook.com/hubermanlab\nWebsite - https://hubermanlab.com\nNewsletter - https://hubermanlab.com/neural-network\n\nLinks:\nExcellent review on science of habits - https://www.annualreviews.org/doi/abs/10.1146/annurev-psych-122414-033417\nMeta-analysis on habits - https://journals.sagepub.com/doi/full/10.1177/1539449219876877\n\nTimestamps:\n00:00:00 Introducing Habits; New Programs\n00:02:30 Athletic Greens, InsideTracker, Helix Sleep\n00:06:52 Habits versus Reflexes, Learning, Neuroplasticity\n00:08:51 Goal-Based Habits vs. Identity-Based Habits\n00:11:40 How Long It (Really) Takes to Form a Habit; Limbic-Friction\n00:16:07 Linchpin Habits \n00:18:55 Mapping Your Habits; Habit Strength, Context-Dependence\n00:22:55 Automaticity\n00:24:03 Tool 1: Applying Procedural Memory Visualizations\n00:27:48 Hebbian Learning, NMDA receptors\n00:31:00 Tool 2: Task Bracketing; Dorsolateral Striatum\n00:37:08 States of Mind, Not Scheduling Time Predicts Habit Strength\n00:38:16 Tool 3: Phase-Based Habit Plan: Phase 1\n00:46:29 Tool 3: Phase-Based Habit Plan: Phase 2\n00:55:24 Tool 3: Phase-Based Habit Plan: Phase 3\n01:01:34 Habit Flexibility\n01:04:57 Should We Reward Ourselves? How? When? When NOT to.\n01:10:30 Tool 4: “Dopamine Spotlighting” & Task Bracketing\n01:18:22 Tool 5: The 21-Day Habit Installation & Testing System\n01:28:26 Breaking Habits: Long-Term (Synaptic) Depression\n01:35:49 Notifications Don’t Work\n01:37:50 Tool 6: Break Bad Habits with Post-Bad-Habit “Positive Cargo”\n01:44:26 Addictions as Habits: https://hubermanlab.com/dr-anna-lembke-understanding-and-treating-addiction/\n01:45:28 Conclusion & Synthesis \n01:48:27 Zero-Cost Support, Sponsors, Patreon, Supplements, Instagram, Twitter\n\nPlease note that The Huberman Lab Podcast is distinct from Dr. Huberman's teaching and research roles at Stanford University School of Medicine. The information provided in this show is not medical advice, nor should it be taken or applied as a replacement for medical advice. The Huberman Lab Podcast, its employees, guests and affiliates assume no liability for the application of the information discussed.\n\nTitle Card Photo Credit: Mike Blabac - https://www.blabacphoto.com", "The Science of Making & Breaking Habits", "64c03a1c-18bb-4c3a-ae1a-0d4dd76c5b95", 6638, false, "Wcs2PFz5q6g", "https://www.youtube.com/watch?v=Wcs2PFz5q6g", 8, "/downloads/Andrew Huberman/2022-01-03 The Science of Making & Breaking Habits/The Science of Making & Breaking Habits [Wcs2PFz5q6g].mp4", false, false, false, 3, [], 1, ~U[2022-01-03 13:00:12Z], ~U[2026-09-16 21:08:10Z], ~U[2026-09-16 21:08:10Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, I review the science of habit formation and habit elimination and how the process of neuroplasticity (brain rewiring) underlies these processes. \n\nI describe two new systems for habit formation. The first system is grounded in the neuroscience of brain states and our ability to perform (and to avoid) certain tasks at different phases of the 24-hour day. The second system focuses on 21-day habit formation and consolidation.\n\nI also discuss \"task bracketing\" as an approach to enhancing habit formation and eliminating unwanted habits and the neural circuits that underlie task bracketing in the basal ganglia (a brain region for generating and stopping behaviors). I also review the science of dopamine rewards and how to apply that knowledge to shaping habits. \n\nThe science and tools in this episode ought to be helpful for anyone looking to build better habits and eliminate unwanted habits for school, work, fitness, relationships, creative endeavors, and more—indeed for any person or situation where behavioral changes are needed.\n\n#HubermanLab #Habits #Neuroscience\n\nThank you to our sponsors:\nAthletic Greens - http://www.athleticgreens.com/huberman\nInsideTracker - http://www.insidetracker.com/huberman\nHelix Sleep - http://www.helixsleep.com/huberman\n\nOur Patreon page:\nhttps://www.patreon.com/andrewhuberman\n\nSupplements from Thorne:\nhttp://www.thorne.com/u/huberman\n\nSocial:\nInstagram - https://www.instagram.com/hubermanlab\nTwitter - https://twitter.com/hubermanlab\nFacebook - https://www.facebook.com/hubermanlab\nWebsite - https://hubermanlab.com\nNewsletter - https://hubermanlab.com/neural-network\n\nLinks:\nExcellent review on science of habits - https://www.annualreviews.org/doi/abs/10.1146/annurev-psych-122414-033417\nMeta-analysis on habits - https://journals.sagepub.com/doi/full/10.1177/1539449219876877\n\nTimestamps:\n00:00:00 Introducing Habits; New Programs\n00:02:30 Athletic Greens, InsideTracker, Helix Sleep\n00:06:52 Habits versus Reflexes, Learning, Neuroplasticity\n00:08:51 Goal-Based Habits vs. Identity-Based Habits\n00:11:40 How Long It (Really) Takes to Form a Habit; Limbic-Friction\n00:16:07 Linchpin Habits \n00:18:55 Mapping Your Habits; Habit Strength, Context-Dependence\n00:22:55 Automaticity\n00:24:03 Tool 1: Applying Procedural Memory Visualizations\n00:27:48 Hebbian Learning, NMDA receptors\n00:31:00 Tool 2: Task Bracketing; Dorsolateral Striatum\n00:37:08 States of Mind, Not Scheduling Time Predicts Habit Strength\n00:38:16 Tool 3: Phase-Based Habit Plan: Phase 1\n00:46:29 Tool 3: Phase-Based Habit Plan: Phase 2\n00:55:24 Tool 3: Phase-Based Habit Plan: Phase 3\n01:01:34 Habit Flexibility\n01:04:57 Should We Reward Ourselves? How? When? When NOT to.\n01:10:30 Tool 4: “Dopamine Spotlighting” & Task Bracketing\n01:18:22 Tool 5: The 21-Day Habit Installation & Testing System\n01:28:26 Breaking Habits: Long-Term (Synaptic) Depression\n01:35:49 Notifications Don (truncated) 21:08:10.204 [debug] QUERY OK source="sources" db=0.4ms idle=102.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:10.205 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:08:10.205 [debug] QUERY OK source="media_items" db=0.4ms 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 [80] 21:08:10.206 [debug] Current batch of media processed. Will check again in 1000ms 21:08:11.207 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Dr. Jordan B. Peterson is Professor Emeritus at the University of Toronto, a clinical psychologist and an author.\n\nLetting go of the good for the great is a terrifying prospect and most people fear risking what they have for what they want. I flew out to Texas to sit down with Jordan and discuss his principles for how to get past the things which keep us stuck in life.\n\nExpect to learn how to deal with feelings of loneliness from thinking in a different way, which skin-colour emoji Jordan Peterson uses, what he meant by \"enforced monogamy\", how to deal with imposter syndrome, how to become more dangerous in life, Jordan's thoughts after meeting Elon Musk, whether there's a value in having an enemy in life and much more...\n\nSponsors:\nJoin the Modern Wisdom Community to connect with me & other listeners - https://modernwisdom.locals.com/\n\nGet 5 Free Travel Packs, Free Liquid Vitamin D and Free Shipping from Athletic Greens at https://athleticgreens.com/modernwisdom (discount automatically applied)\n\nGet 10% discount on your first month from BetterHelp at https://betterhelp.com/modernwisdom (discount automatically applied)\n\nExtra Stuff:\nBuy Beyond Order - https://amzn.to/3d4eKdX\nFollow Jordan on Twitter - https://twitter.com/jordanbpeterson \nCheck out Jordan's Website - https://www.jordanbpeterson.com \nGet my free Reading List of 100 books to read before you die → https://chriswillx.com/books/\nTo support me on Patreon (thank you): https://www.patreon.com/modernwisdom\n\n#jordanpeterson #mindset #growth\n\n-\n\n00:00 Intro\n01:48 Jordan’s Thoughts on Elon Musk\n06:13 Is Identity Confusion a Psychological Epidemic?\n12:12 The Modern Dating Market\n17:10 Over 50% of Women are Childless at 30\n30:32 Should We Worry About Population Collapse?\n38:48 How to Overcome Complacency \n48:02 Dealing with Imposter Syndrome\n56:38 How to Make Yourself More Dangerous\n1:05:30 Jordan’s Recovery & Tour\n1:16:39 Is it Possible to Take on Too Much Responsibility?\n1:25:00 Truth in the Service of Love\n1:33:25 The Usefulness of an Enemy\n1:41:31 The Consequences of Blue-sky Vision\n1:48:25 Why Pursuing Excellence is Terrifying\n1:59:32 Repercussions of Zero-Costing\n2:08:35 Conclusion\n\n-\n\nJoin the Modern Wisdom Community on Locals - https://modernwisdom.locals.com/\n\nListen to all episodes on audio:\nApple Podcasts: https://apple.co/2MNqIgw\nSpotify: https://spoti.fi/2LSimPn\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "duration" => 7765, "filename" => "/downloads/Chris Williamson/2022-02-17 Jordan Peterson - How Years Fly By Without You Noticing/Jordan Peterson - How Years Fly By Without You Noticing [laSK7Pxh0_8].mp4", "id" => "laSK7Pxh0_8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=laSK7Pxh0_8", "playlist_index" => 9, "timestamp" => 1645113644, "title" => "Jordan Peterson - How Years Fly By Without You Noticing", "upload_date" => "20220217"} 21:08:11.208 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1004.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:11.208 [debug] QUERY OK source="sources" db=0.1ms idle=1003.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:11.209 [debug] QUERY OK source="media_items" db=0.4ms idle=1003.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-02-17 16:00:44Z], 3] 21:08:11.211 [debug] QUERY OK source="media_items" db=1.6ms idle=1003.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dr. Jordan B. Peterson is Professor Emeritus at the University of Toronto, a clinical psychologist and an author.\n\nLetting go of the good for the great is a terrifying prospect and most people fear risking what they have for what they want. I flew out to Texas to sit down with Jordan and discuss his principles for how to get past the things which keep us stuck in life.\n\nExpect to learn how to deal with feelings of loneliness from thinking in a different way, which skin-colour emoji Jordan Peterson uses, what he meant by \"enforced monogamy\", how to deal with imposter syndrome, how to become more dangerous in life, Jordan's thoughts after meeting Elon Musk, whether there's a value in having an enemy in life and much more...\n\nSponsors:\nJoin the Modern Wisdom Community to connect with me & other listeners - https://modernwisdom.locals.com/\n\nGet 5 Free Travel Packs, Free Liquid Vitamin D and Free Shipping from Athletic Greens at https://athleticgreens.com/modernwisdom (discount automatically applied)\n\nGet 10% discount on your first month from BetterHelp at https://betterhelp.com/modernwisdom (discount automatically applied)\n\nExtra Stuff:\nBuy Beyond Order - https://amzn.to/3d4eKdX\nFollow Jordan on Twitter - https://twitter.com/jordanbpeterson \nCheck out Jordan's Website - https://www.jordanbpeterson.com \nGet my free Reading List of 100 books to read before you die → https://chriswillx.com/books/\nTo support me on Patreon (thank you): https://www.patreon.com/modernwisdom\n\n#jordanpeterson #mindset #growth\n\n-\n\n00:00 Intro\n01:48 Jordan’s Thoughts on Elon Musk\n06:13 Is Identity Confusion a Psychological Epidemic?\n12:12 The Modern Dating Market\n17:10 Over 50% of Women are Childless at 30\n30:32 Should We Worry About Population Collapse?\n38:48 How to Overcome Complacency \n48:02 Dealing with Imposter Syndrome\n56:38 How to Make Yourself More Dangerous\n1:05:30 Jordan’s Recovery & Tour\n1:16:39 Is it Possible to Take on Too Much Responsibility?\n1:25:00 Truth in the Service of Love\n1:33:25 The Usefulness of an Enemy\n1:41:31 The Consequences of Blue-sky Vision\n1:48:25 Why Pursuing Excellence is Terrifying\n1:59:32 Repercussions of Zero-Costing\n2:08:35 Conclusion\n\n-\n\nJoin the Modern Wisdom Community on Locals - https://modernwisdom.locals.com/\n\nListen to all episodes on audio:\nApple Podcasts: https://apple.co/2MNqIgw\nSpotify: https://spoti.fi/2LSimPn\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "Jordan Peterson - How Years Fly By Without You Noticing", "b06ac341-a860-407e-a136-011f9c82f70a", 7765, false, "laSK7Pxh0_8", "https://www.youtube.com/watch?v=laSK7Pxh0_8", 9, "/downloads/Chris Williamson/2022-02-17 Jordan Peterson - How Years Fly By Without You Noticing/Jordan Peterson - How Years Fly By Without You Noticing [laSK7Pxh0_8].mp4", false, false, false, 3, [], 1, ~U[2022-02-17 16:00:44Z], ~U[2026-09-16 21:08:11Z], ~U[2026-09-16 21:08:11Z], "Dr. Jordan B. Peterson is Professor Emeritus at the University of Toronto, a clinical psychologist and an author.\n\nLetting go of the good for the great is a terrifying prospect and most people fear risking what they have for what they want. I flew out to Texas to sit down with Jordan and discuss his principles for how to get past the things which keep us stuck in life.\n\nExpect to learn how to deal with feelings of loneliness from thinking in a different way, which skin-colour emoji Jordan Peterson uses, what he meant by \"enforced monogamy\", how to deal with imposter syndrome, how to become more dangerous in life, Jordan's thoughts after meeting Elon Musk, whether there's a value in having an enemy in life and much more...\n\nSponsors:\nJoin the Modern Wisdom Community to connect with me & other listeners - https://modernwisdom.locals.com/\n\nGet 5 Free Travel Packs, Free Liquid Vitamin D and Free Shipping from Athletic Greens at https://athleticgreens.com/modernwisdom (discount automatically applied)\n\nGet 10% discount on your first month from BetterHelp at https://betterhelp.com/modernwisdom (discount automatically applied)\n\nExtra Stuff:\nBuy Beyond Order - https://amzn.to/3d4eKdX\nFollow Jordan on Twitter - https://twitter.com/jordanbpeterson \nCheck out Jordan's Website - https://www.jordanbpeterson.com \nGet my free Reading List of 100 books to read before you die → https://chriswillx.com/books/\nTo support me on Patreon (thank you): https://www.patreon.com/modernwisdom\n\n#jordanpeterson #mindset #growth\n\n-\n\n00:00 Intro\n01:48 Jordan’s Thoughts on Elon Musk\n06:13 Is Identity Confusion a Psychological Epidemic?\n12:12 The Modern Dating Market\n17:10 Over 50% of Women are Childless at 30\n30:32 Should We Worry About Population Collapse?\n38:48 How to Overcome Complacency \n48:02 Dealing with Imposter Syndrome\n56:38 How to Make Yourself More Dangerous\n1:05:30 Jordan’s Recovery & Tour\n1:16:39 Is it Possible to Take on Too Much Responsibility?\n1:25:00 Truth in the Service of Love\n1:33:25 The Usefulness of an Enemy\n1:41:31 The Consequences of Blue-sky Vision\n1:48:25 Why Pursuing Excellence is Terrifying\n1:59:32 Repercussions of Zero-Costing\n2:08:35 Conclusion\n\n-\n\nJoin the Modern Wisdom Community on Locals - https://modernwisdom.locals.com/\n\nListen to all episodes on audio:\nApple Podcasts: https://apple.co/2MNqIgw\nSpotify: https://spoti.fi/2LSimPn\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "Jordan Peterson - How Years Fly By Without You Noticing", 7765, false, "laSK7Pxh0_8", "https://www.youtube.com/watch?v=laSK7Pxh0_8", "/downloads/Chris Williamson/2022-02-17 Jordan Peterson - How Years Fly By Without You Noticing/Jordan Peterson - How Years Fly By Without You Noticing [laSK7Pxh0_8].mp4", false, 3, ~U[2022-02-17 16:00:44Z]] 21:08:11.212 [debug] QUERY OK source="sources" db=0.1ms idle=109.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:11.212 [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] 21:08:11.212 [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 [82] 21:08:11.213 [debug] Current batch of media processed. Will check again in 1000ms 21:08:12.214 [debug] Current batch of media processed. Will check again in 1000ms 21:08:13.215 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Hol dir jetzt die Trade Republic App: https://trade.re/tim_kinderdepot (Werbung)\nDisclaimer: Kapitalanlagen bergen Risiken.\n\nJetzt in der OLAKALA App shoppen und Loyalty Punkte sammeln: http://app.olakala.de/ (Werbung)\n\nBewirb dich bei G-IN: \nhttps://g-in-gmbh.de/#jobs\nhttps://join.com/companies/combine/14000609?utm_medium=social_sharing&utm_source=copy_link\n \n📲 Dein individueller MCI Trainingsplan in 2 Minuten! Spare maximal mit dem Code: \"TIM\". Neukunden testen 7 Tage gratis! https://mci.sng.link/Dlusp/ttona?_smtype=3 (Werbung)\n\nHeute ist Wolfgang Grupp Senior im Podcast. \nDer Mann, der Trigema seit über 50 Jahren führt und fast die gesamte Wertschöpfungskette seiner Klamotten vor der Haustür hat. Der Mann lebt „Made in Germany“.\nHeute führen seine Kinder das Unternehmen und er blickt auf ein krasses Lebenswerk zurück und hat eine Menge zu erzählen. Haben unter anderem über Verantwortung gesprochen, welche Rolle seine Familie für ihn spielt und man merkt ihm eine tiefe Dankbarkeit an, wenn er über seine Familie spricht.\n\nDanke an die gesamte Grupp-Familie für die Einladung, hat Spaß gemacht!\n\nViel Spaß mit der Folge!\n\nGastvorschläge für Podcasts gerne in die Kommentare oder an timgabelpodcastgast@gmail.com\nGeschäftliche Anfragen an: office@combine.management \n\n► Zu Trigema: @TRIGEMAtv \n\n► Tim Gabel Podcast auf Spotify: https://open.spotify.com/show/1KHKsb92bs1qeitk6QR8zV?si=0278f4c514ab49ca\n► Instagram: https://www.instagram.com/tim_gabel/\n► TikTok: https://www.tiktok.com/@tim_gabel\n\n► Zu OLAKALA: https://www.olakala.de/\n► Zur MCI Fitness App: https://onelink.to/mciapp.timgabel\n► Zum Vybelle®-Shop: https://vybelle.de/\n\n0:00 Wie man wichtige Entscheidungen trifft\n11:01 Eigene Entscheidungen von Wolfgang Grupp\n22:23 6 Jahre Zusammenarbeit Aldi & Trigema\n31:44 Wichtigkeit von Familie\n46:23 Firmenübergabe an Kinder\n50:55 Leben in der Öffentlichkeit\n58:35 Wolfgang Grupp vs. Uli Hoeneß\n1:08:06 Deshalb verurteilt er René Benko\n1:11:46 Zukunft von Politik & Wirtschaft\n1:29:23 Wie viel eigener Wohlstand?\n1:33:55 Unternehmensverteilung an Familie", "duration" => 6117, "filename" => "/downloads/Tim Gabel/2025-06-08 WOLFGANG GRUPP: "Der letzte Abschnitt meines Lebens"/WOLFGANG GRUPP: "Der letzte Abschnitt meines Lebens" [MRWEBBrAuJ0].mp4", "id" => "MRWEBBrAuJ0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MRWEBBrAuJ0", "playlist_index" => 10, "timestamp" => 1749376834, "title" => "WOLFGANG GRUPP: \"Der letzte Abschnitt meines Lebens\"", "upload_date" => "20250608"} 21:08:13.216 [debug] QUERY OK source="sources" db=0.2ms idle=419.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:13.216 [debug] QUERY OK source="sources" db=0.2ms idle=420.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:13.217 [debug] QUERY OK source="media_items" db=0.3ms idle=420.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-08 10:00:34Z], 3] 21:08:13.242 [debug] QUERY OK source="media_items" db=24.5ms idle=421.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Hol dir jetzt die Trade Republic App: https://trade.re/tim_kinderdepot (Werbung)\nDisclaimer: Kapitalanlagen bergen Risiken.\n\nJetzt in der OLAKALA App shoppen und Loyalty Punkte sammeln: http://app.olakala.de/ (Werbung)\n\nBewirb dich bei G-IN: \nhttps://g-in-gmbh.de/#jobs\nhttps://join.com/companies/combine/14000609?utm_medium=social_sharing&utm_source=copy_link\n \n📲 Dein individueller MCI Trainingsplan in 2 Minuten! Spare maximal mit dem Code: \"TIM\". Neukunden testen 7 Tage gratis! https://mci.sng.link/Dlusp/ttona?_smtype=3 (Werbung)\n\nHeute ist Wolfgang Grupp Senior im Podcast. \nDer Mann, der Trigema seit über 50 Jahren führt und fast die gesamte Wertschöpfungskette seiner Klamotten vor der Haustür hat. Der Mann lebt „Made in Germany“.\nHeute führen seine Kinder das Unternehmen und er blickt auf ein krasses Lebenswerk zurück und hat eine Menge zu erzählen. Haben unter anderem über Verantwortung gesprochen, welche Rolle seine Familie für ihn spielt und man merkt ihm eine tiefe Dankbarkeit an, wenn er über seine Familie spricht.\n\nDanke an die gesamte Grupp-Familie für die Einladung, hat Spaß gemacht!\n\nViel Spaß mit der Folge!\n\nGastvorschläge für Podcasts gerne in die Kommentare oder an timgabelpodcastgast@gmail.com\nGeschäftliche Anfragen an: office@combine.management \n\n► Zu Trigema: @TRIGEMAtv \n\n► Tim Gabel Podcast auf Spotify: https://open.spotify.com/show/1KHKsb92bs1qeitk6QR8zV?si=0278f4c514ab49ca\n► Instagram: https://www.instagram.com/tim_gabel/\n► TikTok: https://www.tiktok.com/@tim_gabel\n\n► Zu OLAKALA: https://www.olakala.de/\n► Zur MCI Fitness App: https://onelink.to/mciapp.timgabel\n► Zum Vybelle®-Shop: https://vybelle.de/\n\n0:00 Wie man wichtige Entscheidungen trifft\n11:01 Eigene Entscheidungen von Wolfgang Grupp\n22:23 6 Jahre Zusammenarbeit Aldi & Trigema\n31:44 Wichtigkeit von Familie\n46:23 Firmenübergabe an Kinder\n50:55 Leben in der Öffentlichkeit\n58:35 Wolfgang Grupp vs. Uli Hoeneß\n1:08:06 Deshalb verurteilt er René Benko\n1:11:46 Zukunft von Politik & Wirtschaft\n1:29:23 Wie viel eigener Wohlstand?\n1:33:55 Unternehmensverteilung an Familie", "WOLFGANG GRUPP: \"Der letzte Abschnitt meines Lebens\"", "3a7ca431-5228-4b19-ac8c-2d2fd0875a32", 6117, false, "MRWEBBrAuJ0", "https://www.youtube.com/watch?v=MRWEBBrAuJ0", 10, "/downloads/Tim Gabel/2025-06-08 WOLFGANG GRUPP: "Der letzte Abschnitt meines Lebens"/WOLFGANG GRUPP: "Der letzte Abschnitt meines Lebens" [MRWEBBrAuJ0].mp4", false, false, false, 3, [], 1, ~U[2025-06-08 10:00:34Z], ~U[2026-09-16 21:08:13Z], ~U[2026-09-16 21:08:13Z], "Hol dir jetzt die Trade Republic App: https://trade.re/tim_kinderdepot (Werbung)\nDisclaimer: Kapitalanlagen bergen Risiken.\n\nJetzt in der OLAKALA App shoppen und Loyalty Punkte sammeln: http://app.olakala.de/ (Werbung)\n\nBewirb dich bei G-IN: \nhttps://g-in-gmbh.de/#jobs\nhttps://join.com/companies/combine/14000609?utm_medium=social_sharing&utm_source=copy_link\n \n📲 Dein individueller MCI Trainingsplan in 2 Minuten! Spare maximal mit dem Code: \"TIM\". Neukunden testen 7 Tage gratis! https://mci.sng.link/Dlusp/ttona?_smtype=3 (Werbung)\n\nHeute ist Wolfgang Grupp Senior im Podcast. \nDer Mann, der Trigema seit über 50 Jahren führt und fast die gesamte Wertschöpfungskette seiner Klamotten vor der Haustür hat. Der Mann lebt „Made in Germany“.\nHeute führen seine Kinder das Unternehmen und er blickt auf ein krasses Lebenswerk zurück und hat eine Menge zu erzählen. Haben unter anderem über Verantwortung gesprochen, welche Rolle seine Familie für ihn spielt und man merkt ihm eine tiefe Dankbarkeit an, wenn er über seine Familie spricht.\n\nDanke an die gesamte Grupp-Familie für die Einladung, hat Spaß gemacht!\n\nViel Spaß mit der Folge!\n\nGastvorschläge für Podcasts gerne in die Kommentare oder an timgabelpodcastgast@gmail.com\nGeschäftliche Anfragen an: office@combine.management \n\n► Zu Trigema: @TRIGEMAtv \n\n► Tim Gabel Podcast auf Spotify: https://open.spotify.com/show/1KHKsb92bs1qeitk6QR8zV?si=0278f4c514ab49ca\n► Instagram: https://www.instagram.com/tim_gabel/\n► TikTok: https://www.tiktok.com/@tim_gabel\n\n► Zu OLAKALA: https://www.olakala.de/\n► Zur MCI Fitness App: https://onelink.to/mciapp.timgabel\n► Zum Vybelle®-Shop: https://vybelle.de/\n\n0:00 Wie man wichtige Entscheidungen trifft\n11:01 Eigene Entscheidungen von Wolfgang Grupp\n22:23 6 Jahre Zusammenarbeit Aldi & Trigema\n31:44 Wichtigkeit von Familie\n46:23 Firmenübergabe an Kinder\n50:55 Leben in der Öffentlichkeit\n58:35 Wolfgang Grupp vs. Uli Hoeneß\n1:08:06 Deshalb verurteilt er René Benko\n1:11:46 Zukunft von Politik & Wirtschaft\n1:29:23 Wie viel eigener Wohlstand?\n1:33:55 Unternehmensverteilung an Familie", "WOLFGANG GRUPP: \"Der letzte Abschnitt meines Lebens\"", 6117, false, "MRWEBBrAuJ0", "https://www.youtube.com/watch?v=MRWEBBrAuJ0", "/downloads/Tim Gabel/2025-06-08 WOLFGANG GRUPP: "Der letzte Abschnitt meines Lebens"/WOLFGANG GRUPP: "Der letzte Abschnitt meines Lebens" [MRWEBBrAuJ0].mp4", false, 3, ~U[2025-06-08 10:00:34Z]] 21:08:13.243 [debug] QUERY OK source="sources" db=0.2ms idle=137.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:13.243 [debug] QUERY OK source="media_profiles" db=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", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:08:13.244 [debug] QUERY OK source="media_items" db=0.2ms idle=27.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 [85] 21:08:13.244 [debug] Current batch of media processed. Will check again in 1000ms 21:08:14.245 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is \u2060Dr. Emily Balcetis, PhD\u2060, a professor of psychology at New York University who studies how visual perception influences motivation and goal pursuit. She explains how to better visualize and overcome challenges to achieve physical or cognitive goals. We also explore the science of setting goals, measuring progress effectively and research showing how fitness level and energy state can shape how difficult the world appears.\n\nShow notes: https://go.hubermanlab.com/IoZCSSi\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Emily Balcetis\n00:00:21 Adjusting Vision to Meet Goals, Exercise, Tool: Narrow Visual Target\n00:07:39 Goal Setting, Do Vision Boards Work?\n00:11:16 Tool: Effectively Plan Goals, Plan for Obstacles\n00:16:40 How Fitness Shapes the Way People See the World \n00:22:03 Visual Spotlight, Exercise & Physical Fitness Level\n00:23:02 Stimulants & Motivation\n00:24:24 Cognitive Goals, Tools: Overcoming Bad Memories; Deadlines\n00:31:34 Acknowledgements\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 1922, "filename" => "/downloads/Andrew Huberman/2026-03-19 Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis/Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis [RECLTp_YxSU].mp4", "id" => "RECLTp_YxSU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RECLTp_YxSU", "playlist_index" => 11, "timestamp" => 1773921651, "title" => "Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis", "upload_date" => "20260319"} 21:08:14.245 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:14.246 [debug] QUERY OK source="sources" db=0.1ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:14.246 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 12:00:51Z], 3] 21:08:14.258 [debug] QUERY OK source="media_items" db=10.6ms idle=1003.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is \u2060Dr. Emily Balcetis, PhD\u2060, a professor of psychology at New York University who studies how visual perception influences motivation and goal pursuit. She explains how to better visualize and overcome challenges to achieve physical or cognitive goals. We also explore the science of setting goals, measuring progress effectively and research showing how fitness level and energy state can shape how difficult the world appears.\n\nShow notes: https://go.hubermanlab.com/IoZCSSi\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Emily Balcetis\n00:00:21 Adjusting Vision to Meet Goals, Exercise, Tool: Narrow Visual Target\n00:07:39 Goal Setting, Do Vision Boards Work?\n00:11:16 Tool: Effectively Plan Goals, Plan for Obstacles\n00:16:40 How Fitness Shapes the Way People See the World \n00:22:03 Visual Spotlight, Exercise & Physical Fitness Level\n00:23:02 Stimulants & Motivation\n00:24:24 Cognitive Goals, Tools: Overcoming Bad Memories; Deadlines\n00:31:34 Acknowledgements\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis", "0159d718-c95d-4e56-9d0f-42aeeb516fd7", 1922, false, "RECLTp_YxSU", "https://www.youtube.com/watch?v=RECLTp_YxSU", 11, "/downloads/Andrew Huberman/2026-03-19 Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis/Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis [RECLTp_YxSU].mp4", false, false, false, 3, [], 1, ~U[2026-03-19 12:00:51Z], ~U[2026-09-16 21:08:14Z], ~U[2026-09-16 21:08:14Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is \u2060Dr. Emily Balcetis, PhD\u2060, a professor of psychology at New York University who studies how visual perception influences motivation and goal pursuit. She explains how to better visualize and overcome challenges to achieve physical or cognitive goals. We also explore the science of setting goals, measuring progress effectively and research showing how fitness level and energy state can shape how difficult the world appears.\n\nShow notes: https://go.hubermanlab.com/IoZCSSi\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Emily Balcetis\n00:00:21 Adjusting Vision to Meet Goals, Exercise, Tool: Narrow Visual Target\n00:07:39 Goal Setting, Do Vision Boards Work?\n00:11:16 Tool: Effectively Plan Goals, Plan for Obstacles\n00:16:40 How Fitness Shapes the Way People See the World \n00:22:03 Visual Spotlight, Exercise & Physical Fitness Level\n00:23:02 Stimulants & Motivation\n00:24:24 Cognitive Goals, Tools: Overcoming Bad Memories; Deadlines\n00:31:34 Acknowledgements\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis", 1922, false, "RECLTp_YxSU", "https://www.youtube.com/watch?v=RECLTp_YxSU", "/downloads/Andrew Huberman/2026-03-19 Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis/Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis [RECLTp_YxSU].mp4", false, 3, ~U[2026-03-19 12:00:51Z]] 21:08:14.258 [debug] QUERY OK source="sources" db=0.2ms idle=152.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:14.259 [debug] QUERY OK source="media_profiles" db=0.2ms idle=13.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:08:14.260 [debug] QUERY OK source="media_items" db=0.3ms idle=13.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [87] 21:08:14.260 [debug] Current batch of media processed. Will check again in 1000ms 21:08:15.261 [debug] Current batch of media processed. Will check again in 1000ms 21:08:16.262 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, my guest is Dr. Marc Brackett, Ph.D., a professor in the Child Study Center at Yale University, director of the Yale Center for Emotional Intelligence, and a world expert on what emotions are, how to interpret them, and how to work with emotions to yield a more impactful, meaningful and healthier life. We explore differences between introverts and extroverts, in-person and text-based emotional communication, and how emotional suppression impacts us.\n\nWe discuss emotional intelligence and describe tools to improve emotional regulation and communication in personal and professional relationships. We also explore the role of emotions in learning, resolving conflicts, and decision-making. We also discuss bullying in kids and adults, both in person and online. This episode provides a clear and novel framework for thinking about emotions and data-supported tools to improve emotion regulation, self-awareness, and empathic attunement.\n\nAccess the full show notes for this episode: https://go.hubermanlab.com/hPHAezn\n\nUse Ask Huberman Lab, our chat-based tool, for summaries, clips, and insights from this episode: https://go.hubermanlab.com/t5vg8x\n \nPre-order Andrew's book, Protocols: https://go.hubermanlab.com/protocols\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman \nBetterHelp: https://betterhelp.com/huberman \nEight Sleep: https://eightsleep.com/huberman \nEudēmonia: https://eudemonia.net \nLMNT: https://drinklmnt.com/huberman \n\n*Dr. Marc Brackett*\nWebsite: https://marcbrackett.com \nYale academic profile: https://medicine.yale.edu/profile/marc-brackett\nYale Center for Emotional Intelligence: https://medicine.yale.edu/childstudy/services/community-and-schools-programs/center-for-emotional-intelligence\nPermission to Feel: https://marcbrackett.com/permission-to-feel\nInstagram: https://www.instagram.com/marc.brackett\nLinkedIn: https://www.linkedin.com/in/marc-brackett-10a563\nX: https://x.com/marcbrackett \nYouTube: https://www.youtube.com/@MarcBrackett \nFacebook: https://www.facebook.com/marc.brackett.5 \n\n*Timestamps*\n00:00:00 Dr. Marc Brackett\n00:02:02 Sponsors: BetterHelp, Eight Sleep & Eudēmonia\n00:06:03 What is Emotional Intelligence?; Self & Others\n00:11:18 Language & Emotion\n00:18:52 Emojis; Anger vs. Disappointment; Behavior & Emotion\n00:24:35 Sponsor: AG1\n00:26:05 Parent/Teacher Support; Online Etiquette\n00:31:24 Anonymity, Online Comments\n00:35:46 Happiness vs. Contentment; Knowing Oneself\n00:41:33 Introversion & Extroversion; Personality & Emotional Intelligence\n00:51:28 Sponsor: LMNT\n00:52:40 Texting & Relationships\n01:00:37 Tool: Mood Meter, Energy & Pleasantness Scale\n01:06:28 Emotion Suppression; Permission to Feel, Emotions Mentor\n01:19:42 Discussing Feelings; Emotional Self-Awareness \n01:25:00 Understanding Cause of Emotions, Stress, Envy\n01:33:40 Framing Empathy, Compassionate Empathy\n01:42:28 Asking Question; Tools: Reframing, Hot Air Balloon; Distancing\n01:49:44 Stereotypes, “Emotional”\n01:53:49 Emotions, Learning & Decision Making; Intention\n02:02:43 Emotion App & Self-Awareness; Gratitude Practice \n02:07:13 Bullying\n02:18:06 Courage & Bullying; Emotion Education\n02:25:33 Punishment; Uncle Marvin\n02:31:59 Zero-Cost Support, YouTube, Spotify & Apple Follow & Reviews, Sponsors, YouTube Feedback, Protocols Book, Social Media, Neural Network Newsletter\n\n#HubermanLab #Science #EmotionalIntelligence\n\nDisclaimer: https://www.hubermanlab.com/disclaimer", "duration" => 9274, "filename" => "/downloads/Andrew Huberman/2024-09-09 How to Increase Your Emotional Intelligence | Dr. Marc Brackett/How to Increase Your Emotional Intelligence | Dr. Marc Brackett [kG5Qb9sr0YQ].mp4", "id" => "kG5Qb9sr0YQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kG5Qb9sr0YQ", "playlist_index" => 12, "timestamp" => 1725883249, "title" => "How to Increase Your Emotional Intelligence | Dr. Marc Brackett", "upload_date" => "20240909"} 21:08:16.263 [debug] QUERY OK source="sources" db=0.4ms idle=466.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:16.263 [debug] QUERY OK source="sources" db=0.2ms idle=467.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:16.264 [debug] QUERY OK source="media_items" db=0.6ms idle=467.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-09 12:00:49Z], 3] 21:08:16.269 [debug] QUERY OK source="media_items" db=3.9ms idle=469.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, my guest is Dr. Marc Brackett, Ph.D., a professor in the Child Study Center at Yale University, director of the Yale Center for Emotional Intelligence, and a world expert on what emotions are, how to interpret them, and how to work with emotions to yield a more impactful, meaningful and healthier life. We explore differences between introverts and extroverts, in-person and text-based emotional communication, and how emotional suppression impacts us.\n\nWe discuss emotional intelligence and describe tools to improve emotional regulation and communication in personal and professional relationships. We also explore the role of emotions in learning, resolving conflicts, and decision-making. We also discuss bullying in kids and adults, both in person and online. This episode provides a clear and novel framework for thinking about emotions and data-supported tools to improve emotion regulation, self-awareness, and empathic attunement.\n\nAccess the full show notes for this episode: https://go.hubermanlab.com/hPHAezn\n\nUse Ask Huberman Lab, our chat-based tool, for summaries, clips, and insights from this episode: https://go.hubermanlab.com/t5vg8x\n \nPre-order Andrew's book, Protocols: https://go.hubermanlab.com/protocols\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman \nBetterHelp: https://betterhelp.com/huberman \nEight Sleep: https://eightsleep.com/huberman \nEudēmonia: https://eudemonia.net \nLMNT: https://drinklmnt.com/huberman \n\n*Dr. Marc Brackett*\nWebsite: https://marcbrackett.com \nYale academic profile: https://medicine.yale.edu/profile/marc-brackett\nYale Center for Emotional Intelligence: https://medicine.yale.edu/childstudy/services/community-and-schools-programs/center-for-emotional-intelligence\nPermission to Feel: https://marcbrackett.com/permission-to-feel\nInstagram: https://www.instagram.com/marc.brackett\nLinkedIn: https://www.linkedin.com/in/marc-brackett-10a563\nX: https://x.com/marcbrackett \nYouTube: https://www.youtube.com/@MarcBrackett \nFacebook: https://www.facebook.com/marc.brackett.5 \n\n*Timestamps*\n00:00:00 Dr. Marc Brackett\n00:02:02 Sponsors: BetterHelp, Eight Sleep & Eudēmonia\n00:06:03 What is Emotional Intelligence?; Self & Others\n00:11:18 Language & Emotion\n00:18:52 Emojis; Anger vs. Disappointment; Behavior & Emotion\n00:24:35 Sponsor: AG1\n00:26:05 Parent/Teacher Support; Online Etiquette\n00:31:24 Anonymity, Online Comments\n00:35:46 Happiness vs. Contentment; Knowing Oneself\n00:41:33 Introversion & Extroversion; Personality & Emotional Intelligence\n00:51:28 Sponsor: LMNT\n00:52:40 Texting & Relationships\n01:00:37 Tool: Mood Meter, Energy & Pleasantness Scale\n01:06:28 Emotion Suppression; Permission to Feel, Emotions Mentor\n01:19:42 Discussing Feelings; Emotional Self-Awareness \n01:25:00 Understanding Cause of Emotions, Stress, Envy\n01:33:40 Framing Empathy, Compassionate Empathy\n01:42:28 Asking Question; Tools: Reframing, Hot Air Balloon; Distancing\n01:49:44 Stereotypes, “Emotional”\n01:53:49 Emotions, Learning & Decision Making; Intention\n02:02:43 Emotion App & Self-Awareness; Gratitude Practice \n02:07:13 Bullying\n02:18:06 Courage & Bullying; Emotion Education\n02:25:33 Punishment; Uncle Marvin\n02:31:59 Zero-Cost Support, YouTube, Spotify & Apple Follow & Reviews, Sponsors, YouTube Feedback, Protocols Book, Social Media, Neural Network Newsletter\n\n#HubermanLab #Science #EmotionalIntelligence\n\nDisclaimer: https://www.hubermanlab.com/disclaimer", "How to Increase Your Emotional Intelligence | Dr. Marc Brackett", "dfba6814-24a9-4ac8-9e88-719910eba170", 9274, false, "kG5Qb9sr0YQ", "https://www.youtube.com/watch?v=kG5Qb9sr0YQ", 12, "/downloads/Andrew Huberman/2024-09-09 How to Increase Your Emotional Intelligence | Dr. Marc Brackett/How to Increase Your Emotional Intelligence | Dr. Marc Brackett [kG5Qb9sr0YQ].mp4", false, false, false, 3, [], 1, ~U[2024-09-09 12:00:49Z], ~U[2026-09-16 21:08:16Z], ~U[2026-09-16 21:08:16Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, my guest is Dr. Marc Brackett, Ph.D., a professor in the Child Study Center at Yale University, director of the Yale Center for Emotional Intelligence, and a world expert on what emotions are, how to interpret them, and how to work with emotions to yield a more impactful, meaningful and healthier life. We explore differences between introverts and extroverts, in-person and text-based emotional communication, and how emotional suppression impacts us.\n\nWe discuss emotional intelligence and describe tools to improve emotional regulation and communication in personal and professional relationships. We also explore the role of emotions in learning, resolving conflicts, and decision-making. We also discuss bullying in kids and adults, both in person and online. This episode provides a clear and novel framework for thinking about emotions and data-supported tools to improve emotion regulation, self-awareness, and empathic attunement.\n\nAccess the full show notes for this episode: https://go.hubermanlab.com/hPHAezn\n\nUse Ask Huberman Lab, our chat-based tool, for summaries, clips, and insights from this episode: https://go.hubermanlab.com/t5vg8x\n \nPre-order Andrew's book, Protocols: https://go.hubermanlab.com/protocols\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman \nBetterHelp: https://betterhelp.com/huberman \nEight Sleep: https://eightsleep.com/huberman \nEudēmonia: https://eudemonia.net \nLMNT: https://drinklmnt.com/huberman \n\n*Dr. Marc Brackett*\nWebsite: https://marcbrackett.com \nYale academic profile: https://medicine.yale.edu/profile/marc-brackett\nYale Center for Emotional Intelligence: https://medicine.yale.edu/childstudy/services/community-and-schools-programs/center-for-emotional-intelligence\nPermission to Feel: https://marcbrackett.com/permission-to-feel\nInstagram: https://www.instagram.com/marc.brackett\nLinkedIn: https://www.linkedin.com/in/marc-brackett-10a563\nX: https://x.com/marcbrackett \nYouTube: https://www.youtube.com/@MarcBrackett \nFacebook: https://www.facebook.com/marc.brackett.5 \n\n*Timestamps*\n00:00:00 Dr. Marc Brackett\n00:02:02 Sponsors: BetterHelp, Eight Sleep & Eudēmonia\n00:06:03 What is Emotional Intelligence?; Self & Others\n00:11:18 Language & Emotion\n00:18:52 Emojis; Anger vs. Disappointment; Behavior & Emotion\n00:24:35 Sponsor: AG1\n00:26:05 Parent/Teacher Support; Online Etiquette\n00:31:24 Anonymity, Online Comments\n00:35:46 Happiness vs. Contentment; Knowing Oneself\n00:41:33 Introversion & Extroversion; Personality & Emotional Intelligence\n00:51:28 Sponsor: LMNT\n00:52:40 Texting & Relationships\n01:00:37 Tool: Mood Meter, Energy & Pleasantness Scale\n01:06:28 Emotion Suppression; Permission to Feel, Emotions Mentor\n01:19:42 Discussing Feelings; Emotional Self-Awareness \n01:25:00 Understanding Cause of Emotions, Stress, Envy\n01:33:40 Framing Empathy, Compassionate Empathy\n01:42:28 Asking Question; Tools: Reframing, Hot Air Balloon; Distancing\n01:49:44 Stereotypes, “Emotional”\n01:53:49 Emotions, Learning & Decision Making; Intention\n02:02:43 Emotion App & Self-Awareness; Gratitude Practice \n02:07:13 (truncated) 21:08:16.270 [debug] QUERY OK source="sources" db=0.2ms idle=161.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:16.270 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:08:16.271 [debug] QUERY OK source="media_items" db=0.3ms 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 [10939] 21:08:16.271 [debug] Current batch of media processed. Will check again in 1000ms 21:08:17.272 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "And Jesus said unto him, Why callest thou me good? there is none good but one, that is, God. (Mark 10:18; see also Luke 18:19).\n\nNot every one that saith unto me, Lord, Lord, shall enter into the kingdom of heaven; but he that doeth the will of my Father which is in heaven. (Matthew 7:21, KJV). \n\nI have been asked many times by many people if I believe in God. I don't like this question. I generally respond by stating that I act as if God exists, but that's not sufficiently true. Who could do that? Who could conduct themselves with the moral exactitude and care necessary of someone who would dare to make that claim? Either claim? In any case, after being asked the question yet again, when I was in Australia, I decided to attempt to answer it in some detail. \n\nThis lecture, one of the 12 Rules for Life tour talks, was delivered in Sydney Feb 26, 2019, at the International Convention Centre. It was one of six I had professionally video recorded. Five of the six will be released directly on thinkspot, our new social media platform (to be announced in mid-June), as a bonus for direct subscribers (not to worry; there are still more than 50 to be released as audio on the Jordan B Peterson podcast at http://bit.ly/2HUdgnc, so it's not as if there will be any shortage). But I thought YouTube would be appropriate for this, given the potentially broad interest in the topic.\n\nI've made a new playlist for it, too, entitled On (my) Belief in God. Three videos make up that playlist: this one, a 20 minute talk I did for the Prager summit in May of 2019 (https://youtu.be/vwKCK5EhibM), and an interview/discussion I had with Dennis Prager at the same event (https://youtu.be/j0GL_4cAkhI)\n\n I would recommend watching them in the playlist order, which will be this lecture first, then my Prager talk, then the interview, if you're interested in doing so. I think they make a good group.The idea of belief in God is of extreme importance. I hope that these lectures and interviews add to everyone's understanding of my position and why I hold it.\n\nAs always, thank you very much for your continued support. \n\nThe adjunct videos are also available on the Prager U site: the lecture at https://www.youtube.com/watch?v=avInTfCd92Q; the interview at https://www.youtube.com/watch?v=L47oJxwp6yg\n\nThanks to the Prager U organization for the invitation and opportunity. \n\n--- SUPPORT THIS CHANNEL ---\n\nDonations: https://www.jordanbpeterson.com/donate\nMerchandise: https://teespring.com/stores/jordanbpeterson\n\n--- BOOKS ---\n\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life/\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning/\n\n--- LINKS ---\n\nWebsite: https://jordanbpeterson.com/\n12 Rules for Life Tour: https://jordanbpeterson.com/events/\nBlog: https://jordanbpeterson.com/blog/\nPodcast: https://jordanbpeterson.com/podcast/\nReading List: https://jordanbpeterson.com/great-books/\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nFacebook: https://www.facebook.com/drjordanpeterson\n\n--- PRODUCTS ---\n\nPersonality Course: https://www.jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com/\nUnderstand Myself personality test: https://understandmyself.com/\nMerchandise: https://teespring.com/stores/jordanbpeterson", "duration" => 6213, "filename" => "/downloads/Jordan B Peterson/2019-06-08 Lecture: Who Dares Say He Believes in God?/Lecture: Who Dares Say He Believes in God? [MnUfXYGtT5Q].mp4", "id" => "MnUfXYGtT5Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=MnUfXYGtT5Q", "playlist_index" => 13, "timestamp" => 1560015653, "title" => "Lecture: Who Dares Say He Believes in God?", "upload_date" => "20190608"} 21:08:17.272 [debug] QUERY OK source="sources" db=0.2ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:17.273 [debug] QUERY OK source="sources" db=0.1ms idle=1002.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:17.274 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-06-08 17:40:53Z], 3] 21:08:17.278 [debug] QUERY OK source="media_items" db=2.9ms idle=1002.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["And Jesus said unto him, Why callest thou me good? there is none good but one, that is, God. (Mark 10:18; see also Luke 18:19).\n\nNot every one that saith unto me, Lord, Lord, shall enter into the kingdom of heaven; but he that doeth the will of my Father which is in heaven. (Matthew 7:21, KJV). \n\nI have been asked many times by many people if I believe in God. I don't like this question. I generally respond by stating that I act as if God exists, but that's not sufficiently true. Who could do that? Who could conduct themselves with the moral exactitude and care necessary of someone who would dare to make that claim? Either claim? In any case, after being asked the question yet again, when I was in Australia, I decided to attempt to answer it in some detail. \n\nThis lecture, one of the 12 Rules for Life tour talks, was delivered in Sydney Feb 26, 2019, at the International Convention Centre. It was one of six I had professionally video recorded. Five of the six will be released directly on thinkspot, our new social media platform (to be announced in mid-June), as a bonus for direct subscribers (not to worry; there are still more than 50 to be released as audio on the Jordan B Peterson podcast at http://bit.ly/2HUdgnc, so it's not as if there will be any shortage). But I thought YouTube would be appropriate for this, given the potentially broad interest in the topic.\n\nI've made a new playlist for it, too, entitled On (my) Belief in God. Three videos make up that playlist: this one, a 20 minute talk I did for the Prager summit in May of 2019 (https://youtu.be/vwKCK5EhibM), and an interview/discussion I had with Dennis Prager at the same event (https://youtu.be/j0GL_4cAkhI)\n\n I would recommend watching them in the playlist order, which will be this lecture first, then my Prager talk, then the interview, if you're interested in doing so. I think they make a good group.The idea of belief in God is of extreme importance. I hope that these lectures and interviews add to everyone's understanding of my position and why I hold it.\n\nAs always, thank you very much for your continued support. \n\nThe adjunct videos are also available on the Prager U site: the lecture at https://www.youtube.com/watch?v=avInTfCd92Q; the interview at https://www.youtube.com/watch?v=L47oJxwp6yg\n\nThanks to the Prager U organization for the invitation and opportunity. \n\n--- SUPPORT THIS CHANNEL ---\n\nDonations: https://www.jordanbpeterson.com/donate\nMerchandise: https://teespring.com/stores/jordanbpeterson\n\n--- BOOKS ---\n\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life/\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning/\n\n--- LINKS ---\n\nWebsite: https://jordanbpeterson.com/\n12 Rules for Life Tour: https://jordanbpeterson.com/events/\nBlog: https://jordanbpeterson.com/blog/\nPodcast: https://jordanbpeterson.com/podcast/\nReading List: https://jordanbpeterson.com/great-books/\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nFacebook: https://www.facebook.com/drjordanpeterson\n\n--- PRODUCTS ---\n\nPersonality Course: https://www.jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com/\nUnderstand Myself personality test: https://understandmyself.com/\nMerchandise: https://teespring.com/stores/jordanbpeterson", "Lecture: Who Dares Say He Believes in God?", "9ea420dd-7878-4e4e-837e-e6651f10e775", 6213, false, "MnUfXYGtT5Q", "https://www.youtube.com/watch?v=MnUfXYGtT5Q", 13, "/downloads/Jordan B Peterson/2019-06-08 Lecture: Who Dares Say He Believes in God?/Lecture: Who Dares Say He Believes in God? [MnUfXYGtT5Q].mp4", false, false, false, 3, [], 1, ~U[2019-06-08 17:40:53Z], ~U[2026-09-16 21:08:17Z], ~U[2026-09-16 21:08:17Z], "And Jesus said unto him, Why callest thou me good? there is none good but one, that is, God. (Mark 10:18; see also Luke 18:19).\n\nNot every one that saith unto me, Lord, Lord, shall enter into the kingdom of heaven; but he that doeth the will of my Father which is in heaven. (Matthew 7:21, KJV). \n\nI have been asked many times by many people if I believe in God. I don't like this question. I generally respond by stating that I act as if God exists, but that's not sufficiently true. Who could do that? Who could conduct themselves with the moral exactitude and care necessary of someone who would dare to make that claim? Either claim? In any case, after being asked the question yet again, when I was in Australia, I decided to attempt to answer it in some detail. \n\nThis lecture, one of the 12 Rules for Life tour talks, was delivered in Sydney Feb 26, 2019, at the International Convention Centre. It was one of six I had professionally video recorded. Five of the six will be released directly on thinkspot, our new social media platform (to be announced in mid-June), as a bonus for direct subscribers (not to worry; there are still more than 50 to be released as audio on the Jordan B Peterson podcast at http://bit.ly/2HUdgnc, so it's not as if there will be any shortage). But I thought YouTube would be appropriate for this, given the potentially broad interest in the topic.\n\nI've made a new playlist for it, too, entitled On (my) Belief in God. Three videos make up that playlist: this one, a 20 minute talk I did for the Prager summit in May of 2019 (https://youtu.be/vwKCK5EhibM), and an interview/discussion I had with Dennis Prager at the same event (https://youtu.be/j0GL_4cAkhI)\n\n I would recommend watching them in the playlist order, which will be this lecture first, then my Prager talk, then the interview, if you're interested in doing so. I think they make a good group.The idea of belief in God is of extreme importance. I hope that these lectures and interviews add to everyone's understanding of my position and why I hold it.\n\nAs always, thank you very much for your continued support. \n\nThe adjunct videos are also available on the Prager U site: the lecture at https://www.youtube.com/watch?v=avInTfCd92Q; the interview at https://www.youtube.com/watch?v=L47oJxwp6yg\n\nThanks to the Prager U organization for the invitation and opportunity. \n\n--- SUPPORT THIS CHANNEL ---\n\nDonations: https://www.jordanbpeterson.com/donate\nMerchandise: https://teespring.com/stores/jordanbpeterson\n\n--- BOOKS ---\n\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life/\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning/\n\n--- LINKS ---\n\nWebsite: https://jordanbpeterson.com/\n12 Rules for Life Tour: https://jordanbpeterson.com/events/\nBlog: https://jordanbpeterson.com/blog/\nPodcast: https://jordanbpeterson.com/podcast/\nReading List: https://jordanbpeterson.com/great-books/\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nFacebook: https://www.facebook.com/drjordanpeterson\n\n--- PRODUCTS ---\n\nPersonality Course: https://www.jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com/\nUnderstand Myself personality test: https://understandmyself.com/\nMerchandise: https://teespring.com/stores/jordanbpeterson", "Lecture: Who Dares Say He Believes in God?", 6213, false, "MnUfXYGtT5Q", "https://www.youtube.com/watch?v=MnUfXYGtT5Q", (truncated) 21:08:17.278 [debug] QUERY OK source="sources" db=0.1ms idle=168.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:17.278 [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] 21:08:17.279 [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 [14058] 21:08:17.279 [debug] Current batch of media processed. Will check again in 1000ms 21:08:18.280 [debug] Current batch of media processed. Will check again in 1000ms 21:08:19.281 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jordan Peterson reveals why the people who carry the heaviest burdens are often the most silent.\n\nIn this analysis, we decode Dr. Jordan Peterson’s profound take on why the truly powerful don’t broadcast their struggles. Tying into clinical psychology, self-improvement trends, and silent resilience, this video explores the counterintuitive link between genuine strength and quiet withdrawal. If you’ve ever felt like you’re fighting battles no one sees, this breakdown is for you.\n\nIn This Video\n00:00 – The Paradox of Disappearing Strength\n05:45 – Why Silence Commands Immediate Respect\n11:20 – The Danger of “Oversharing” Your Inner World\n19:15 – How to Build Resilience Without Burning Out\n27:30 – Jordan Peterson on Masculinity, Mystery, and Mental Health\n\n// Why This Matters Right Now\nMindfulness, psychological insight, and personal development for men continue to dominate trending searches in 2026. The silent, steady approach to masculine identity and emotional fitness isn’t just philosophical—it’s a trending shift in how millions approach life. Jordan Peterson’s deep-dive into the power of silence explains exactly why the loudest person in the room is rarely the most dangerous.\n\n// Resources & Further Reading\n📖 12 Rules for Life: An Antidote to Chaos – https://www.jordanbpeterson.com/12-rules-for-life/\n📖 Beyond Order: 12 More Rules for Life – https://www.jordanbpeterson.com/beyond-order/\n🎙️ The Jordan B. Peterson Podcast – https://www.jordanbpeterson.com/podcast/\n🔗 Full unedited lectures available at Jordan Peterson’s official education hub.\n\n// Connect With This Community\n💬 What silent burden have you turned into your greatest strength? Drop it in the comments—but only if you feel you’re ready to share it.\n\n🔔 Subscribe For More\nIf you value depth over noise, hit subscribe and turn on notifications. We unpack the psychological frameworks and mindset shifts that help you build a life of meaning.\n\n#JordanPeterson #SilentStrength #Psychology #SelfImprovement #MensMentalHealth #2026Motivation", "duration" => 2015, "filename" => "/downloads/Jordan Peterson Rules for Life/2026-05-04 Jordan Peterson: "Why the Strongest People Disappear in Silence"/Jordan Peterson: "Why the Strongest People Disappear in Silence" [WbBY7UfbJrE].mp4", "id" => "WbBY7UfbJrE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WbBY7UfbJrE", "playlist_index" => 14, "timestamp" => 1777912212, "title" => "Jordan Peterson: \"Why the Strongest People Disappear in Silence\"", "upload_date" => "20260504"} 21:08:19.281 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=485.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:19.282 [debug] QUERY OK source="sources" db=0.1ms idle=486.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:19.282 [debug] QUERY OK source="media_items" db=0.3ms idle=486.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-04 16:30:12Z], 3] 21:08:19.285 [debug] QUERY OK source="media_items" db=2.2ms idle=487.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Jordan Peterson reveals why the people who carry the heaviest burdens are often the most silent.\n\nIn this analysis, we decode Dr. Jordan Peterson’s profound take on why the truly powerful don’t broadcast their struggles. Tying into clinical psychology, self-improvement trends, and silent resilience, this video explores the counterintuitive link between genuine strength and quiet withdrawal. If you’ve ever felt like you’re fighting battles no one sees, this breakdown is for you.\n\nIn This Video\n00:00 – The Paradox of Disappearing Strength\n05:45 – Why Silence Commands Immediate Respect\n11:20 – The Danger of “Oversharing” Your Inner World\n19:15 – How to Build Resilience Without Burning Out\n27:30 – Jordan Peterson on Masculinity, Mystery, and Mental Health\n\n// Why This Matters Right Now\nMindfulness, psychological insight, and personal development for men continue to dominate trending searches in 2026. The silent, steady approach to masculine identity and emotional fitness isn’t just philosophical—it’s a trending shift in how millions approach life. Jordan Peterson’s deep-dive into the power of silence explains exactly why the loudest person in the room is rarely the most dangerous.\n\n// Resources & Further Reading\n📖 12 Rules for Life: An Antidote to Chaos – https://www.jordanbpeterson.com/12-rules-for-life/\n📖 Beyond Order: 12 More Rules for Life – https://www.jordanbpeterson.com/beyond-order/\n🎙️ The Jordan B. Peterson Podcast – https://www.jordanbpeterson.com/podcast/\n🔗 Full unedited lectures available at Jordan Peterson’s official education hub.\n\n// Connect With This Community\n💬 What silent burden have you turned into your greatest strength? Drop it in the comments—but only if you feel you’re ready to share it.\n\n🔔 Subscribe For More\nIf you value depth over noise, hit subscribe and turn on notifications. We unpack the psychological frameworks and mindset shifts that help you build a life of meaning.\n\n#JordanPeterson #SilentStrength #Psychology #SelfImprovement #MensMentalHealth #2026Motivation", "Jordan Peterson: \"Why the Strongest People Disappear in Silence\"", "a497c53f-4330-4d3b-a16d-cd14dd549403", 2015, false, "WbBY7UfbJrE", "https://www.youtube.com/watch?v=WbBY7UfbJrE", 14, "/downloads/Jordan Peterson Rules for Life/2026-05-04 Jordan Peterson: "Why the Strongest People Disappear in Silence"/Jordan Peterson: "Why the Strongest People Disappear in Silence" [WbBY7UfbJrE].mp4", false, false, false, 3, [], 1, ~U[2026-05-04 16:30:12Z], ~U[2026-09-16 21:08:19Z], ~U[2026-09-16 21:08:19Z], "Jordan Peterson reveals why the people who carry the heaviest burdens are often the most silent.\n\nIn this analysis, we decode Dr. Jordan Peterson’s profound take on why the truly powerful don’t broadcast their struggles. Tying into clinical psychology, self-improvement trends, and silent resilience, this video explores the counterintuitive link between genuine strength and quiet withdrawal. If you’ve ever felt like you’re fighting battles no one sees, this breakdown is for you.\n\nIn This Video\n00:00 – The Paradox of Disappearing Strength\n05:45 – Why Silence Commands Immediate Respect\n11:20 – The Danger of “Oversharing” Your Inner World\n19:15 – How to Build Resilience Without Burning Out\n27:30 – Jordan Peterson on Masculinity, Mystery, and Mental Health\n\n// Why This Matters Right Now\nMindfulness, psychological insight, and personal development for men continue to dominate trending searches in 2026. The silent, steady approach to masculine identity and emotional fitness isn’t just philosophical—it’s a trending shift in how millions approach life. Jordan Peterson’s deep-dive into the power of silence explains exactly why the loudest person in the room is rarely the most dangerous.\n\n// Resources & Further Reading\n📖 12 Rules for Life: An Antidote to Chaos – https://www.jordanbpeterson.com/12-rules-for-life/\n📖 Beyond Order: 12 More Rules for Life – https://www.jordanbpeterson.com/beyond-order/\n🎙️ The Jordan B. Peterson Podcast – https://www.jordanbpeterson.com/podcast/\n🔗 Full unedited lectures available at Jordan Peterson’s official education hub.\n\n// Connect With This Community\n💬 What silent burden have you turned into your greatest strength? Drop it in the comments—but only if you feel you’re ready to share it.\n\n🔔 Subscribe For More\nIf you value depth over noise, hit subscribe and turn on notifications. We unpack the psychological frameworks and mindset shifts that help you build a life of meaning.\n\n#JordanPeterson #SilentStrength #Psychology #SelfImprovement #MensMentalHealth #2026Motivation", "Jordan Peterson: \"Why the Strongest People Disappear in Silence\"", 2015, false, "WbBY7UfbJrE", "https://www.youtube.com/watch?v=WbBY7UfbJrE", "/downloads/Jordan Peterson Rules for Life/2026-05-04 Jordan Peterson: "Why the Strongest People Disappear in Silence"/Jordan Peterson: "Why the Strongest People Disappear in Silence" [WbBY7UfbJrE].mp4", false, 3, ~U[2026-05-04 16:30:12Z]] 21:08:19.286 [debug] QUERY OK source="sources" db=0.1ms idle=173.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:19.286 [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] 21:08:19.287 [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 [16456] 21:08:19.287 [debug] Current batch of media processed. Will check again in 1000ms 21:08:20.288 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Subscribe for weekly videos.\n\nFollow us on Social Media:\nTwitter: https://twitter.com/chispamotvation\nInstagram: https://www.instagram.com/chispamotivation\nTiktok: https://www.tiktok.com/@chispamotivation You can now listen to all of our videos on Spotify\nlink to Spotify: https://open.spotify.com/show/45f7fpcboSgDbMRvbN1UAx\n\n\nSpeakers:\nJordan Peterson\nFollow his Podcast here: https://www.youtube.com/c/JordanPetersonVideos\n\nJocko Willink\nGary Vaynerhuk\n\n\n\nAll images shown in this video were taken from movies, stock footage and different spec commercials in order to give some context to the video.\n\n\nIf you have any issues or want to contact me, my email is elhartpablo@gmail.com", "duration" => 1237, "filename" => "/downloads/Chispa Motivation/2022-07-22 DISCIPLINE YOURSELF - Best Motivational Speeches by Jordan Peterson/DISCIPLINE YOURSELF - Best Motivational Speeches by Jordan Peterson [rhjiANJVR6g].mp4", "id" => "rhjiANJVR6g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rhjiANJVR6g", "playlist_index" => 15, "timestamp" => 1658494840, "title" => "DISCIPLINE YOURSELF - Best Motivational Speeches by Jordan Peterson", "upload_date" => "20220722"} 21:08:20.288 [debug] QUERY OK source="sources" db=0.2ms idle=1002.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:20.289 [debug] QUERY OK source="sources" db=0.1ms idle=1002.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:20.289 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-07-22 13:00:40Z], 3] 21:08:20.292 [debug] QUERY OK source="media_items" db=2.2ms idle=1002.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for weekly videos.\n\nFollow us on Social Media:\nTwitter: https://twitter.com/chispamotvation\nInstagram: https://www.instagram.com/chispamotivation\nTiktok: https://www.tiktok.com/@chispamotivation You can now listen to all of our videos on Spotify\nlink to Spotify: https://open.spotify.com/show/45f7fpcboSgDbMRvbN1UAx\n\n\nSpeakers:\nJordan Peterson\nFollow his Podcast here: https://www.youtube.com/c/JordanPetersonVideos\n\nJocko Willink\nGary Vaynerhuk\n\n\n\nAll images shown in this video were taken from movies, stock footage and different spec commercials in order to give some context to the video.\n\n\nIf you have any issues or want to contact me, my email is elhartpablo@gmail.com", "DISCIPLINE YOURSELF - Best Motivational Speeches by Jordan Peterson", "4c30e62c-cd0b-42b2-bb77-31152fc99d6b", 1237, false, "rhjiANJVR6g", "https://www.youtube.com/watch?v=rhjiANJVR6g", 15, "/downloads/Chispa Motivation/2022-07-22 DISCIPLINE YOURSELF - Best Motivational Speeches by Jordan Peterson/DISCIPLINE YOURSELF - Best Motivational Speeches by Jordan Peterson [rhjiANJVR6g].mp4", false, false, false, 3, [], 1, ~U[2022-07-22 13:00:40Z], ~U[2026-09-16 21:08:20Z], ~U[2026-09-16 21:08:20Z], "Subscribe for weekly videos.\n\nFollow us on Social Media:\nTwitter: https://twitter.com/chispamotvation\nInstagram: https://www.instagram.com/chispamotivation\nTiktok: https://www.tiktok.com/@chispamotivation You can now listen to all of our videos on Spotify\nlink to Spotify: https://open.spotify.com/show/45f7fpcboSgDbMRvbN1UAx\n\n\nSpeakers:\nJordan Peterson\nFollow his Podcast here: https://www.youtube.com/c/JordanPetersonVideos\n\nJocko Willink\nGary Vaynerhuk\n\n\n\nAll images shown in this video were taken from movies, stock footage and different spec commercials in order to give some context to the video.\n\n\nIf you have any issues or want to contact me, my email is elhartpablo@gmail.com", "DISCIPLINE YOURSELF - Best Motivational Speeches by Jordan Peterson", 1237, false, "rhjiANJVR6g", "https://www.youtube.com/watch?v=rhjiANJVR6g", "/downloads/Chispa Motivation/2022-07-22 DISCIPLINE YOURSELF - Best Motivational Speeches by Jordan Peterson/DISCIPLINE YOURSELF - Best Motivational Speeches by Jordan Peterson [rhjiANJVR6g].mp4", false, 3, ~U[2022-07-22 13:00:40Z]] 21:08:20.293 [debug] QUERY OK source="sources" db=0.2ms idle=178.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:20.293 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:08:20.294 [debug] QUERY OK source="media_items" db=0.3ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [16471] 21:08:20.294 [debug] Current batch of media processed. Will check again in 1000ms 21:08:21.295 [debug] Current batch of media processed. Will check again in 1000ms 21:08:22.296 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "\"Blessed is the one who perseveres under trial because, having stood the test, that person will receive the crown of life that the Lord has promised to those who love him.\"\n\nDoes Dr. Peterson deserve the crown? \n- What do you think?\n\n\n#JordanPeterson\n#PursuitofMeaning\n\n\nGet one of his books FOR FREE (narrated by Dr. Peterson himself) when signing up for an Audible Trial. This is his best one book, in my opinion - https://geni.us/DrJP.\n\n\nWe create to inspire, hopefully, worldwide.\n\nIf you're into a motivational speech or a motivational video from Dr. Jordan Peterson, you can stop here.\n\nHere, at the \"Pursuit of Meaning\" channel, we transform the original content from shows, podcasts, and key-notes with Dr. Jordan Peterson, to provide the viewers with a more immersive experience. \n\nWe amplify the content's original message by making it more cinematic and easier to understand by the end consumer. \n\nIf you are the legal content owner of any videos we posted on the channel and would like to remove them, please e-mail us at hello@succesonline.ro.\n\n✅ Fair Use Disclaimer\n1. The videos have no negative impact on the original works.\n2. The videos we make are used for teaching purposes.\n3. The videos are transformative in nature.\n4. We use only the audio component and tiny pieces of video footage, only if it's necessary.\n\n☢️ We hold license for using both video footage and songs.\n\n📧 Hello@succesonline.ro\n\n- Jordan Peterson Motivation\n- Jordan Peterson God\n- Jordan Peterson Meaning\n- Jordan Peterson Advice\n- Jordan Peterson Christ\n- Jordan Peterson Faith\n- Jordan Peterson Religion\n- Success Chasers\n- Wisdom Talks\n- Bite-sized Philosophy\n- Wise Advice Motivation\n- Be inspired\n- Motivation Madness\n- Chaos & Order\n- Better Chapter\n- Forever Inspired", "duration" => 1086, "filename" => "/downloads/Pursuit of Meaning/2022-01-29 Jordan Peterson's INCREDIBLE Journey To GOD | Heartbreaking Moments on His FAITH/Jordan Peterson's INCREDIBLE Journey To GOD | Heartbreaking Moments on His FAITH [x6_ESSfyiYE].mp4", "id" => "x6_ESSfyiYE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=x6_ESSfyiYE", "playlist_index" => 16, "timestamp" => 1643485121, "title" => "Jordan Peterson's INCREDIBLE Journey To GOD | Heartbreaking Moments on His FAITH", "upload_date" => "20220129"} 21:08:22.296 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [3] 21:08:22.297 [debug] QUERY OK source="sources" db=0.1ms idle=501.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:22.298 [debug] QUERY OK source="media_items" db=0.3ms idle=501.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-01-29 19:38:41Z], 3] 21:08:22.300 [debug] QUERY OK source="media_items" db=2.2ms idle=502.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["\"Blessed is the one who perseveres under trial because, having stood the test, that person will receive the crown of life that the Lord has promised to those who love him.\"\n\nDoes Dr. Peterson deserve the crown? \n- What do you think?\n\n\n#JordanPeterson\n#PursuitofMeaning\n\n\nGet one of his books FOR FREE (narrated by Dr. Peterson himself) when signing up for an Audible Trial. This is his best one book, in my opinion - https://geni.us/DrJP.\n\n\nWe create to inspire, hopefully, worldwide.\n\nIf you're into a motivational speech or a motivational video from Dr. Jordan Peterson, you can stop here.\n\nHere, at the \"Pursuit of Meaning\" channel, we transform the original content from shows, podcasts, and key-notes with Dr. Jordan Peterson, to provide the viewers with a more immersive experience. \n\nWe amplify the content's original message by making it more cinematic and easier to understand by the end consumer. \n\nIf you are the legal content owner of any videos we posted on the channel and would like to remove them, please e-mail us at hello@succesonline.ro.\n\n✅ Fair Use Disclaimer\n1. The videos have no negative impact on the original works.\n2. The videos we make are used for teaching purposes.\n3. The videos are transformative in nature.\n4. We use only the audio component and tiny pieces of video footage, only if it's necessary.\n\n☢️ We hold license for using both video footage and songs.\n\n📧 Hello@succesonline.ro\n\n- Jordan Peterson Motivation\n- Jordan Peterson God\n- Jordan Peterson Meaning\n- Jordan Peterson Advice\n- Jordan Peterson Christ\n- Jordan Peterson Faith\n- Jordan Peterson Religion\n- Success Chasers\n- Wisdom Talks\n- Bite-sized Philosophy\n- Wise Advice Motivation\n- Be inspired\n- Motivation Madness\n- Chaos & Order\n- Better Chapter\n- Forever Inspired", "Jordan Peterson's INCREDIBLE Journey To GOD | Heartbreaking Moments on His FAITH", "e6ae0383-dabd-4264-bbdc-066a9f5826fc", 1086, false, "x6_ESSfyiYE", "https://www.youtube.com/watch?v=x6_ESSfyiYE", 16, "/downloads/Pursuit of Meaning/2022-01-29 Jordan Peterson's INCREDIBLE Journey To GOD | Heartbreaking Moments on His FAITH/Jordan Peterson's INCREDIBLE Journey To GOD | Heartbreaking Moments on His FAITH [x6_ESSfyiYE].mp4", false, false, false, 3, [], 1, ~U[2022-01-29 19:38:41Z], ~U[2026-09-16 21:08:22Z], ~U[2026-09-16 21:08:22Z], "\"Blessed is the one who perseveres under trial because, having stood the test, that person will receive the crown of life that the Lord has promised to those who love him.\"\n\nDoes Dr. Peterson deserve the crown? \n- What do you think?\n\n\n#JordanPeterson\n#PursuitofMeaning\n\n\nGet one of his books FOR FREE (narrated by Dr. Peterson himself) when signing up for an Audible Trial. This is his best one book, in my opinion - https://geni.us/DrJP.\n\n\nWe create to inspire, hopefully, worldwide.\n\nIf you're into a motivational speech or a motivational video from Dr. Jordan Peterson, you can stop here.\n\nHere, at the \"Pursuit of Meaning\" channel, we transform the original content from shows, podcasts, and key-notes with Dr. Jordan Peterson, to provide the viewers with a more immersive experience. \n\nWe amplify the content's original message by making it more cinematic and easier to understand by the end consumer. \n\nIf you are the legal content owner of any videos we posted on the channel and would like to remove them, please e-mail us at hello@succesonline.ro.\n\n✅ Fair Use Disclaimer\n1. The videos have no negative impact on the original works.\n2. The videos we make are used for teaching purposes.\n3. The videos are transformative in nature.\n4. We use only the audio component and tiny pieces of video footage, only if it's necessary.\n\n☢️ We hold license for using both video footage and songs.\n\n📧 Hello@succesonline.ro\n\n- Jordan Peterson Motivation\n- Jordan Peterson God\n- Jordan Peterson Meaning\n- Jordan Peterson Advice\n- Jordan Peterson Christ\n- Jordan Peterson Faith\n- Jordan Peterson Religion\n- Success Chasers\n- Wisdom Talks\n- Bite-sized Philosophy\n- Wise Advice Motivation\n- Be inspired\n- Motivation Madness\n- Chaos & Order\n- Better Chapter\n- Forever Inspired", "Jordan Peterson's INCREDIBLE Journey To GOD | Heartbreaking Moments on His FAITH", 1086, false, "x6_ESSfyiYE", "https://www.youtube.com/watch?v=x6_ESSfyiYE", "/downloads/Pursuit of Meaning/2022-01-29 Jordan Peterson's INCREDIBLE Journey To GOD | Heartbreaking Moments on His FAITH/Jordan Peterson's INCREDIBLE Journey To GOD | Heartbreaking Moments on His FAITH [x6_ESSfyiYE].mp4", false, 3, ~U[2022-01-29 19:38:41Z]] 21:08:22.301 [debug] QUERY OK source="sources" db=0.3ms idle=184.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:22.302 [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" = ?) [2] 21:08:22.302 [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 [18925] 21:08:22.302 [debug] Current batch of media processed. Will check again in 1000ms 21:08:23.303 [debug] Current batch of media processed. Will check again in 1000ms 21:08:24.124 [info] {"source":"oban","duration":2194,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:24.304 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Stop waiting to feel motivated. In this powerful talk, Dr. Jordan Peterson cuts to the core of why you procrastinate and provides the psychological framework you need to build discipline, take responsibility for your life, and finally achieve your goals. This isn't about empty motivation; it's a practical guide to overcoming resistance and mastering the art of getting things done, even when you don't want to.\n\nWhat You'll Learn:\n\n· The Real Reason You Procrastinate: Understand the psychological barriers of anxiety and fear that hold you back.\n· Discipline Over Motivation: Why relying on feeling \"ready\" or \"inspired\" is a trap, and how to act regardless.\n· The Power of Small Starts: How to use micro-actions to build momentum and conquer overwhelming tasks.\n· Finding Meaning in Responsibility: How structuring your day and fulfilling your obligations is the path to a meaningful life.\n\nVideo Timestamps / Chapters:\n00:00 - The Problem with Waiting for Motivation\n03:15 - Why Your Brain Resists Starting\n07:42 - The Link Between Order, Responsibility, and Meaning\n12:30 - Practical Strategy: Start Small, Right Now\n15:10 - How to Schedule Your Day for Maximum Productivity\n19:05 - The Long-Term Impact of Building Discipline\n22:50 - Applying These Principles to Creative Work\n\n\n🔗 📚 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n📱 Connect with Dr. Peterson: \nInstagram → https://www.instagram.com/jordan.b.peterson/ \nTwitter → https://twitter.com/jordanbpeterson Website → https://www.jordanbpeterson.com/ Events → https://www.jordanbpeterson.com/events/\n\n💬 JOIN THE DISCUSSION 💬\nWhat’s the ONE task you’ve been putting off that you’ll tackle today after watching this? Share your commitment in the comments below—let's hold each other accountable. Don't forget to like this video if it helped you; it helps YouTube share it with more people who need to see it.\n\n🔔 SUBSCRIBE for more insights on practical psychology, personal development, and mastering your mindset. New videos every week. \n\n---\n\n#JordanPeterson #Discipline #Motivation #Procrastination #GetThingsDone #PersonalDevelopment #SelfImprovement #Productivity #Mindset #Psychology #Responsibility #LifeAdvice #Goals #Focus #Success\n\n---\n\n\nAbout This Channel:\nWelcome to Jordan Peterson Rules for Life, where we explore actionable ideas from psychology, philosophy, and science to help you live a more focused, productive, and meaningful life. We post new, in-depth videos every week. Subscribe and hit the bell so you never miss an upload!", "duration" => 1463, "filename" => "/downloads/Jordan Peterson Rules for Life/2025-12-21 Jordan Peterson: "Force Yourself to Get Things Done"/Jordan Peterson: "Force Yourself to Get Things Done" [m5C_e8Lv9Ow].mp4", "id" => "m5C_e8Lv9Ow", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=m5C_e8Lv9Ow", "playlist_index" => 17, "timestamp" => 1766340152, "title" => "Jordan Peterson: \"Force Yourself to Get Things Done\"", "upload_date" => "20251221"} 21:08:24.305 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=508.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:24.305 [debug] QUERY OK source="sources" db=0.1ms idle=509.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:24.306 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=509.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-21 18:02:32Z], 3] 21:08:24.310 [debug] QUERY OK source="media_items" db=3.0ms idle=186.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Stop waiting to feel motivated. In this powerful talk, Dr. Jordan Peterson cuts to the core of why you procrastinate and provides the psychological framework you need to build discipline, take responsibility for your life, and finally achieve your goals. This isn't about empty motivation; it's a practical guide to overcoming resistance and mastering the art of getting things done, even when you don't want to.\n\nWhat You'll Learn:\n\n· The Real Reason You Procrastinate: Understand the psychological barriers of anxiety and fear that hold you back.\n· Discipline Over Motivation: Why relying on feeling \"ready\" or \"inspired\" is a trap, and how to act regardless.\n· The Power of Small Starts: How to use micro-actions to build momentum and conquer overwhelming tasks.\n· Finding Meaning in Responsibility: How structuring your day and fulfilling your obligations is the path to a meaningful life.\n\nVideo Timestamps / Chapters:\n00:00 - The Problem with Waiting for Motivation\n03:15 - Why Your Brain Resists Starting\n07:42 - The Link Between Order, Responsibility, and Meaning\n12:30 - Practical Strategy: Start Small, Right Now\n15:10 - How to Schedule Your Day for Maximum Productivity\n19:05 - The Long-Term Impact of Building Discipline\n22:50 - Applying These Principles to Creative Work\n\n\n🔗 📚 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n📱 Connect with Dr. Peterson: \nInstagram → https://www.instagram.com/jordan.b.peterson/ \nTwitter → https://twitter.com/jordanbpeterson Website → https://www.jordanbpeterson.com/ Events → https://www.jordanbpeterson.com/events/\n\n💬 JOIN THE DISCUSSION 💬\nWhat’s the ONE task you’ve been putting off that you’ll tackle today after watching this? Share your commitment in the comments below—let's hold each other accountable. Don't forget to like this video if it helped you; it helps YouTube share it with more people who need to see it.\n\n🔔 SUBSCRIBE for more insights on practical psychology, personal development, and mastering your mindset. New videos every week. \n\n---\n\n#JordanPeterson #Discipline #Motivation #Procrastination #GetThingsDone #PersonalDevelopment #SelfImprovement #Productivity #Mindset #Psychology #Responsibility #LifeAdvice #Goals #Focus #Success\n\n---\n\n\nAbout This Channel:\nWelcome to Jordan Peterson Rules for Life, where we explore actionable ideas from psychology, philosophy, and science to help you live a more focused, productive, and meaningful life. We post new, in-depth videos every week. Subscribe and hit the bell so you never miss an upload!", "Jordan Peterson: \"Force Yourself to Get Things Done\"", "c99545f1-92da-44bd-88d3-a0df6f402ab8", 1463, false, "m5C_e8Lv9Ow", "https://www.youtube.com/watch?v=m5C_e8Lv9Ow", 17, "/downloads/Jordan Peterson Rules for Life/2025-12-21 Jordan Peterson: "Force Yourself to Get Things Done"/Jordan Peterson: "Force Yourself to Get Things Done" [m5C_e8Lv9Ow].mp4", false, false, false, 3, [], 1, ~U[2025-12-21 18:02:32Z], ~U[2026-09-16 21:08:24Z], ~U[2026-09-16 21:08:24Z], "Stop waiting to feel motivated. In this powerful talk, Dr. Jordan Peterson cuts to the core of why you procrastinate and provides the psychological framework you need to build discipline, take responsibility for your life, and finally achieve your goals. This isn't about empty motivation; it's a practical guide to overcoming resistance and mastering the art of getting things done, even when you don't want to.\n\nWhat You'll Learn:\n\n· The Real Reason You Procrastinate: Understand the psychological barriers of anxiety and fear that hold you back.\n· Discipline Over Motivation: Why relying on feeling \"ready\" or \"inspired\" is a trap, and how to act regardless.\n· The Power of Small Starts: How to use micro-actions to build momentum and conquer overwhelming tasks.\n· Finding Meaning in Responsibility: How structuring your day and fulfilling your obligations is the path to a meaningful life.\n\nVideo Timestamps / Chapters:\n00:00 - The Problem with Waiting for Motivation\n03:15 - Why Your Brain Resists Starting\n07:42 - The Link Between Order, Responsibility, and Meaning\n12:30 - Practical Strategy: Start Small, Right Now\n15:10 - How to Schedule Your Day for Maximum Productivity\n19:05 - The Long-Term Impact of Building Discipline\n22:50 - Applying These Principles to Creative Work\n\n\n🔗 📚 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n📱 Connect with Dr. Peterson: \nInstagram → https://www.instagram.com/jordan.b.peterson/ \nTwitter → https://twitter.com/jordanbpeterson Website → https://www.jordanbpeterson.com/ Events → https://www.jordanbpeterson.com/events/\n\n💬 JOIN THE DISCUSSION 💬\nWhat’s the ONE task you’ve been putting off that you’ll tackle today after watching this? Share your commitment in the comments below—let's hold each other accountable. Don't forget to like this video if it helped you; it helps YouTube share it with more people who need to see it.\n\n🔔 SUBSCRIBE for more insights on practical psychology, personal development, and mastering your mindset. New videos every week. \n\n---\n\n#JordanPeterson #Discipline #Motivation #Procrastination #GetThingsDone #PersonalDevelopment #SelfImprovement #Productivity #Mindset #Psychology #Responsibility #LifeAdvice #Goals #Focus #Success\n\n---\n\n\nAbout This Channel:\nWelcome to Jordan Peterson Rules for Life, where we explore actionable ideas from psychology, philosophy, and science to help you live a more focused, productive, and meaningful life. We post new, in-depth videos every week. Subscribe and hit the bell so you never miss an upload!", "Jordan Peterson: \"Force Yourself to Get Things Done\"", 1463, false, "m5C_e8Lv9Ow", "https://www.youtube.com/watch?v=m5C_e8Lv9Ow", "/downloads/Jordan Peterson Rules for Life/2025-12-21 Jordan Peterson: "Force Yourself to Get Things Done"/Jordan Peterson: "Force Yourself to Get Things Done" [m5C_e8Lv9Ow].mp4", false, 3, ~U[2025-12-21 18:02:32Z]] 21:08:24.311 [debug] QUERY OK source="sources" db=0.2ms idle=186.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:24.311 [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] 21:08:24.312 [debug] QUERY OK source="media_items" db=0.2ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19523] 21:08:24.312 [debug] Current batch of media processed. Will check again in 1000ms 21:08:25.313 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Dr. Jordan Peterson confronts the single question every man eventually asks: What actually makes a man’s life meaningful? This isn’t about fleeting happiness—it’s about the weight of responsibility, sacrifice, and the deep-seated drive to bring order out of chaos. In this powerful talk, Peterson lays out a raw psychological and philosophical roadmap for a life of genuine purpose.\n\nWhat You’ll Learn in This Video:\n• Why meaning beats happiness every single time\n• How personal responsibility fundamentally restructures your life\n• The unavoidable link between sacrifice and lasting fulfillment\n• Why telling the truth is the most revolutionary act you can commit\n• How to “pick up the heaviest burden you can carry”—and why you must\n\nKey Moments (Timestamps):\n00:00 – The Danger of a Meaningless Life\n03:45 – Responsibility as the Foundation of Identity\n08:20 – Sacrifice: Giving Up the Present for the Future\n14:15 – Truth, Chaos, and the Logos\n23:50 – What “Carrying Your Cross” Really Looks Like\n31:30 – Practical Steps to Start Building Meaning Today\n\n🔔 Subscribe for more deep-dive discussions on philosophy, psychology, and personal development.\n\n#JordanPeterson #MensMeaning #LifePurpose #PersonalResponsibility #Sacrifice #SelfImprovement #Psychology #Philosophy #Motivation\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nABOUT DR. JORDAN B. PETERSON:\nJordan B. Peterson is a clinical psychologist, professor emeritus at the University of Toronto, and one of the most influential public intellectuals of our time. He is the author of the global bestsellers 12 Rules for Life: An Antidote to Chaos and Beyond Order: 12 More Rules for Life. His work integrates psychology, philosophy, mythology, and religion to explore how individuals can find meaning and purpose in a chaotic world.\n\n🔗 Official Website: https://www.jordanbpeterson.com/\n🔗 YouTube Channel: https://www.youtube.com/@JordanBPeterson\n🔗 Podcast: https://www.jordanbpeterson.com/podcast/\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nWAYS TO SUPPORT THE CHANNEL:\n⭐ Become a Channel Member: https://www.youtube.com/channel/UC5ddsy9laN8sGjV1kTkvHAw/join\n☕ Buy Me a Coffee: buymeacoffee.com/jordan.peterson\n\n🔔 DON'T MISS OUT\n→ Subscribe & Hit the Bell (🔔) to join a community of people dedicated to building better lives every single week.\n→ Like This Video if you believe in aiming higher, even (especially) on the hard days.\n→ Share This With Someone who needs to hear this message right now.\n\n🗣️ WHAT’S YOUR BIGGEST TAKEAWAY? Drop a comment below\n\n📢 DISCLAIMER:\nThis video is for educational and informational purposes only and is not a substitute for professional medical or psychological advice.", "duration" => 2270, "filename" => "/downloads/Jordan Peterson Rules for Life/2026-05-07 Jordan Peterson: "What Gives A Man's Life Meaning"/Jordan Peterson: "What Gives A Man's Life Meaning" [6NJJA0Ynzhw].mp4", "id" => "6NJJA0Ynzhw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6NJJA0Ynzhw", "playlist_index" => 18, "timestamp" => 1778171406, "title" => "Jordan Peterson: \"What Gives A Man's Life Meaning\"", "upload_date" => "20260507"} 21:08:25.314 [debug] QUERY OK source="sources" db=0.3ms idle=1003.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:25.314 [debug] QUERY OK source="sources" db=0.2ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:25.315 [debug] QUERY OK source="media_items" db=0.4ms idle=1002.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-07 16:30:06Z], 3] 21:08:25.318 [debug] QUERY OK source="media_items" db=2.5ms idle=1002.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dr. Jordan Peterson confronts the single question every man eventually asks: What actually makes a man’s life meaningful? This isn’t about fleeting happiness—it’s about the weight of responsibility, sacrifice, and the deep-seated drive to bring order out of chaos. In this powerful talk, Peterson lays out a raw psychological and philosophical roadmap for a life of genuine purpose.\n\nWhat You’ll Learn in This Video:\n• Why meaning beats happiness every single time\n• How personal responsibility fundamentally restructures your life\n• The unavoidable link between sacrifice and lasting fulfillment\n• Why telling the truth is the most revolutionary act you can commit\n• How to “pick up the heaviest burden you can carry”—and why you must\n\nKey Moments (Timestamps):\n00:00 – The Danger of a Meaningless Life\n03:45 – Responsibility as the Foundation of Identity\n08:20 – Sacrifice: Giving Up the Present for the Future\n14:15 – Truth, Chaos, and the Logos\n23:50 – What “Carrying Your Cross” Really Looks Like\n31:30 – Practical Steps to Start Building Meaning Today\n\n🔔 Subscribe for more deep-dive discussions on philosophy, psychology, and personal development.\n\n#JordanPeterson #MensMeaning #LifePurpose #PersonalResponsibility #Sacrifice #SelfImprovement #Psychology #Philosophy #Motivation\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nABOUT DR. JORDAN B. PETERSON:\nJordan B. Peterson is a clinical psychologist, professor emeritus at the University of Toronto, and one of the most influential public intellectuals of our time. He is the author of the global bestsellers 12 Rules for Life: An Antidote to Chaos and Beyond Order: 12 More Rules for Life. His work integrates psychology, philosophy, mythology, and religion to explore how individuals can find meaning and purpose in a chaotic world.\n\n🔗 Official Website: https://www.jordanbpeterson.com/\n🔗 YouTube Channel: https://www.youtube.com/@JordanBPeterson\n🔗 Podcast: https://www.jordanbpeterson.com/podcast/\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nWAYS TO SUPPORT THE CHANNEL:\n⭐ Become a Channel Member: https://www.youtube.com/channel/UC5ddsy9laN8sGjV1kTkvHAw/join\n☕ Buy Me a Coffee: buymeacoffee.com/jordan.peterson\n\n🔔 DON'T MISS OUT\n→ Subscribe & Hit the Bell (🔔) to join a community of people dedicated to building better lives every single week.\n→ Like This Video if you believe in aiming higher, even (especially) on the hard days.\n→ Share This With Someone who needs to hear this message right now.\n\n🗣️ WHAT’S YOUR BIGGEST TAKEAWAY? Drop a comment below\n\n📢 DISCLAIMER:\nThis video is for educational and informational purposes only and is not a substitute for professional medical or psychological advice.", "Jordan Peterson: \"What Gives A Man's Life Meaning\"", "34ac6c45-c492-44de-92e3-d1b7b0f5749c", 2270, false, "6NJJA0Ynzhw", "https://www.youtube.com/watch?v=6NJJA0Ynzhw", 18, "/downloads/Jordan Peterson Rules for Life/2026-05-07 Jordan Peterson: "What Gives A Man's Life Meaning"/Jordan Peterson: "What Gives A Man's Life Meaning" [6NJJA0Ynzhw].mp4", false, false, false, 3, [], 1, ~U[2026-05-07 16:30:06Z], ~U[2026-09-16 21:08:25Z], ~U[2026-09-16 21:08:25Z], "Dr. Jordan Peterson confronts the single question every man eventually asks: What actually makes a man’s life meaningful? This isn’t about fleeting happiness—it’s about the weight of responsibility, sacrifice, and the deep-seated drive to bring order out of chaos. In this powerful talk, Peterson lays out a raw psychological and philosophical roadmap for a life of genuine purpose.\n\nWhat You’ll Learn in This Video:\n• Why meaning beats happiness every single time\n• How personal responsibility fundamentally restructures your life\n• The unavoidable link between sacrifice and lasting fulfillment\n• Why telling the truth is the most revolutionary act you can commit\n• How to “pick up the heaviest burden you can carry”—and why you must\n\nKey Moments (Timestamps):\n00:00 – The Danger of a Meaningless Life\n03:45 – Responsibility as the Foundation of Identity\n08:20 – Sacrifice: Giving Up the Present for the Future\n14:15 – Truth, Chaos, and the Logos\n23:50 – What “Carrying Your Cross” Really Looks Like\n31:30 – Practical Steps to Start Building Meaning Today\n\n🔔 Subscribe for more deep-dive discussions on philosophy, psychology, and personal development.\n\n#JordanPeterson #MensMeaning #LifePurpose #PersonalResponsibility #Sacrifice #SelfImprovement #Psychology #Philosophy #Motivation\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nABOUT DR. JORDAN B. PETERSON:\nJordan B. Peterson is a clinical psychologist, professor emeritus at the University of Toronto, and one of the most influential public intellectuals of our time. He is the author of the global bestsellers 12 Rules for Life: An Antidote to Chaos and Beyond Order: 12 More Rules for Life. His work integrates psychology, philosophy, mythology, and religion to explore how individuals can find meaning and purpose in a chaotic world.\n\n🔗 Official Website: https://www.jordanbpeterson.com/\n🔗 YouTube Channel: https://www.youtube.com/@JordanBPeterson\n🔗 Podcast: https://www.jordanbpeterson.com/podcast/\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nWAYS TO SUPPORT THE CHANNEL:\n⭐ Become a Channel Member: https://www.youtube.com/channel/UC5ddsy9laN8sGjV1kTkvHAw/join\n☕ Buy Me a Coffee: buymeacoffee.com/jordan.peterson\n\n🔔 DON'T MISS OUT\n→ Subscribe & Hit the Bell (🔔) to join a community of people dedicated to building better lives every single week.\n→ Like This Video if you believe in aiming higher, even (especially) on the hard days.\n→ Share This With Someone who needs to hear this message right now.\n\n🗣️ WHAT’S YOUR BIGGEST TAKEAWAY? Drop a comment below\n\n📢 DISCLAIMER:\nThis video is for educational and informational purposes only and is not a substitute for professional medical or psychological advice.", "Jordan Peterson: \"What Gives A Man's Life Meaning\"", 2270, false, "6NJJA0Ynzhw", "https://www.youtube.com/watch?v=6NJJA0Ynzhw", "/downloads/Jordan Peterson Rules for Life/2026-05-07 Jordan Peterson: "What Gives A Man's Life Meaning"/Jordan Peterson: "What Gives A Man's Life Meaning" [6NJJA0Ynzhw].mp4", false, 3, ~U[2026-05-07 16:30:06Z]] 21:08:25.319 [debug] QUERY OK source="sources" db=0.2ms idle=196.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:25.319 [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" = ?) [2] 21:08:25.320 [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 [19524] 21:08:25.320 [debug] Current batch of media processed. Will check again in 1000ms 21:08:26.321 [debug] Current batch of media processed. Will check again in 1000ms 21:08:27.322 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "📺 Jordan Peterson: \"You Must Believe in You\" - A Message on Responsibility, Sacrifice, and Upward Striving\nWhat is the one principle that can stabilize your world and start your journey out of suffering? In this powerful talk, Dr. Jordan B. Peterson argues that the foundational answer is voluntary self-sacrifice and upward striving. This isn't about grand gestures, but about the daily commitment to take responsibility, put your life in order, and aim toward your highest ideal.\n\nThis video captures essential lessons from Dr. Peterson's recent major address, where he explored how timeless biblical stories provide a roadmap for modern life. Discover why accepting responsibility for your errors is the first and most courageous step toward personal transformation and how \"believing in you\" is an active, moral process.\n\n📖 In This Video, You Will Learn:\nThe Path Out of \"Hell\": Dr. Peterson explains how much of our suffering stems from our own poor choices, and how recognizing this is the key to unlocking change.\n\nThe Power of \"Upward Striving\": Learn why the cosmic and moral principle of aiming upward—toward improvement, redemption, and your highest ideal—is essential for a meaningful life.\n\nStart Small, Think Big: Practical advice on beginning your journey. Transformation starts not with a huge leap, but with getting your immediate environment and habits in order.\n\nThe Edge of Adventure: Why we learn and grow only when we operate outside our comfort zone. Dr. Peterson discusses how facing challenges voluntarily builds the resilience and skill needed to withstand anything.\n\nThe Stories That Shape Us: Insights into narratives like Jacob and Esau (on the cost of craving power) and Abraham (on faithful adventure), and what they teach us about keeping our word, ambition, and courage.\n\n⏱️ CHAPTER TIMESTAMPS:\n00:00 - Introduction: \"You Must Believe in You\"\n02:15 - Where Does Suffering Really Come From?\n08:40 - The First Step: Accepting Responsibility\n11:20 - The Principle of Upward Striving & Sacrifice\n14:50 - How to Start Your Transformation (Practical Steps)\n17:10 - Learning on the \"Edge of Adventure\"\n20:05 - Biblical Wisdom for Modern Life\n24:00 - Key Insights: Finding Your Purpose\n\n📚 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\nFor official Jordan Peterson content, please visit his official website and YouTube channel.\n\n📱 Connect with Dr. Peterson: \nInstagram → https://www.instagram.com/jordan.b.peterson/ \nTwitter → https://twitter.com/jordanbpeterson Website → https://www.jordanbpeterson.com/ Events → https://www.jordanbpeterson.com/events/\n\n💬 Join the Discussion:\nWhat is one small thing you can put in order today? Share your commitment in the comments below. If this message resonated with you, please like the video, subscribe to the channel, and hit the notification bell. Sharing this video helps others who are on their own path toward taking responsibility and finding meaning.\n\n👉 Subscribe for more deep dives into psychology, philosophy, and personal development.\n\nAbout This Channel:\nWe are dedicated to curating and sharing impactful lectures, speeches, and conversations that challenge conventional thinking and promote personal sovereignty. Our focus is on psychology, philosophy, and the fundamental principles that lead to a meaningful life.\n\n\n#jordanpeterson #motivation #psychology #selfimprovement #responsibility #podcast #biblicalseries #meaning #lifeadvice #philosophy #psychologylectures #personaldevelopment", "duration" => 1567, "filename" => "/downloads/Jordan Peterson Rules for Life/2025-12-08 Jordan Peterson: "You Must Believe in You"/Jordan Peterson: "You Must Believe in You" [mRAguo1ZkHc].mp4", "id" => "mRAguo1ZkHc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mRAguo1ZkHc", "playlist_index" => 19, "timestamp" => 1765220452, "title" => "Jordan Peterson: \"You Must Believe in You\"", "upload_date" => "20251208"} 21:08:27.323 [debug] QUERY OK source="sources" db=0.2ms idle=526.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:27.323 [debug] QUERY OK source="sources" db=0.1ms idle=527.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:27.324 [debug] QUERY OK source="media_items" db=0.5ms idle=527.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-08 19:00:52Z], 3] 21:08:27.327 [debug] QUERY OK source="media_items" db=2.0ms idle=528.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["📺 Jordan Peterson: \"You Must Believe in You\" - A Message on Responsibility, Sacrifice, and Upward Striving\nWhat is the one principle that can stabilize your world and start your journey out of suffering? In this powerful talk, Dr. Jordan B. Peterson argues that the foundational answer is voluntary self-sacrifice and upward striving. This isn't about grand gestures, but about the daily commitment to take responsibility, put your life in order, and aim toward your highest ideal.\n\nThis video captures essential lessons from Dr. Peterson's recent major address, where he explored how timeless biblical stories provide a roadmap for modern life. Discover why accepting responsibility for your errors is the first and most courageous step toward personal transformation and how \"believing in you\" is an active, moral process.\n\n📖 In This Video, You Will Learn:\nThe Path Out of \"Hell\": Dr. Peterson explains how much of our suffering stems from our own poor choices, and how recognizing this is the key to unlocking change.\n\nThe Power of \"Upward Striving\": Learn why the cosmic and moral principle of aiming upward—toward improvement, redemption, and your highest ideal—is essential for a meaningful life.\n\nStart Small, Think Big: Practical advice on beginning your journey. Transformation starts not with a huge leap, but with getting your immediate environment and habits in order.\n\nThe Edge of Adventure: Why we learn and grow only when we operate outside our comfort zone. Dr. Peterson discusses how facing challenges voluntarily builds the resilience and skill needed to withstand anything.\n\nThe Stories That Shape Us: Insights into narratives like Jacob and Esau (on the cost of craving power) and Abraham (on faithful adventure), and what they teach us about keeping our word, ambition, and courage.\n\n⏱️ CHAPTER TIMESTAMPS:\n00:00 - Introduction: \"You Must Believe in You\"\n02:15 - Where Does Suffering Really Come From?\n08:40 - The First Step: Accepting Responsibility\n11:20 - The Principle of Upward Striving & Sacrifice\n14:50 - How to Start Your Transformation (Practical Steps)\n17:10 - Learning on the \"Edge of Adventure\"\n20:05 - Biblical Wisdom for Modern Life\n24:00 - Key Insights: Finding Your Purpose\n\n📚 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\nFor official Jordan Peterson content, please visit his official website and YouTube channel.\n\n📱 Connect with Dr. Peterson: \nInstagram → https://www.instagram.com/jordan.b.peterson/ \nTwitter → https://twitter.com/jordanbpeterson Website → https://www.jordanbpeterson.com/ Events → https://www.jordanbpeterson.com/events/\n\n💬 Join the Discussion:\nWhat is one small thing you can put in order today? Share your commitment in the comments below. If this message resonated with you, please like the video, subscribe to the channel, and hit the notification bell. Sharing this video helps others who are on their own path toward taking responsibility and finding meaning.\n\n👉 Subscribe for more deep dives into psychology, philosophy, and personal development.\n\nAbout This Channel:\nWe are dedicated to curating and sharing impactful lectures, speeches, and conversations that challenge conventional thinking and promote personal sovereignty. Our focus is on psychology, philosophy, and the fundamental principles that lead to a meaningful life.\n\n\n#jordanpeterson #motivation #psychology #selfimprovement #responsibility #podcast #biblicalseries #meaning #lifeadvice #philosophy #psychologylectures #personaldevelopment", "Jordan Peterson: \"You Must Believe in You\"", "65e27add-ddce-485c-9f5b-037cc8146f54", 1567, false, "mRAguo1ZkHc", "https://www.youtube.com/watch?v=mRAguo1ZkHc", 19, "/downloads/Jordan Peterson Rules for Life/2025-12-08 Jordan Peterson: "You Must Believe in You"/Jordan Peterson: "You Must Believe in You" [mRAguo1ZkHc].mp4", false, false, false, 3, [], 1, ~U[2025-12-08 19:00:52Z], ~U[2026-09-16 21:08:27Z], ~U[2026-09-16 21:08:27Z], "📺 Jordan Peterson: \"You Must Believe in You\" - A Message on Responsibility, Sacrifice, and Upward Striving\nWhat is the one principle that can stabilize your world and start your journey out of suffering? In this powerful talk, Dr. Jordan B. Peterson argues that the foundational answer is voluntary self-sacrifice and upward striving. This isn't about grand gestures, but about the daily commitment to take responsibility, put your life in order, and aim toward your highest ideal.\n\nThis video captures essential lessons from Dr. Peterson's recent major address, where he explored how timeless biblical stories provide a roadmap for modern life. Discover why accepting responsibility for your errors is the first and most courageous step toward personal transformation and how \"believing in you\" is an active, moral process.\n\n📖 In This Video, You Will Learn:\nThe Path Out of \"Hell\": Dr. Peterson explains how much of our suffering stems from our own poor choices, and how recognizing this is the key to unlocking change.\n\nThe Power of \"Upward Striving\": Learn why the cosmic and moral principle of aiming upward—toward improvement, redemption, and your highest ideal—is essential for a meaningful life.\n\nStart Small, Think Big: Practical advice on beginning your journey. Transformation starts not with a huge leap, but with getting your immediate environment and habits in order.\n\nThe Edge of Adventure: Why we learn and grow only when we operate outside our comfort zone. Dr. Peterson discusses how facing challenges voluntarily builds the resilience and skill needed to withstand anything.\n\nThe Stories That Shape Us: Insights into narratives like Jacob and Esau (on the cost of craving power) and Abraham (on faithful adventure), and what they teach us about keeping our word, ambition, and courage.\n\n⏱️ CHAPTER TIMESTAMPS:\n00:00 - Introduction: \"You Must Believe in You\"\n02:15 - Where Does Suffering Really Come From?\n08:40 - The First Step: Accepting Responsibility\n11:20 - The Principle of Upward Striving & Sacrifice\n14:50 - How to Start Your Transformation (Practical Steps)\n17:10 - Learning on the \"Edge of Adventure\"\n20:05 - Biblical Wisdom for Modern Life\n24:00 - Key Insights: Finding Your Purpose\n\n📚 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\nFor official Jordan Peterson content, please visit his official website and YouTube channel.\n\n📱 Connect with Dr. Peterson: \nInstagram → https://www.instagram.com/jordan.b.peterson/ \nTwitter → https://twitter.com/jordanbpeterson Website → https://www.jordanbpeterson.com/ Events → https://www.jordanbpeterson.com/events/\n\n💬 Join the Discussion:\nWhat i (truncated) 21:08:27.327 [debug] QUERY OK source="sources" db=0.3ms idle=201.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:27.328 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.3ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:08:27.329 [debug] QUERY OK source="media_items" db=0.4ms idle=5.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19525] 21:08:27.329 [debug] Current batch of media processed. Will check again in 1000ms 21:08:28.330 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Are you feeling stuck, unmotivated, or overwhelmed by the chaos of modern life? In this transformative talk, Dr. Jordan Peterson—the world-renowned clinical psychologist and bestselling author of 12 Rules for Life and Beyond Order—delivers a masterclass on how to improve yourself and, more importantly, why you must to find meaning in a world full of suffering and nihilism. This isn't another fleeting motivational speech; it’s a deep, psychological framework built on radical responsibility and brutal self-honesty, perfect for anyone serious about personal growth.\n\n🔥 In This Self-Improvement Deep-Dive, You’ll Discover:\n\n· Why comparing yourself to others is a losing game–and the only competition that ever truly matters (Hint: It’s the person you were yesterday).\n· Peterson’s foundational principle: \"Treat yourself like someone you are responsible for helping\".\n· The critical link between taking personal responsibility and creating a meaningful life that keeps suffering at bay.\n· How to \"clean up your room\" of your mind and environment to establish order, build confidence, and take control of your narrative.\n· The necessity of honest self-confrontation–how the refusal to face your own weaknesses silently destroys your potential.\n· Why we often sabotage our own growth because we are terrified of our own potential for greatness.\n\nThis video explores the core themes of personal responsibility, self-discipline, psychological development, and human potential. Peterson’s teachings provide a timeless roadmap for navigating anxiety, overcoming self-doubt, and building an unshakable life of purpose.\n\nTimestamps:\n00:00 – The Opening Question: Why Bother Improving Yourself?\n02:15 – Rule 1: Radical Responsibility (Clean Your Room)\n06:40 – Treating Yourself Like Someone You Care For\n12:55 – The Danger of Comparison: Your Only Rival is Your Former Self\n19:20 – Confronting Your Shadow (The Peterson Method)\n25:00 – Finding Meaning, Not Happiness\n32:35 – The Practical Path Forward (Your First Step Today)\n\n🎧 Audio & Gear\nTo get the best experience, I recommend listening with headphones to catch every detail of this lecture.\n\n🔗 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n📱 Connect with Jordan Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n💬 What’s Your Biggest Takeaway? Drop your thoughts in the comments below. What is one area of your life you are going to start taking responsibility for today? Let’s build a community of high-value men and women dedicated to growth.\n\n🔔 Don't Forget:\nIf you found value in this, smash that LIKE button, SUBSCRIBE for weekly self-improvement content, and ring the bell so you never miss a new deep-dive video from us!\n\n---\n\n#JordanPeterson #SelfImprovement #Psychology #Motivation #12RulesForLife #PersonalResponsibility #MensMentalHealth #PersonalGrowth #LifeAdvice #MeaningOfLife", "duration" => 2293, "filename" => "/downloads/Jordan Peterson Rules for Life/2026-05-03 Jordan Peterson: "How to Improve Yourself and Why"/Jordan Peterson: "How to Improve Yourself and Why" [5PphO5RNuRU].mp4", "id" => "5PphO5RNuRU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5PphO5RNuRU", "playlist_index" => 20, "timestamp" => 1777825802, "title" => "Jordan Peterson: \"How to Improve Yourself and Why\"", "upload_date" => "20260503"} 21:08:28.331 [debug] QUERY OK source="sources" db=0.2ms idle=1004.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:28.332 [debug] QUERY OK source="sources" db=0.5ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:28.334 [debug] QUERY OK source="media_items" db=1.9ms queue=0.1ms idle=1003.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-03 16:30:02Z], 3] 21:08:28.339 [debug] QUERY OK source="media_items" db=3.5ms idle=1005.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Are you feeling stuck, unmotivated, or overwhelmed by the chaos of modern life? In this transformative talk, Dr. Jordan Peterson—the world-renowned clinical psychologist and bestselling author of 12 Rules for Life and Beyond Order—delivers a masterclass on how to improve yourself and, more importantly, why you must to find meaning in a world full of suffering and nihilism. This isn't another fleeting motivational speech; it’s a deep, psychological framework built on radical responsibility and brutal self-honesty, perfect for anyone serious about personal growth.\n\n🔥 In This Self-Improvement Deep-Dive, You’ll Discover:\n\n· Why comparing yourself to others is a losing game–and the only competition that ever truly matters (Hint: It’s the person you were yesterday).\n· Peterson’s foundational principle: \"Treat yourself like someone you are responsible for helping\".\n· The critical link between taking personal responsibility and creating a meaningful life that keeps suffering at bay.\n· How to \"clean up your room\" of your mind and environment to establish order, build confidence, and take control of your narrative.\n· The necessity of honest self-confrontation–how the refusal to face your own weaknesses silently destroys your potential.\n· Why we often sabotage our own growth because we are terrified of our own potential for greatness.\n\nThis video explores the core themes of personal responsibility, self-discipline, psychological development, and human potential. Peterson’s teachings provide a timeless roadmap for navigating anxiety, overcoming self-doubt, and building an unshakable life of purpose.\n\nTimestamps:\n00:00 – The Opening Question: Why Bother Improving Yourself?\n02:15 – Rule 1: Radical Responsibility (Clean Your Room)\n06:40 – Treating Yourself Like Someone You Care For\n12:55 – The Danger of Comparison: Your Only Rival is Your Former Self\n19:20 – Confronting Your Shadow (The Peterson Method)\n25:00 – Finding Meaning, Not Happiness\n32:35 – The Practical Path Forward (Your First Step Today)\n\n🎧 Audio & Gear\nTo get the best experience, I recommend listening with headphones to catch every detail of this lecture.\n\n🔗 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n📱 Connect with Jordan Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n💬 What’s Your Biggest Takeaway? Drop your thoughts in the comments below. What is one area of your life you are going to start taking responsibility for today? Let’s build a community of high-value men and women dedicated to growth.\n\n🔔 Don't Forget:\nIf you found value in this, smash that LIKE button, SUBSCRIBE for weekly self-improvement content, and ring the bell so you never miss a new deep-dive video from us!\n\n---\n\n#JordanPeterson #SelfImprovement #Psychology #Motivation #12RulesForLife #PersonalResponsibility #MensMentalHealth #PersonalGrowth #LifeAdvice #MeaningOfLife", "Jordan Peterson: \"How to Improve Yourself and Why\"", "6fccd648-1d9a-42d3-a775-7f9a97a09fff", 2293, false, "5PphO5RNuRU", "https://www.youtube.com/watch?v=5PphO5RNuRU", 20, "/downloads/Jordan Peterson Rules for Life/2026-05-03 Jordan Peterson: "How to Improve Yourself and Why"/Jordan Peterson: "How to Improve Yourself and Why" [5PphO5RNuRU].mp4", false, false, false, 3, [], 2, ~U[2026-05-03 16:30:02Z], ~U[2026-09-16 21:08:28Z], ~U[2026-09-16 21:08:28Z], "Are you feeling stuck, unmotivated, or overwhelmed by the chaos of modern life? In this transformative talk, Dr. Jordan Peterson—the world-renowned clinical psychologist and bestselling author of 12 Rules for Life and Beyond Order—delivers a masterclass on how to improve yourself and, more importantly, why you must to find meaning in a world full of suffering and nihilism. This isn't another fleeting motivational speech; it’s a deep, psychological framework built on radical responsibility and brutal self-honesty, perfect for anyone serious about personal growth.\n\n🔥 In This Self-Improvement Deep-Dive, You’ll Discover:\n\n· Why comparing yourself to others is a losing game–and the only competition that ever truly matters (Hint: It’s the person you were yesterday).\n· Peterson’s foundational principle: \"Treat yourself like someone you are responsible for helping\".\n· The critical link between taking personal responsibility and creating a meaningful life that keeps suffering at bay.\n· How to \"clean up your room\" of your mind and environment to establish order, build confidence, and take control of your narrative.\n· The necessity of honest self-confrontation–how the refusal to face your own weaknesses silently destroys your potential.\n· Why we often sabotage our own growth because we are terrified of our own potential for greatness.\n\nThis video explores the core themes of personal responsibility, self-discipline, psychological development, and human potential. Peterson’s teachings provide a timeless roadmap for navigating anxiety, overcoming self-doubt, and building an unshakable life of purpose.\n\nTimestamps:\n00:00 – The Opening Question: Why Bother Improving Yourself?\n02:15 – Rule 1: Radical Responsibility (Clean Your Room)\n06:40 – Treating Yourself Like Someone You Care For\n12:55 – The Danger of Comparison: Your Only Rival is Your Former Self\n19:20 – Confronting Your Shadow (The Peterson Method)\n25:00 – Finding Meaning, Not Happiness\n32:35 – The Practical Path Forward (Your First Step Today)\n\n🎧 Audio & Gear\nTo get the best experience, I recommend listening with headphones to catch every detail of this lecture.\n\n🔗 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n📱 Connect with Jordan Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n💬 What’s Your Biggest Takeaway? Drop your thoughts in the comments below. What is one area of your life you are going to start taking responsibility for today? Let’s build a community of high-value men and women dedicated to growth.\n\n🔔 Don't Forget:\nIf you found value in this, smash that LIKE button, SUBSCRIBE for weekly self-improvement content, and ring the bell so you never miss a new deep-dive video from us!\n\n---\n\n#JordanPeterson #SelfImprovement #Psychology #Motivation #12RulesForLife #PersonalResponsibility #MensMentalHealth #PersonalGrowth #LifeAdvice #MeaningOfLife", "Jordan Peterson: \"How to Improve Yourself and Why\"", 2293, false, "5PphO5RNuRU", "https://www.you (truncated) 21:08:28.339 [debug] QUERY OK source="sources" db=0.2ms idle=211.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:28.340 [debug] QUERY OK source="media_profiles" db=0.3ms idle=8.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:08:28.341 [debug] QUERY OK source="media_items" db=0.3ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19526] 21:08:28.341 [debug] Current batch of media processed. Will check again in 1000ms 21:08:29.342 [debug] Current batch of media processed. Will check again in 1000ms 21:08:30.343 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jordan Peterson never tells you to be perfect. In this raw, no-excuses talk, he strips away the noise and lays out a simple truth: aim at the best version of yourself, and start by doing the best you can today. This isn't about grand, overnight transformations. It's a psychology-backed guide to finding meaning, crushing resentment, and taking responsibility for the one life you've been given. 🎯\n\nWhether you're stuck in a rut, battling self-doubt, or just seeking a clearer direction, this video hits the core of Peterson's life-changing philosophy. From Rule 4 of 12 Rules for Life to his deepest spiritual and psychological insights, we break down why incremental self-improvement is the only game worth playing. 💡\n\n👇 TIMESTAMPS (Navigate to the lesson you need most)\n\n00:00 – The Hard Truth: Why You Must Aim High\n02:45 – What Does “Your Best” Actually Mean? (Clinical Psychology Breakdown)\n05:30 – The Danger of Untapped Potential: Resentment & Nihilism\n09:15 – Rule 4: Compare Yourself to Who You Were Yesterday\n12:50 – How Small, Consistent Steps Rewire Your Brain\n16:20 – Jordan’s Most Vulnerable Moment: His Own Struggle to Do the Best He Can\n19:40 – The Spiritual Undertone: Suffering, Meaning & Responsibility\n23:10 – Practical Action Plan: Start Your Day Like This\n26:50 – Final Message: You Can’t Save the World Until You Save Yourself\n\n📌 ABOUT DR. JORDAN B. PETERSON\nDr. Jordan B. Peterson is a renowned clinical psychologist, Professor Emeritus at the University of Toronto, and the author of the global bestsellers 12 Rules for Life: An Antidote to Chaos and Beyond Order: 12 More Rules for Life. His insights have helped tens of millions understand personality, belief systems, and the psychology of meaning. His podcast and lectures consistently rank among the most-viewed motivational and educational content worldwide.\n\n🔔 DON'T MISS OUT\n→ Subscribe & Hit the Bell (🔔) to join a community of people dedicated to building better lives every single week.\n→ Like This Video if you believe in aiming higher, even (especially) on the hard days.\n→ Share This With Someone who needs to hear this message right now.\n\n🗣️ WHAT’S YOUR BIGGEST TAKEAWAY? Drop a comment below. Tell us: What’s one small thing you’ll do better today? Our team reads every story, and the best ones will be featured in our next community spotlight.\n\n🎧 Audio & Gear\nTo get the best experience, I recommend listening with headphones to catch every detail of this lecture.\n\n🔗 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n📱 Connect with Jordan Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n\n🤝 SUPPORT THE CHANNEL & STAY CONNECTED\n\n\n#JordanPeterson #12RulesForLife #SelfImprovement #Psychology #Motivation #LifeAdvice #MeaningOfLife #PersonalGrowth #MentalHealth #Philosophy #2025motivation", "duration" => 1937, "filename" => "/downloads/Jordan Peterson Rules for Life/2026-05-02 Jordan Peterson: "Do the Best You Can"/Jordan Peterson: "Do the Best You Can" [sxVAJ5el62I].mp4", "id" => "sxVAJ5el62I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sxVAJ5el62I", "playlist_index" => 21, "timestamp" => 1777739418, "title" => "Jordan Peterson: \"Do the Best You Can\"", "upload_date" => "20260502"} 21:08:30.344 [debug] QUERY OK source="sources" db=0.3ms idle=547.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:30.344 [debug] QUERY OK source="sources" db=0.2ms idle=548.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:30.345 [debug] QUERY OK source="media_items" db=0.3ms idle=548.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-02 16:30:18Z], 3] 21:08:30.348 [debug] QUERY OK source="media_items" db=2.2ms idle=549.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Jordan Peterson never tells you to be perfect. In this raw, no-excuses talk, he strips away the noise and lays out a simple truth: aim at the best version of yourself, and start by doing the best you can today. This isn't about grand, overnight transformations. It's a psychology-backed guide to finding meaning, crushing resentment, and taking responsibility for the one life you've been given. 🎯\n\nWhether you're stuck in a rut, battling self-doubt, or just seeking a clearer direction, this video hits the core of Peterson's life-changing philosophy. From Rule 4 of 12 Rules for Life to his deepest spiritual and psychological insights, we break down why incremental self-improvement is the only game worth playing. 💡\n\n👇 TIMESTAMPS (Navigate to the lesson you need most)\n\n00:00 – The Hard Truth: Why You Must Aim High\n02:45 – What Does “Your Best” Actually Mean? (Clinical Psychology Breakdown)\n05:30 – The Danger of Untapped Potential: Resentment & Nihilism\n09:15 – Rule 4: Compare Yourself to Who You Were Yesterday\n12:50 – How Small, Consistent Steps Rewire Your Brain\n16:20 – Jordan’s Most Vulnerable Moment: His Own Struggle to Do the Best He Can\n19:40 – The Spiritual Undertone: Suffering, Meaning & Responsibility\n23:10 – Practical Action Plan: Start Your Day Like This\n26:50 – Final Message: You Can’t Save the World Until You Save Yourself\n\n📌 ABOUT DR. JORDAN B. PETERSON\nDr. Jordan B. Peterson is a renowned clinical psychologist, Professor Emeritus at the University of Toronto, and the author of the global bestsellers 12 Rules for Life: An Antidote to Chaos and Beyond Order: 12 More Rules for Life. His insights have helped tens of millions understand personality, belief systems, and the psychology of meaning. His podcast and lectures consistently rank among the most-viewed motivational and educational content worldwide.\n\n🔔 DON'T MISS OUT\n→ Subscribe & Hit the Bell (🔔) to join a community of people dedicated to building better lives every single week.\n→ Like This Video if you believe in aiming higher, even (especially) on the hard days.\n→ Share This With Someone who needs to hear this message right now.\n\n🗣️ WHAT’S YOUR BIGGEST TAKEAWAY? Drop a comment below. Tell us: What’s one small thing you’ll do better today? Our team reads every story, and the best ones will be featured in our next community spotlight.\n\n🎧 Audio & Gear\nTo get the best experience, I recommend listening with headphones to catch every detail of this lecture.\n\n🔗 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n📱 Connect with Jordan Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n\n🤝 SUPPORT THE CHANNEL & STAY CONNECTED\n\n\n#JordanPeterson #12RulesForLife #SelfImprovement #Psychology #Motivation #LifeAdvice #MeaningOfLife #PersonalGrowth #MentalHealth #Philosophy #2025motivation", "Jordan Peterson: \"Do the Best You Can\"", "a42b907e-45c7-4ca8-bb7f-3e6d8aa85fcc", 1937, false, "sxVAJ5el62I", "https://www.youtube.com/watch?v=sxVAJ5el62I", 21, "/downloads/Jordan Peterson Rules for Life/2026-05-02 Jordan Peterson: "Do the Best You Can"/Jordan Peterson: "Do the Best You Can" [sxVAJ5el62I].mp4", false, false, false, 3, [], 1, ~U[2026-05-02 16:30:18Z], ~U[2026-09-16 21:08:30Z], ~U[2026-09-16 21:08:30Z], "Jordan Peterson never tells you to be perfect. In this raw, no-excuses talk, he strips away the noise and lays out a simple truth: aim at the best version of yourself, and start by doing the best you can today. This isn't about grand, overnight transformations. It's a psychology-backed guide to finding meaning, crushing resentment, and taking responsibility for the one life you've been given. 🎯\n\nWhether you're stuck in a rut, battling self-doubt, or just seeking a clearer direction, this video hits the core of Peterson's life-changing philosophy. From Rule 4 of 12 Rules for Life to his deepest spiritual and psychological insights, we break down why incremental self-improvement is the only game worth playing. 💡\n\n👇 TIMESTAMPS (Navigate to the lesson you need most)\n\n00:00 – The Hard Truth: Why You Must Aim High\n02:45 – What Does “Your Best” Actually Mean? (Clinical Psychology Breakdown)\n05:30 – The Danger of Untapped Potential: Resentment & Nihilism\n09:15 – Rule 4: Compare Yourself to Who You Were Yesterday\n12:50 – How Small, Consistent Steps Rewire Your Brain\n16:20 – Jordan’s Most Vulnerable Moment: His Own Struggle to Do the Best He Can\n19:40 – The Spiritual Undertone: Suffering, Meaning & Responsibility\n23:10 – Practical Action Plan: Start Your Day Like This\n26:50 – Final Message: You Can’t Save the World Until You Save Yourself\n\n📌 ABOUT DR. JORDAN B. PETERSON\nDr. Jordan B. Peterson is a renowned clinical psychologist, Professor Emeritus at the University of Toronto, and the author of the global bestsellers 12 Rules for Life: An Antidote to Chaos and Beyond Order: 12 More Rules for Life. His insights have helped tens of millions understand personality, belief systems, and the psychology of meaning. His podcast and lectures consistently rank among the most-viewed motivational and educational content worldwide.\n\n🔔 DON'T MISS OUT\n→ Subscribe & Hit the Bell (🔔) to join a community of people dedicated to building better lives every single week.\n→ Like This Video if you believe in aiming higher, even (especially) on the hard days.\n→ Share This With Someone who needs to hear this message right now.\n\n🗣️ WHAT’S YOUR BIGGEST TAKEAWAY? Drop a comment below. Tell us: What’s one small thing you’ll do better today? Our team reads every story, and the best ones will be featured in our next community spotlight.\n\n🎧 Audio & Gear\nTo get the best experience, I recommend listening with headphones to catch every detail of this lecture.\n\n🔗 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n📱 Connect with Jordan Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n\n🤝 SUPPORT THE CHANNEL & STAY CONNECTED\n\n\n#JordanPeterson #12RulesForLife #SelfImprovement #Psychology #Motivation #LifeAdvice #MeaningOfLife #PersonalGrowth #MentalHealth #Philosophy #2025motivation", "Jordan Peterson: \"Do the Best You Can\"", 1937, false, "sxVAJ5el62I", "https://www.youtube.com/watch?v=sxVAJ5el62I", "/downloads/Jordan Peterson Rules for Life/2026-05-02 Jordan Peterson: "Do the Best You Can"/Jordan Peterson: "Do (truncated) 21:08:30.348 [debug] QUERY OK source="sources" db=0.2ms idle=218.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:30.349 [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" = ?) [2] 21:08:30.349 [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 [19527] 21:08:30.349 [debug] Current batch of media processed. Will check again in 1000ms 21:08:31.352 [debug] Current batch of media processed. Will check again in 1000ms 21:08:32.353 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n Dr. Kentaro Fujita, PhD, is a professor of psychology at The Ohio State University and an expert in the science of self-control and motivation. We discuss the best tools for developing strong self-control: to do more of what you aspire to and cease doing things you would like to avoid. We discuss why you need more than one form of willpower to achieve sustained motivation and overcome procrastination. Dr. Fujita also clarifies the data on the 2-marshmallow test, delayed gratification and intrinsic vs. extrinsic motivation.\n\nShow notes: https://go.hubermanlab.com/a9vfEJ5\n\nThank you to our sponsors\nAG1: \u2060https://drinkag1.com/huberman\u2060\nDavid: \u2060https://davidprotein.com/huberman\u2060\nLingo: \u2060https://hellolingo.com/huberman\u2060\nLMNT: \u2060https://drinklmnt.com/huberman\u2060\nFunction: \u2060https://functionhealth.com/huberman\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Kentaro Fujita\nWebsite: https://u.osu.edu/fujita\nAcademic profile: https://psychology.osu.edu/people/fujita.5\nGoogle Scholar: https://scholar.google.com/citations?user=3KkWMHMAAAAJ&hl=en\nLinkedIn: https://www.linkedin.com/in/kentaro-fujita-842a13385\n\nTimestamps\n00:00:00 Kentaro Fujita\n00:03:08 Marshmallow Tests, Self-Control; Adult Modeling\n00:08:24 Criticism of Marshmallow Tests, Learning Self-Control\n00:15:08 Sponsors: David & Lingo\n00:17:34 Movement & Motivation\n00:21:42 Doing Hard Things; Exhaustion & Depletion Effect\n00:29:02 Willpower vs Self-Control, Improving Self-Control\n00:34:27 Aspiration or Fear for Motivation, Long- vs Short-Term Outcomes\n00:40:55 Self-Control Toolkit, Tool: Failure & Exploration\n00:46:44 Sponsor: AG1\n00:48:28 Motivation Warm-Up?, Tools: Mindset; Motivation Orientation\n00:57:30 Imperfect Conditions, Self-Control Conflicts, Tool: Why vs How\n01:05:25 Tool: \"Whys\" & Motivation Goals\n01:11:26 Competition, Tool: Motivation Types\n01:17:13 Sponsor: LMNT\n01:18:33 Abstinence vs Moderation, Consistency vs Rigidity\n01:27:48 Burnout; \"Invisible\" Goals, Single Goal & Trade-Offs\n01:35:17 Intrinsic Motivation for Sustained Goals\n01:40:16 Sponsor: Function\n01:41:53 Meaning in Simple Tasks, Ikigai\n01:49:03 Self-Control Failure, Tools: Distancing, 3rd Person & Heros\n01:55:04 Words as Motivation, Visualization, Social Validation\n02:03:51 Music, Anchors, Nostalgia\n02:06:46 Intrinsic vs Extrinsic Motivation, Job & Salary\n02:14:11 Mindfulness & Taking Breaks, Wabi-Sabi & Imperfection, Ikigai\n02:20:56 Future Directions\n02:25:19 Zero-Cost Support, YouTube, Spotify & Apple Follow, Reviews & Feedback, Sponsors, Protocols Book, Social Media, Neural Network Newsletter\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 8869, "filename" => "/downloads/Andrew Huberman/2026-05-11 Master Self Control & Overcome Procrastination | Dr. Kentaro Fujita/Master Self Control & Overcome Procrastination | Dr. Kentaro Fujita [e89rVf4Pf0k].mp4", "id" => "e89rVf4Pf0k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=e89rVf4Pf0k", "playlist_index" => 22, "timestamp" => 1778500871, "title" => "Master Self Control & Overcome Procrastination | Dr. Kentaro Fujita", "upload_date" => "20260511"} 21:08:32.353 [debug] QUERY OK source="sources" db=0.2ms idle=557.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:32.354 [debug] QUERY OK source="sources" db=0.1ms idle=558.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:32.355 [debug] QUERY OK source="media_items" db=0.3ms idle=558.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-11 12:01:11Z], 3] 21:08:32.357 [debug] QUERY OK source="media_items" db=2.1ms idle=559.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n Dr. Kentaro Fujita, PhD, is a professor of psychology at The Ohio State University and an expert in the science of self-control and motivation. We discuss the best tools for developing strong self-control: to do more of what you aspire to and cease doing things you would like to avoid. We discuss why you need more than one form of willpower to achieve sustained motivation and overcome procrastination. Dr. Fujita also clarifies the data on the 2-marshmallow test, delayed gratification and intrinsic vs. extrinsic motivation.\n\nShow notes: https://go.hubermanlab.com/a9vfEJ5\n\nThank you to our sponsors\nAG1: \u2060https://drinkag1.com/huberman\u2060\nDavid: \u2060https://davidprotein.com/huberman\u2060\nLingo: \u2060https://hellolingo.com/huberman\u2060\nLMNT: \u2060https://drinklmnt.com/huberman\u2060\nFunction: \u2060https://functionhealth.com/huberman\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Kentaro Fujita\nWebsite: https://u.osu.edu/fujita\nAcademic profile: https://psychology.osu.edu/people/fujita.5\nGoogle Scholar: https://scholar.google.com/citations?user=3KkWMHMAAAAJ&hl=en\nLinkedIn: https://www.linkedin.com/in/kentaro-fujita-842a13385\n\nTimestamps\n00:00:00 Kentaro Fujita\n00:03:08 Marshmallow Tests, Self-Control; Adult Modeling\n00:08:24 Criticism of Marshmallow Tests, Learning Self-Control\n00:15:08 Sponsors: David & Lingo\n00:17:34 Movement & Motivation\n00:21:42 Doing Hard Things; Exhaustion & Depletion Effect\n00:29:02 Willpower vs Self-Control, Improving Self-Control\n00:34:27 Aspiration or Fear for Motivation, Long- vs Short-Term Outcomes\n00:40:55 Self-Control Toolkit, Tool: Failure & Exploration\n00:46:44 Sponsor: AG1\n00:48:28 Motivation Warm-Up?, Tools: Mindset; Motivation Orientation\n00:57:30 Imperfect Conditions, Self-Control Conflicts, Tool: Why vs How\n01:05:25 Tool: \"Whys\" & Motivation Goals\n01:11:26 Competition, Tool: Motivation Types\n01:17:13 Sponsor: LMNT\n01:18:33 Abstinence vs Moderation, Consistency vs Rigidity\n01:27:48 Burnout; \"Invisible\" Goals, Single Goal & Trade-Offs\n01:35:17 Intrinsic Motivation for Sustained Goals\n01:40:16 Sponsor: Function\n01:41:53 Meaning in Simple Tasks, Ikigai\n01:49:03 Self-Control Failure, Tools: Distancing, 3rd Person & Heros\n01:55:04 Words as Motivation, Visualization, Social Validation\n02:03:51 Music, Anchors, Nostalgia\n02:06:46 Intrinsic vs Extrinsic Motivation, Job & Salary\n02:14:11 Mindfulness & Taking Breaks, Wabi-Sabi & Imperfection, Ikigai\n02:20:56 Future Directions\n02:25:19 Zero-Cost Support, YouTube, Spotify & Apple Follow, Reviews & Feedback, Sponsors, Protocols Book, Social Media, Neural Network Newsletter\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Master Self Control & Overcome Procrastination | Dr. Kentaro Fujita", "091dc639-ca80-434f-ae30-bfb45a7721c5", 8869, false, "e89rVf4Pf0k", "https://www.youtube.com/watch?v=e89rVf4Pf0k", 22, "/downloads/Andrew Huberman/2026-05-11 Master Self Control & Overcome Procrastination | Dr. Kentaro Fujita/Master Self Control & Overcome Procrastination | Dr. Kentaro Fujita [e89rVf4Pf0k].mp4", false, false, false, 3, [], 1, ~U[2026-05-11 12:01:11Z], ~U[2026-09-16 21:08:32Z], ~U[2026-09-16 21:08:32Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n Dr. Kentaro Fujita, PhD, is a professor of psychology at The Ohio State University and an expert in the science of self-control and motivation. We discuss the best tools for developing strong self-control: to do more of what you aspire to and cease doing things you would like to avoid. We discuss why you need more than one form of willpower to achieve sustained motivation and overcome procrastination. Dr. Fujita also clarifies the data on the 2-marshmallow test, delayed gratification and intrinsic vs. extrinsic motivation.\n\nShow notes: https://go.hubermanlab.com/a9vfEJ5\n\nThank you to our sponsors\nAG1: \u2060https://drinkag1.com/huberman\u2060\nDavid: \u2060https://davidprotein.com/huberman\u2060\nLingo: \u2060https://hellolingo.com/huberman\u2060\nLMNT: \u2060https://drinklmnt.com/huberman\u2060\nFunction: \u2060https://functionhealth.com/huberman\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Kentaro Fujita\nWebsite: https://u.osu.edu/fujita\nAcademic profile: https://psychology.osu.edu/people/fujita.5\nGoogle Scholar: https://scholar.google.com/citations?user=3KkWMHMAAAAJ&hl=en\nLinkedIn: https://www.linkedin.com/in/kentaro-fujita-842a13385\n\nTimestamps\n00:00:00 Kentaro Fujita\n00:03:08 Marshmallow Tests, Self-Control; Adult Modeling\n00:08:24 Criticism of Marshmallow Tests, Learning Self-Control\n00:15:08 Sponsors: David & Lingo\n00:17:34 Movement & Motivation\n00:21:42 Doing Hard Things; Exhaustion & Depletion Effect\n00:29:02 Willpower vs Self-Control, Improving Self-Control\n00:34:27 Aspiration or Fear for Motivation, Long- vs Short-Term Outcomes\n00:40:55 Self-Control Toolkit, Tool: Failure & Exploration\n00:46:44 Sponsor: AG1\n00:48:28 Motivation Warm-Up?, Tools: Mindset; Motivation Orientation\n00:57:30 Imperfect Conditions, Self-Control Conflicts, Tool: Why vs How\n01:05:25 Tool: \"Whys\" & Motivation Goals\n01:11:26 Competition, Tool: Motivation Types\n01:17:13 Sponsor: LMNT\n01:18:33 Abstinence vs Moderation, Consistency vs Rigidity\n01:27:48 Burnout; \"Invisible\" Goals, Single Goal & Trade-Offs\n01:35:17 Intrinsic Motivation for Sustained Goals\n01:40:16 Sponsor: Function\n01:41:53 Meaning in Simple Tasks, Ikigai\n01:49:03 Self-Control Failure, Tools: Distancing, 3rd Person & Heros\n01:55:04 Words as Motivation, Visualization, Social Validation\n02:03:51 Music, Anchors, Nostalgia\n02:06:46 Intrinsic vs Extrinsic Motivation, Job & Salary\n02:14:11 Mindfulness & Taking Breaks, Wabi-Sabi & Imperfection, Ikigai\n02:20:56 Future Directions\n02:25:19 Zero-Cost Support, YouTube, Spotify & Apple Follow, Reviews & Feedback, Sponsors, Protocols Book, Social Media, Neural Network Newsletter\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Master Self Control & Overcome Procrastination | Dr. Kentaro Fujita", 8869, false, "e89rVf4Pf0k", "https://www.youtube.com/watch?v=e89rVf4Pf0k", "/downloads/Andrew Huberman/2026-05-11 Master Self Control & Overcome Procrastination | Dr. Kentaro Fujita/Master Self Control & Overcome Procrastination | Dr. Kentaro Fujita [e89rVf4Pf0k].mp4", false, 3, ~U[2026-05-11 12:01:11Z]] 21:08:32.358 [debug] QUERY OK source="sources" db=0.2ms idle=225.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:32.359 [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" = ?) [2] 21:08:32.359 [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 [20170] 21:08:32.359 [debug] Current batch of media processed. Will check again in 1000ms 21:08:33.361 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Dr Jordan B Peterson, Jonathan Pageau, and Mohammed Hijab discuss comparative religion, what is said about Islam versus what Islam has to say, and how the uncomfortable conversation - whether contentious or unnerving, is well worth having. \n \nMohammed Hijab is an author, comparative religionist, and philosopher of scripture. He is the co-founder of the Sapience Institute and is a researcher and instructor for the organization. He has a BA in Politics and a master’s degree in History. He has also acquired a second master’s in Islamic Studies from the School of Oriental and African Studies, as well as a third master’s degree in Applied Theology from the University of Oxford. Currently, he is working toward his PhD in Philosophy of Religion. Having completed Islamic seminary courses, he is one of very few Muslims who has been given formal permission to relay Islamic knowledge on selected Islamic fields, dealing with comparative, political, and theological issues. In his efforts, he has amassed a substantial following on YouTube, aided in part by authoring books such as “The Scientific Deception of the New Atheists.”\n \nJonathan Pageau is a French-Canadian liturgical artist and icon carver, known for his work featured in museums across the world. He carves Eastern Orthodox and other traditional images and teaches an online carving class. He also runs a YouTube channel dedicated to the exploration of symbolism across history and religion.\n\nDr Peterson's extensive catalog is available now on DailyWire+: https://utm.io/ueSXh\n \n\n—Links— \n\nFor Mohammed Hijab:\n\nYoutube - https://www.youtube.com/channel/UCHDFNoOk8WOXtHo8DIc8efQ \n\nInstagram - https://www.instagram.com/mohammedhijabofficial/?hl=en \n\nTwitter - https://twitter.com/mohammed_hijab?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor \n\nWebsite - www.mohammedhijab.com\n\nThe Sapience Institute - https://sapienceinstitute.org/\n\n\nFor Jonathan Pageau:\n\nCarvings - http://www.pageaucarvings.com \n\nWebsite - www.thesymbolicworld.com \n\nOrthodox Arts Journal - www.orthodoxartsjournal.org \n\nYoutube - https://www.youtube.com/c/jonathanpageau \n\n\n- Sponsor - \n\nGet pre-qualified and find the best deals near you: https://carzing.com/jordan \n\n\n— Chapters —\n\n(0:00) Coming up\n(1:12) Intro\n(4:16) Addressing “Message to Muslims”\n(14:35) Colonial amnesia and the pattern of resentment\n(15:19) Egyptian mythology and the bloodshed of the past\n(21:49) Ignoring the voices of disunity\n(27:53) Is there an ultimate purpose to life?\n(35:42) The role of worship and ritual\n(39:52) Unity is not the same as uniformity\n(43:20) Belief at your own peril, deviation, and depression\n(50:55) Islam recognizes Jesus, but not the son of god\n(59:16) We don’t know what we don’t know\n(1:08:40) Belief in word vs. belief in being\n(1:10:17) Why do we connect with specific scripture?\n(1:23:25) You are measured by how much you can endure\n(1:26:01) Would Jordan Peterson consider becoming Muslim?\n\n// SUPPORT THIS CHANNEL // \nNewsletter: https://mailchi.mp/jordanbpeterson.co... \nDonations: https://jordanbpeterson.com/donate \n\n// COURSES // \nDiscovering Personality: https://jordanbpeterson.com/personality \nSelf Authoring Suite: https://selfauthoring.com \nUnderstand Myself (personality test): https://understandmyself.com \n\n// BOOKS // \nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order \n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-... \nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-m... \n\n// LINKS // \nWebsite: https://jordanbpeterson.com \nEvents: https://jordanbpeterson.com/events \nBlog: https://jordanbpeterson.com/blog \n\n// SOCIAL // \nTwitter: https://twitter.com/jordanbpeterson \nInstagram: https://instagram.com/jordan.b.peterson \nFacebook: https://facebook.com/drjordanpeterson \nTelegram: https://t.me/DrJordanPeterson \nAll socials: https://linktr.ee/drjordanbpeterson\n\n#JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus #podcast #MohammedHijab #JonathanPageau #pageau #islam #muslim #religion", "duration" => 5766, "filename" => "/downloads/Jordan B Peterson/2022-10-17 Talking to Muslims About Christ | Mohammed Hijab & Jonathan Pageau | EP 297/Talking to Muslims About Christ | Mohammed Hijab & Jonathan Pageau | EP 297 [gqS1ov4lSI0].mp4", "id" => "gqS1ov4lSI0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gqS1ov4lSI0", "playlist_index" => 23, "timestamp" => 1666027367, "title" => "Talking to Muslims About Christ | Mohammed Hijab & Jonathan Pageau | EP 297", "upload_date" => "20221017"} 21:08:33.362 [debug] QUERY OK source="sources" db=0.2ms idle=1004.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:33.363 [debug] QUERY OK source="sources" db=0.2ms idle=1004.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:33.364 [debug] QUERY OK source="media_items" db=0.7ms idle=1004.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-10-17 17:22:47Z], 3] 21:08:33.369 [debug] QUERY OK source="media_items" db=4.0ms idle=1004.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dr Jordan B Peterson, Jonathan Pageau, and Mohammed Hijab discuss comparative religion, what is said about Islam versus what Islam has to say, and how the uncomfortable conversation - whether contentious or unnerving, is well worth having. \n \nMohammed Hijab is an author, comparative religionist, and philosopher of scripture. He is the co-founder of the Sapience Institute and is a researcher and instructor for the organization. He has a BA in Politics and a master’s degree in History. He has also acquired a second master’s in Islamic Studies from the School of Oriental and African Studies, as well as a third master’s degree in Applied Theology from the University of Oxford. Currently, he is working toward his PhD in Philosophy of Religion. Having completed Islamic seminary courses, he is one of very few Muslims who has been given formal permission to relay Islamic knowledge on selected Islamic fields, dealing with comparative, political, and theological issues. In his efforts, he has amassed a substantial following on YouTube, aided in part by authoring books such as “The Scientific Deception of the New Atheists.”\n \nJonathan Pageau is a French-Canadian liturgical artist and icon carver, known for his work featured in museums across the world. He carves Eastern Orthodox and other traditional images and teaches an online carving class. He also runs a YouTube channel dedicated to the exploration of symbolism across history and religion.\n\nDr Peterson's extensive catalog is available now on DailyWire+: https://utm.io/ueSXh\n \n\n—Links— \n\nFor Mohammed Hijab:\n\nYoutube - https://www.youtube.com/channel/UCHDFNoOk8WOXtHo8DIc8efQ \n\nInstagram - https://www.instagram.com/mohammedhijabofficial/?hl=en \n\nTwitter - https://twitter.com/mohammed_hijab?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor \n\nWebsite - www.mohammedhijab.com\n\nThe Sapience Institute - https://sapienceinstitute.org/\n\n\nFor Jonathan Pageau:\n\nCarvings - http://www.pageaucarvings.com \n\nWebsite - www.thesymbolicworld.com \n\nOrthodox Arts Journal - www.orthodoxartsjournal.org \n\nYoutube - https://www.youtube.com/c/jonathanpageau \n\n\n- Sponsor - \n\nGet pre-qualified and find the best deals near you: https://carzing.com/jordan \n\n\n— Chapters —\n\n(0:00) Coming up\n(1:12) Intro\n(4:16) Addressing “Message to Muslims”\n(14:35) Colonial amnesia and the pattern of resentment\n(15:19) Egyptian mythology and the bloodshed of the past\n(21:49) Ignoring the voices of disunity\n(27:53) Is there an ultimate purpose to life?\n(35:42) The role of worship and ritual\n(39:52) Unity is not the same as uniformity\n(43:20) Belief at your own peril, deviation, and depression\n(50:55) Islam recognizes Jesus, but not the son of god\n(59:16) We don’t know what we don’t know\n(1:08:40) Belief in word vs. belief in being\n(1:10:17) Why do we connect with specific scripture?\n(1:23:25) You are measured by how much you can endure\n(1:26:01) Would Jordan Peterson consider becoming Muslim?\n\n// SUPPORT THIS CHANNEL // \nNewsletter: https://mailchi.mp/jordanbpeterson.co... \nDonations: https://jordanbpeterson.com/donate \n\n// COURSES // \nDiscovering Personality: https://jordanbpeterson.com/personality \nSelf Authoring Suite: https://selfauthoring.com \nUnderstand Myself (personality test): https://understandmyself.com \n\n// BOOKS // \nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order \n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-... \nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-m... \n\n// LINKS // \nWebsite: https://jordanbpeterson.com \nEvents: https://jordanbpeterson.com/events \nBlog: https://jordanbpeterson.com/blog \n\n// SOCIAL // \nTwitter: https://twitter.com/jordanbpeterson \nInstagram: https://instagram.com/jordan.b.peterson \nFacebook: https://facebook.com/drjordanpeterson \nTelegram: https://t.me/DrJordanPeterson \nAll socials: https://linktr.ee/drjordanbpeterson\n\n#JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus #podcast #MohammedHijab #JonathanPageau #pageau #islam #muslim #religion", "Talking to Muslims About Christ | Mohammed Hijab & Jonathan Pageau | EP 297", "567f0b0c-2879-4b8a-9b29-f20f1b6cd4cf", 5766, false, "gqS1ov4lSI0", "https://www.youtube.com/watch?v=gqS1ov4lSI0", 23, "/downloads/Jordan B Peterson/2022-10-17 Talking to Muslims About Christ | Mohammed Hijab & Jonathan Pageau | EP 297/Talking to Muslims About Christ | Mohammed Hijab & Jonathan Pageau | EP 297 [gqS1ov4lSI0].mp4", false, false, false, 3, [], 1, ~U[2022-10-17 17:22:47Z], ~U[2026-09-16 21:08:33Z], ~U[2026-09-16 21:08:33Z], "Dr Jordan B Peterson, Jonathan Pageau, and Mohammed Hijab discuss comparative religion, what is said about Islam versus what Islam has to say, and how the uncomfortable conversation - whether contentious or unnerving, is well worth having. \n \nMohammed Hijab is an author, comparative religionist, and philosopher of scripture. He is the co-founder of the Sapience Institute and is a researcher and instructor for the organization. He has a BA in Politics and a master’s degree in History. He has also acquired a second master’s in Islamic Studies from the School of Oriental and African Studies, as well as a third master’s degree in Applied Theology from the University of Oxford. Currently, he is working toward his PhD in Philosophy of Religion. Having completed Islamic seminary courses, he is one of very few Muslims who has been given formal permission to relay Islamic knowledge on selected Islamic fields, dealing with comparative, political, and theological issues. In his efforts, he has amassed a substantial following on YouTube, aided in part by authoring books such as “The Scientific Deception of the New Atheists.”\n \nJonathan Pageau is a French-Canadian liturgical artist and icon carver, known for his work featured in museums across the world. He carves Eastern Orthodox and other traditional images and teaches an online carving class. He also runs a YouTube channel dedicated to the exploration of symbolism across history and religion.\n\nDr Peterson's extensive catalog is available now on DailyWire+: https://utm.io/ueSXh\n \n\n—Links— \n\nFor Mohammed Hijab:\n\nYoutube - https://www.youtube.com/channel/UCHDFNoOk8WOXtHo8DIc8efQ \n\nInstagram - https://www.instagram.com/mohammedhijabofficial/?hl=en \n\nTwitter - https://twitter.com/mohammed_hijab?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor \n\nWebsite - www.mohammedhijab.com\n\nThe Sapience Institute - https://sapienceinstitute.org/\n\n\nFor Jonathan Pageau:\n\nCarvings - http://www.pageaucarvings.com \n\nWebsite - www.thesymbolicworld.com \n\nOrthodox Arts Journal - www.orthodoxartsjournal.org \n\nYoutube - https://www.youtube.com/c/jonathanpageau \n\n\n- Sponsor - \n\nGet pre-qualified and find the best deals near you: https://carzing.com/jordan \n\n\n— Chapters —\n\n(0:00) Coming up\n(1:12) Intro\n(4:16) Addressing “Message to Muslims”\n(14:35) Colonial amnesia and the pattern of resentment\n(15:19) Egyptian mythology and the bloodshed of the past\n(21:49) Ignoring the voices of disunity\n(27:53) Is there an ultimate purpose to life?\n(35:42) The role of worship and ritual\n(39:52) Unity is not the same as uniformity\n(43:20 (truncated) 21:08:33.370 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=236.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:33.371 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:08:33.372 [debug] QUERY OK source="media_items" db=0.5ms 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 [28288] 21:08:33.372 [debug] Current batch of media processed. Will check again in 1000ms 21:08:34.373 [debug] Current batch of media processed. Will check again in 1000ms 21:08:35.374 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This episode was recorded on April 4, 2022.\n\nI discussed gratitude, faith, and suffering in this conversation at the Franciscan University of Steubenville. How can we be sure that pain is a solid guiding principle as we navigate the world? What is the underlying structure of pain, and what does it point at?\n\nWe also touched on a myriad of topics around those central themes, such as sin and the symbol of the snake, giving advice, resurrection, the relationship between faith and suffering, evil, the effect we have on others, and sunsets.\n\n// SUPPORT THIS CHANNEL //\nNewsletter: https://linktr.ee/DrJordanBPeterson\nDonations: https://jordanbpeterson.com/donate\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n// LINKS //\nWebsite: https://jordanbpeterson.com\nEvents: https://jordanbpeterson.com/events\nBlog: https://jordanbpeterson.com/blog\nPodcast: https://jordanbpeterson.com/podcast\n\n// SOCIAL //\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://instagram.com/jordan.b.peterson\nFacebook: https://facebook.com/drjordanpeterson\nTelegram: https://t.me/DrJordanPeterson\n\n#Pain #Suffering #Bible #Faith #Evil #FranciscanUniversity #JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus #podcast", "duration" => 3486, "filename" => "/downloads/Jordan B Peterson/2022-05-10 This Lesson from the Bible will Make You Unstoppable | Franciscan University | EP 252/This Lesson from the Bible will Make You Unstoppable | Franciscan University | EP 252 [1xRtZybpyig].mp4", "id" => "1xRtZybpyig", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1xRtZybpyig", "playlist_index" => 24, "timestamp" => 1652201733, "title" => "This Lesson from the Bible will Make You Unstoppable | Franciscan University | EP 252", "upload_date" => "20220510"} 21:08:35.374 [debug] QUERY OK source="sources" db=0.2ms idle=578.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:35.375 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=579.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:35.376 [debug] QUERY OK source="media_items" db=0.3ms idle=579.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-05-10 16:55:33Z], 3] 21:08:35.379 [debug] QUERY OK source="media_items" db=2.3ms idle=580.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["This episode was recorded on April 4, 2022.\n\nI discussed gratitude, faith, and suffering in this conversation at the Franciscan University of Steubenville. How can we be sure that pain is a solid guiding principle as we navigate the world? What is the underlying structure of pain, and what does it point at?\n\nWe also touched on a myriad of topics around those central themes, such as sin and the symbol of the snake, giving advice, resurrection, the relationship between faith and suffering, evil, the effect we have on others, and sunsets.\n\n// SUPPORT THIS CHANNEL //\nNewsletter: https://linktr.ee/DrJordanBPeterson\nDonations: https://jordanbpeterson.com/donate\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n// LINKS //\nWebsite: https://jordanbpeterson.com\nEvents: https://jordanbpeterson.com/events\nBlog: https://jordanbpeterson.com/blog\nPodcast: https://jordanbpeterson.com/podcast\n\n// SOCIAL //\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://instagram.com/jordan.b.peterson\nFacebook: https://facebook.com/drjordanpeterson\nTelegram: https://t.me/DrJordanPeterson\n\n#Pain #Suffering #Bible #Faith #Evil #FranciscanUniversity #JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus #podcast", "This Lesson from the Bible will Make You Unstoppable | Franciscan University | EP 252", "8ecac844-2390-4597-9421-8846e468ac90", 3486, false, "1xRtZybpyig", "https://www.youtube.com/watch?v=1xRtZybpyig", 24, "/downloads/Jordan B Peterson/2022-05-10 This Lesson from the Bible will Make You Unstoppable | Franciscan University | EP 252/This Lesson from the Bible will Make You Unstoppable | Franciscan University | EP 252 [1xRtZybpyig].mp4", false, false, false, 3, [], 1, ~U[2022-05-10 16:55:33Z], ~U[2026-09-16 21:08:35Z], ~U[2026-09-16 21:08:35Z], "This episode was recorded on April 4, 2022.\n\nI discussed gratitude, faith, and suffering in this conversation at the Franciscan University of Steubenville. How can we be sure that pain is a solid guiding principle as we navigate the world? What is the underlying structure of pain, and what does it point at?\n\nWe also touched on a myriad of topics around those central themes, such as sin and the symbol of the snake, giving advice, resurrection, the relationship between faith and suffering, evil, the effect we have on others, and sunsets.\n\n// SUPPORT THIS CHANNEL //\nNewsletter: https://linktr.ee/DrJordanBPeterson\nDonations: https://jordanbpeterson.com/donate\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n// LINKS //\nWebsite: https://jordanbpeterson.com\nEvents: https://jordanbpeterson.com/events\nBlog: https://jordanbpeterson.com/blog\nPodcast: https://jordanbpeterson.com/podcast\n\n// SOCIAL //\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://instagram.com/jordan.b.peterson\nFacebook: https://facebook.com/drjordanpeterson\nTelegram: https://t.me/DrJordanPeterson\n\n#Pain #Suffering #Bible #Faith #Evil #FranciscanUniversity #JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus #podcast", "This Lesson from the Bible will Make You Unstoppable | Franciscan University | EP 252", 3486, false, "1xRtZybpyig", "https://www.youtube.com/watch?v=1xRtZybpyig", "/downloads/Jordan B Peterson/2022-05-10 This Lesson from the Bible will Make You Unstoppable | Franciscan University | EP 252/This Lesson from the Bible will Make You Unstoppable | Franciscan University | EP 252 [1xRtZybpyig].mp4", false, 3, ~U[2022-05-10 16:55:33Z]] 21:08:35.379 [debug] QUERY OK source="sources" db=0.2ms idle=242.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:35.380 [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] 21:08:35.381 [debug] QUERY OK source="media_items" db=0.5ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [34494] 21:08:35.381 [debug] Current batch of media processed. Will check again in 1000ms 21:08:36.382 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Listen in on how Dr. K breaks down how being a gifted kid may not be all it's cracked up to be. Talking through the pathway of gifted child that leads to burnt out perfectionist and how the gifted child moniker may be more of a burden than a benefit. \n\nUnlock your potential with HG Coaching: https://bit.ly/3Jgwvpa\nSet goals, build confidence, find purpose, & more.\n\nLearn more from Dr. K in his Guide to Mental Health: https://bit.ly/45NirwY\n180+ videos on Trauma, ADHD, Meditation, Anxiety, and Depression.\n\nComprehensive mental health resources here: https://explore.healthygamer.gg/mentalhealthresources\n\n▼ Timestamps ▼\n────────────\n0:00 - Reddit Post: Gifted Kid Meme\n0:45 - Perception of 'Gifted'\n1:57 - Gifted children are 'special needs'\n3:17 - The purpose of school\n3:53 - Falling into the trap of not studying\n4:16 - Being gifted young sets you up to fail\n6:49 - How this manifests later in life\n7:40 - The burden of expectation\n11:47 - Shame and low self-esteem\n14:24 - What do we do about it?\n15:01 - Stop comparison\n17:23 - Accept that success is hard work\n22:06 - Summary and questions\n────────────\nDISCLAIMER\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\nBecome a Healthy Gamer!\n\nHealthy Gamer Merch Store: https://healthygamerstore.com/\nDiscord: https://explore.healthygamer.gg/en/discord\nSupport us on Ko-fi: https://ko-fi.com/healthygamer\nInterviews & Lectures: https://www.youtube.com/healthygamergg\nTwitch Channel: https://www.twitch.tv/healthygamer_gg\nPodcast: https://open.spotify.com/show/6VaJwyS2KXxiXqR77jqzmP", "duration" => 2162, "filename" => "/downloads/HealthyGamerGG/2021-11-17 Why Gifted Kids Are Actually Special Needs/Why Gifted Kids Are Actually Special Needs [QUjYy4Ksy1E].mp4", "id" => "QUjYy4Ksy1E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QUjYy4Ksy1E", "playlist_index" => 25, "timestamp" => 1637159708, "title" => "Why Gifted Kids Are Actually Special Needs", "upload_date" => "20211117"} 21:08:36.383 [debug] QUERY OK source="sources" db=0.3ms idle=1003.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:36.383 [debug] QUERY OK source="sources" db=0.1ms idle=1003.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:36.384 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-17 14:35:08Z], 3] 21:08:36.388 [debug] QUERY OK source="media_items" db=3.2ms idle=1003.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Listen in on how Dr. K breaks down how being a gifted kid may not be all it's cracked up to be. Talking through the pathway of gifted child that leads to burnt out perfectionist and how the gifted child moniker may be more of a burden than a benefit. \n\nUnlock your potential with HG Coaching: https://bit.ly/3Jgwvpa\nSet goals, build confidence, find purpose, & more.\n\nLearn more from Dr. K in his Guide to Mental Health: https://bit.ly/45NirwY\n180+ videos on Trauma, ADHD, Meditation, Anxiety, and Depression.\n\nComprehensive mental health resources here: https://explore.healthygamer.gg/mentalhealthresources\n\n▼ Timestamps ▼\n────────────\n0:00 - Reddit Post: Gifted Kid Meme\n0:45 - Perception of 'Gifted'\n1:57 - Gifted children are 'special needs'\n3:17 - The purpose of school\n3:53 - Falling into the trap of not studying\n4:16 - Being gifted young sets you up to fail\n6:49 - How this manifests later in life\n7:40 - The burden of expectation\n11:47 - Shame and low self-esteem\n14:24 - What do we do about it?\n15:01 - Stop comparison\n17:23 - Accept that success is hard work\n22:06 - Summary and questions\n────────────\nDISCLAIMER\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\nBecome a Healthy Gamer!\n\nHealthy Gamer Merch Store: https://healthygamerstore.com/\nDiscord: https://explore.healthygamer.gg/en/discord\nSupport us on Ko-fi: https://ko-fi.com/healthygamer\nInterviews & Lectures: https://www.youtube.com/healthygamergg\nTwitch Channel: https://www.twitch.tv/healthygamer_gg\nPodcast: https://open.spotify.com/show/6VaJwyS2KXxiXqR77jqzmP", "Why Gifted Kids Are Actually Special Needs", "5cb23e50-7b48-41a9-971d-73aefd1cfa78", 2162, false, "QUjYy4Ksy1E", "https://www.youtube.com/watch?v=QUjYy4Ksy1E", 25, "/downloads/HealthyGamerGG/2021-11-17 Why Gifted Kids Are Actually Special Needs/Why Gifted Kids Are Actually Special Needs [QUjYy4Ksy1E].mp4", false, false, false, 3, [], 1, ~U[2021-11-17 14:35:08Z], ~U[2026-09-16 21:08:36Z], ~U[2026-09-16 21:08:36Z], "Listen in on how Dr. K breaks down how being a gifted kid may not be all it's cracked up to be. Talking through the pathway of gifted child that leads to burnt out perfectionist and how the gifted child moniker may be more of a burden than a benefit. \n\nUnlock your potential with HG Coaching: https://bit.ly/3Jgwvpa\nSet goals, build confidence, find purpose, & more.\n\nLearn more from Dr. K in his Guide to Mental Health: https://bit.ly/45NirwY\n180+ videos on Trauma, ADHD, Meditation, Anxiety, and Depression.\n\nComprehensive mental health resources here: https://explore.healthygamer.gg/mentalhealthresources\n\n▼ Timestamps ▼\n────────────\n0:00 - Reddit Post: Gifted Kid Meme\n0:45 - Perception of 'Gifted'\n1:57 - Gifted children are 'special needs'\n3:17 - The purpose of school\n3:53 - Falling into the trap of not studying\n4:16 - Being gifted young sets you up to fail\n6:49 - How this manifests later in life\n7:40 - The burden of expectation\n11:47 - Shame and low self-esteem\n14:24 - What do we do about it?\n15:01 - Stop comparison\n17:23 - Accept that success is hard work\n22:06 - Summary and questions\n────────────\nDISCLAIMER\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\nBecome a Healthy Gamer!\n\nHealthy Gamer Merch Store: https://healthygamerstore.com/\nDiscord: https://explore.healthygamer.gg/en/discord\nSupport us on Ko-fi: https://ko-fi.com/healthygamer\nInterviews & Lectures: https://www.youtube.com/healthygamergg\nTwitch Channel: https://www.twitch.tv/healthygamer_gg\nPodcast: https://open.spotify.com/show/6VaJwyS2KXxiXqR77jqzmP", "Why Gifted Kids Are Actually Special Needs", 2162, false, "QUjYy4Ksy1E", "https://www.youtube.com/watch?v=QUjYy4Ksy1E", "/downloads/HealthyGamerGG/2021-11-17 Why Gifted Kids Are Actually Special Needs/Why Gifted Kids Are Actually Special Needs [QUjYy4Ksy1E].mp4", false, 3, ~U[2021-11-17 14:35:08Z]] 21:08:36.388 [debug] QUERY OK source="sources" db=0.2ms idle=250.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:36.389 [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] 21:08:36.389 [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 [35244] 21:08:36.389 [debug] Current batch of media processed. Will check again in 1000ms 21:08:37.391 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Today, we're diving into a crucial discussion surrounding Borderline Personality Disorder (BPD). BPD stands as one of the most misunderstood and unfairly stigmatized mental health conditions, often shrouded in misconceptions and biases.\n\nCheck out Dr. K’s Guide to Mental Health https://bit.ly/45NirwY\nIncluded free with Healthy Gamer Coaching: https://bit.ly/3Q318lG\n\nJoin us in this important conversation as we shed light on BPD, aiming to dispel myths and misconceptions surrounding this complex disorder. We'll explore the nuances of BPD, unraveling the layers that contribute to its misunderstanding in society.\n\nWe’re here to help you take control of your mental health and your life.\nComprehensive list of mental health resources https://explore.healthygamer.gg/mentalhealthresources\n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Preview\n00:20 - Introduction\n02:09 - What does BPD look like externally?\n05:14 - What does BPD look like internally?\n10:39 - How does this manifest as behaviour?\n14:05 - BPD in essence\n22:40 - Development of BPD\n24:51 - Does this mean I'm screwed?\n28:55 - Conclusion\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#bpd #borderlinepersonalitydisorder #mentalhealth", "duration" => 1789, "filename" => "/downloads/HealthyGamerGG/2022-11-26 Dr. K Explains: Borderline Personality Disorder/Dr. K Explains: Borderline Personality Disorder [6TS4d-zqRFA].mp4", "id" => "6TS4d-zqRFA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6TS4d-zqRFA", "playlist_index" => 26, "timestamp" => 1669474806, "title" => "Dr. K Explains: Borderline Personality Disorder", "upload_date" => "20221126"} 21:08:37.391 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:37.392 [debug] QUERY OK source="sources" db=0.2ms idle=1003.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:37.393 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-11-26 15:00:06Z], 3] 21:08:37.396 [debug] QUERY OK source="media_items" db=2.2ms idle=1003.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we're diving into a crucial discussion surrounding Borderline Personality Disorder (BPD). BPD stands as one of the most misunderstood and unfairly stigmatized mental health conditions, often shrouded in misconceptions and biases.\n\nCheck out Dr. K’s Guide to Mental Health https://bit.ly/45NirwY\nIncluded free with Healthy Gamer Coaching: https://bit.ly/3Q318lG\n\nJoin us in this important conversation as we shed light on BPD, aiming to dispel myths and misconceptions surrounding this complex disorder. We'll explore the nuances of BPD, unraveling the layers that contribute to its misunderstanding in society.\n\nWe’re here to help you take control of your mental health and your life.\nComprehensive list of mental health resources https://explore.healthygamer.gg/mentalhealthresources\n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Preview\n00:20 - Introduction\n02:09 - What does BPD look like externally?\n05:14 - What does BPD look like internally?\n10:39 - How does this manifest as behaviour?\n14:05 - BPD in essence\n22:40 - Development of BPD\n24:51 - Does this mean I'm screwed?\n28:55 - Conclusion\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#bpd #borderlinepersonalitydisorder #mentalhealth", "Dr. K Explains: Borderline Personality Disorder", "631d406b-963d-4646-bcbe-208bb282015f", 1789, false, "6TS4d-zqRFA", "https://www.youtube.com/watch?v=6TS4d-zqRFA", 26, "/downloads/HealthyGamerGG/2022-11-26 Dr. K Explains: Borderline Personality Disorder/Dr. K Explains: Borderline Personality Disorder [6TS4d-zqRFA].mp4", false, false, false, 3, [], 1, ~U[2022-11-26 15:00:06Z], ~U[2026-09-16 21:08:37Z], ~U[2026-09-16 21:08:37Z], "Today, we're diving into a crucial discussion surrounding Borderline Personality Disorder (BPD). BPD stands as one of the most misunderstood and unfairly stigmatized mental health conditions, often shrouded in misconceptions and biases.\n\nCheck out Dr. K’s Guide to Mental Health https://bit.ly/45NirwY\nIncluded free with Healthy Gamer Coaching: https://bit.ly/3Q318lG\n\nJoin us in this important conversation as we shed light on BPD, aiming to dispel myths and misconceptions surrounding this complex disorder. We'll explore the nuances of BPD, unraveling the layers that contribute to its misunderstanding in society.\n\nWe’re here to help you take control of your mental health and your life.\nComprehensive list of mental health resources https://explore.healthygamer.gg/mentalhealthresources\n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Preview\n00:20 - Introduction\n02:09 - What does BPD look like externally?\n05:14 - What does BPD look like internally?\n10:39 - How does this manifest as behaviour?\n14:05 - BPD in essence\n22:40 - Development of BPD\n24:51 - Does this mean I'm screwed?\n28:55 - Conclusion\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#bpd #borderlinepersonalitydisorder #mentalhealth", "Dr. K Explains: Borderline Personality Disorder", 1789, false, "6TS4d-zqRFA", "https://www.youtube.com/watch?v=6TS4d-zqRFA", "/downloads/HealthyGamerGG/2022-11-26 Dr. K Explains: Borderline Personality Disorder/Dr. K Explains: Borderline Personality Disorder [6TS4d-zqRFA].mp4", false, 3, ~U[2022-11-26 15:00:06Z]] 21:08:37.396 [debug] QUERY OK source="sources" db=0.1ms idle=257.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:37.396 [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" = ?) [2] 21:08:37.397 [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 [35245] 21:08:37.397 [debug] Current batch of media processed. Will check again in 1000ms 21:08:38.398 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Learn more from Dr. K in his Guide to Mental Health: https://bit.ly/3THwlO1\n\nDr. K gets a reddit question asking about porn consumption and it's affects on the brain's ability to form relationships. Listen in on how he breaks down the complicated dynamics of implicit and explicate content online and how it shapes people minds on the internet.\n\n▼ Timestamps ▼\n────────────\n\n00:12 - Reddit Post\n00:57 - Breaking It Down\n02:51 - Industries Adapting to Unhealthy Wants\n04:34 - Instagram Model Example\n5:50 - Expectations and Reality around Porn\n7:40 - Constant Evolving Landscape\n8:18 - OF and it's Impact on Relationships\n11:02 - Fighting Fire with Fire\n12:09 - There Will Always Be Change\n13:50 - VR Girlfriends\n\n────────────\nCheck Out Dr. K's Book Here: https://bit.ly/3IAEu0A\n\nHarvard-trained psychiatrist and former gaming addict Dr. Alok Kanojia—known as “Dr. K” to his millions of followers—offers a proven, tested plan to help parents define, set, and reinforce healthy boundaries around video games and help kids who have developed an addiction to gaming.\n\nJoin this channel to get access to perks:\nhttps://www.youtube.com/channel/UClHVl2N3jPEbkNJVx-ItQIQ/join\n\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\nHealthy Gamer Merch Store: https://healthygamerstore.com/\nDiscord: https://healthygamer.ac-page.com/discord\nSupport us on Ko-fi: https://ko-fi.com/healthygamer\nTwitch Channel: https://www.twitch.tv/healthygamer_gg\nPodcast: https://open.spotify.com/show/6VaJwyS2KXxiXqR77jqzmP", "duration" => 907, "filename" => "/downloads/HealthyGamerGG/2021-09-27 How Years of Porn Consumption Affects Brain's Ability to Form Relationships/How Years of Porn Consumption Affects Brain's Ability to Form Relationships [mpRRix8m4SQ].mp4", "id" => "mpRRix8m4SQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mpRRix8m4SQ", "playlist_index" => 27, "timestamp" => 1632754869, "title" => "How Years of Porn Consumption Affects Brain's Ability to Form Relationships", "upload_date" => "20210927"} 21:08:38.398 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1002.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:38.399 [debug] QUERY OK source="sources" db=0.1ms idle=1002.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:38.400 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-09-27 15:01:09Z], 3] 21:08:38.402 [debug] QUERY OK source="media_items" db=1.5ms idle=1002.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Learn more from Dr. K in his Guide to Mental Health: https://bit.ly/3THwlO1\n\nDr. K gets a reddit question asking about porn consumption and it's affects on the brain's ability to form relationships. Listen in on how he breaks down the complicated dynamics of implicit and explicate content online and how it shapes people minds on the internet.\n\n▼ Timestamps ▼\n────────────\n\n00:12 - Reddit Post\n00:57 - Breaking It Down\n02:51 - Industries Adapting to Unhealthy Wants\n04:34 - Instagram Model Example\n5:50 - Expectations and Reality around Porn\n7:40 - Constant Evolving Landscape\n8:18 - OF and it's Impact on Relationships\n11:02 - Fighting Fire with Fire\n12:09 - There Will Always Be Change\n13:50 - VR Girlfriends\n\n────────────\nCheck Out Dr. K's Book Here: https://bit.ly/3IAEu0A\n\nHarvard-trained psychiatrist and former gaming addict Dr. Alok Kanojia—known as “Dr. K” to his millions of followers—offers a proven, tested plan to help parents define, set, and reinforce healthy boundaries around video games and help kids who have developed an addiction to gaming.\n\nJoin this channel to get access to perks:\nhttps://www.youtube.com/channel/UClHVl2N3jPEbkNJVx-ItQIQ/join\n\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\nHealthy Gamer Merch Store: https://healthygamerstore.com/\nDiscord: https://healthygamer.ac-page.com/discord\nSupport us on Ko-fi: https://ko-fi.com/healthygamer\nTwitch Channel: https://www.twitch.tv/healthygamer_gg\nPodcast: https://open.spotify.com/show/6VaJwyS2KXxiXqR77jqzmP", "How Years of Porn Consumption Affects Brain's Ability to Form Relationships", "b030ef40-c10d-463e-a955-e3573bd04ec5", 907, false, "mpRRix8m4SQ", "https://www.youtube.com/watch?v=mpRRix8m4SQ", 27, "/downloads/HealthyGamerGG/2021-09-27 How Years of Porn Consumption Affects Brain's Ability to Form Relationships/How Years of Porn Consumption Affects Brain's Ability to Form Relationships [mpRRix8m4SQ].mp4", false, false, false, 3, [], 1, ~U[2021-09-27 15:01:09Z], ~U[2026-09-16 21:08:38Z], ~U[2026-09-16 21:08:38Z], "Learn more from Dr. K in his Guide to Mental Health: https://bit.ly/3THwlO1\n\nDr. K gets a reddit question asking about porn consumption and it's affects on the brain's ability to form relationships. Listen in on how he breaks down the complicated dynamics of implicit and explicate content online and how it shapes people minds on the internet.\n\n▼ Timestamps ▼\n────────────\n\n00:12 - Reddit Post\n00:57 - Breaking It Down\n02:51 - Industries Adapting to Unhealthy Wants\n04:34 - Instagram Model Example\n5:50 - Expectations and Reality around Porn\n7:40 - Constant Evolving Landscape\n8:18 - OF and it's Impact on Relationships\n11:02 - Fighting Fire with Fire\n12:09 - There Will Always Be Change\n13:50 - VR Girlfriends\n\n────────────\nCheck Out Dr. K's Book Here: https://bit.ly/3IAEu0A\n\nHarvard-trained psychiatrist and former gaming addict Dr. Alok Kanojia—known as “Dr. K” to his millions of followers—offers a proven, tested plan to help parents define, set, and reinforce healthy boundaries around video games and help kids who have developed an addiction to gaming.\n\nJoin this channel to get access to perks:\nhttps://www.youtube.com/channel/UClHVl2N3jPEbkNJVx-ItQIQ/join\n\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\nHealthy Gamer Merch Store: https://healthygamerstore.com/\nDiscord: https://healthygamer.ac-page.com/discord\nSupport us on Ko-fi: https://ko-fi.com/healthygamer\nTwitch Channel: https://www.twitch.tv/healthygamer_gg\nPodcast: https://open.spotify.com/show/6VaJwyS2KXxiXqR77jqzmP", "How Years of Porn Consumption Affects Brain's Ability to Form Relationships", 907, false, "mpRRix8m4SQ", "https://www.youtube.com/watch?v=mpRRix8m4SQ", "/downloads/HealthyGamerGG/2021-09-27 How Years of Porn Consumption Affects Brain's Ability to Form Relationships/How Years of Porn Consumption Affects Brain's Ability to Form Relationships [mpRRix8m4SQ].mp4", false, 3, ~U[2021-09-27 15:01:09Z]] 21:08:38.402 [debug] QUERY OK source="sources" db=0.2ms idle=262.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:38.403 [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] 21:08:38.403 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [35246] 21:08:38.404 [debug] Current batch of media processed. Will check again in 1000ms 21:08:39.405 [debug] Current batch of media processed. Will check again in 1000ms 21:08:40.406 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Therapy can pose unique challenges for men, and in this video, we delve into the reasons behind this difficulty. Exploring the societal expectations, stereotypes, and stigmas attached to men seeking therapy, we uncover why the journey to therapy can be a daunting path for many men.\n\nLearn more from Dr. K in his Guide to Mental Health: https://bit.ly/45NirwY\nNot sure which module to start on? Take our quiz: https://bit.ly/47dGzKj\n\nJoin us as we navigate through these challenges, shedding light on the impact these barriers might have on men's mental health. We'll discuss the implications and offer insights into what this means for men considering or already engaged in therapy.\n\n▼ Timestamps ▼\n────────────\n00:18 - Why it’s hard for men to be in therapy\n02:50 - How men deal with their emotions\n04:14 - Men’s reluctance to couples counseling\n05:58 - How men communicate differently\n08:15 - Men are physical with emotional health\n10:54 - What does this mean for you as a man?\n11:52 - Language you can use in psychotherapy\n14:45 - Using your body to help with emotions\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#healthygamergg #mentalhealth #therapy", "duration" => 1058, "filename" => "/downloads/HealthyGamerGG/2023-09-15 Why Therapy Sucks For Men/Why Therapy Sucks For Men [uf8bt6fGQyA].mp4", "id" => "uf8bt6fGQyA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uf8bt6fGQyA", "playlist_index" => 28, "timestamp" => 1694793654, "title" => "Why Therapy Sucks For Men", "upload_date" => "20230915"} 21:08:40.406 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:40.407 [debug] QUERY OK source="sources" db=0.1ms idle=611.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:40.408 [debug] QUERY OK source="media_items" db=0.3ms idle=611.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-09-15 16:00:54Z], 3] 21:08:40.411 [debug] QUERY OK source="media_items" db=2.1ms idle=612.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Therapy can pose unique challenges for men, and in this video, we delve into the reasons behind this difficulty. Exploring the societal expectations, stereotypes, and stigmas attached to men seeking therapy, we uncover why the journey to therapy can be a daunting path for many men.\n\nLearn more from Dr. K in his Guide to Mental Health: https://bit.ly/45NirwY\nNot sure which module to start on? Take our quiz: https://bit.ly/47dGzKj\n\nJoin us as we navigate through these challenges, shedding light on the impact these barriers might have on men's mental health. We'll discuss the implications and offer insights into what this means for men considering or already engaged in therapy.\n\n▼ Timestamps ▼\n────────────\n00:18 - Why it’s hard for men to be in therapy\n02:50 - How men deal with their emotions\n04:14 - Men’s reluctance to couples counseling\n05:58 - How men communicate differently\n08:15 - Men are physical with emotional health\n10:54 - What does this mean for you as a man?\n11:52 - Language you can use in psychotherapy\n14:45 - Using your body to help with emotions\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#healthygamergg #mentalhealth #therapy", "Why Therapy Sucks For Men", "4d60ced9-f18d-43d9-aa93-4cb3130efbfa", 1058, false, "uf8bt6fGQyA", "https://www.youtube.com/watch?v=uf8bt6fGQyA", 28, "/downloads/HealthyGamerGG/2023-09-15 Why Therapy Sucks For Men/Why Therapy Sucks For Men [uf8bt6fGQyA].mp4", false, false, false, 3, [], 1, ~U[2023-09-15 16:00:54Z], ~U[2026-09-16 21:08:40Z], ~U[2026-09-16 21:08:40Z], "Therapy can pose unique challenges for men, and in this video, we delve into the reasons behind this difficulty. Exploring the societal expectations, stereotypes, and stigmas attached to men seeking therapy, we uncover why the journey to therapy can be a daunting path for many men.\n\nLearn more from Dr. K in his Guide to Mental Health: https://bit.ly/45NirwY\nNot sure which module to start on? Take our quiz: https://bit.ly/47dGzKj\n\nJoin us as we navigate through these challenges, shedding light on the impact these barriers might have on men's mental health. We'll discuss the implications and offer insights into what this means for men considering or already engaged in therapy.\n\n▼ Timestamps ▼\n────────────\n00:18 - Why it’s hard for men to be in therapy\n02:50 - How men deal with their emotions\n04:14 - Men’s reluctance to couples counseling\n05:58 - How men communicate differently\n08:15 - Men are physical with emotional health\n10:54 - What does this mean for you as a man?\n11:52 - Language you can use in psychotherapy\n14:45 - Using your body to help with emotions\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#healthygamergg #mentalhealth #therapy", "Why Therapy Sucks For Men", 1058, false, "uf8bt6fGQyA", "https://www.youtube.com/watch?v=uf8bt6fGQyA", "/downloads/HealthyGamerGG/2023-09-15 Why Therapy Sucks For Men/Why Therapy Sucks For Men [uf8bt6fGQyA].mp4", false, 3, ~U[2023-09-15 16:00:54Z]] 21:08:40.411 [debug] QUERY OK source="sources" db=0.4ms idle=266.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:40.412 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:08:40.413 [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 [35247] 21:08:40.413 [debug] Current batch of media processed. Will check again in 1000ms 21:08:41.414 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Join me for an important discussion on the topic of fatigue. Today, we're delving into the roots of tiredness to uncover effective strategies for overcoming it.\n\nCheck out Dr. K’s Guide to Mental Health https://bit.ly/45NirwY\n\nUnderstanding why we experience fatigue is the first step toward combating it. In this video, we'll explore the various factors that contribute to feeling tired, from physical exertion to emotional and mental stressors. By unpacking these causes, we'll gain valuable insights into how to address and alleviate tiredness effectively.\n\nWe’re here to help you take control of your mental health and your life.\nComprehensive list of mental health resources https://explore.healthygamer.gg/mentalhealthresources\n\nHealthy Gamer Coaching designed by Dr. K https://bit.ly/3WhLtAy\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n00:00 - Introduction\n02:22 - Immediate exhaustion\n07:07 - Evolution\n11:06 - Emotions are physiological\n13:20 - What is my body telling me not to do?\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#beingtired #tiredness #healthygamergg", "duration" => 1081, "filename" => "/downloads/HealthyGamerGG/2022-11-22 Psychiatrist Explains Why You Feel Tired All The Time/Psychiatrist Explains Why You Feel Tired All The Time [0sppw7Zq35w].mp4", "id" => "0sppw7Zq35w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0sppw7Zq35w", "playlist_index" => 29, "timestamp" => 1669129200, "title" => "Psychiatrist Explains Why You Feel Tired All The Time", "upload_date" => "20221122"} 21:08:41.414 [debug] QUERY OK source="sources" db=0.2ms idle=1003.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:41.415 [debug] QUERY OK source="sources" db=0.1ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:41.415 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-11-22 15:00:00Z], 3] 21:08:41.431 [debug] QUERY OK source="media_items" db=14.6ms idle=1003.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join me for an important discussion on the topic of fatigue. Today, we're delving into the roots of tiredness to uncover effective strategies for overcoming it.\n\nCheck out Dr. K’s Guide to Mental Health https://bit.ly/45NirwY\n\nUnderstanding why we experience fatigue is the first step toward combating it. In this video, we'll explore the various factors that contribute to feeling tired, from physical exertion to emotional and mental stressors. By unpacking these causes, we'll gain valuable insights into how to address and alleviate tiredness effectively.\n\nWe’re here to help you take control of your mental health and your life.\nComprehensive list of mental health resources https://explore.healthygamer.gg/mentalhealthresources\n\nHealthy Gamer Coaching designed by Dr. K https://bit.ly/3WhLtAy\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n00:00 - Introduction\n02:22 - Immediate exhaustion\n07:07 - Evolution\n11:06 - Emotions are physiological\n13:20 - What is my body telling me not to do?\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#beingtired #tiredness #healthygamergg", "Psychiatrist Explains Why You Feel Tired All The Time", "58373e79-80c7-49ef-838a-389976c3dac5", 1081, false, "0sppw7Zq35w", "https://www.youtube.com/watch?v=0sppw7Zq35w", 29, "/downloads/HealthyGamerGG/2022-11-22 Psychiatrist Explains Why You Feel Tired All The Time/Psychiatrist Explains Why You Feel Tired All The Time [0sppw7Zq35w].mp4", false, false, false, 3, [], 1, ~U[2022-11-22 15:00:00Z], ~U[2026-09-16 21:08:41Z], ~U[2026-09-16 21:08:41Z], "Join me for an important discussion on the topic of fatigue. Today, we're delving into the roots of tiredness to uncover effective strategies for overcoming it.\n\nCheck out Dr. K’s Guide to Mental Health https://bit.ly/45NirwY\n\nUnderstanding why we experience fatigue is the first step toward combating it. In this video, we'll explore the various factors that contribute to feeling tired, from physical exertion to emotional and mental stressors. By unpacking these causes, we'll gain valuable insights into how to address and alleviate tiredness effectively.\n\nWe’re here to help you take control of your mental health and your life.\nComprehensive list of mental health resources https://explore.healthygamer.gg/mentalhealthresources\n\nHealthy Gamer Coaching designed by Dr. K https://bit.ly/3WhLtAy\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n00:00 - Introduction\n02:22 - Immediate exhaustion\n07:07 - Evolution\n11:06 - Emotions are physiological\n13:20 - What is my body telling me not to do?\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#beingtired #tiredness #healthygamergg", "Psychiatrist Explains Why You Feel Tired All The Time", 1081, false, "0sppw7Zq35w", "https://www.youtube.com/watch?v=0sppw7Zq35w", "/downloads/HealthyGamerGG/2022-11-22 Psychiatrist Explains Why You Feel Tired All The Time/Psychiatrist Explains Why You Feel Tired All The Time [0sppw7Zq35w].mp4", false, 3, ~U[2022-11-22 15:00:00Z]] 21:08:41.431 [debug] QUERY OK source="sources" db=0.2ms idle=285.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:41.432 [debug] QUERY OK source="media_profiles" db=0.1ms idle=17.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:08:41.432 [debug] QUERY OK source="media_items" db=0.2ms idle=17.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [35248] 21:08:41.433 [debug] Current batch of media processed. Will check again in 1000ms 21:08:42.434 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Start speaking a new language in 3 weeks with Babbel 🎉. Get up to 60% OFF your subscription ➡️Here: https://go.babbel.com/t?bsc=1200m60-youtube-healthygamergg-dec-2023&btp=default&utm_term=generic_v1&utm_medium=paidsocial&utm_source=YouTube&utm_content=Influencer..healthygamergg..USA..YouTube\n\nIn today's video, we explore how dopamine drives our interest and wants in life, how to reduce its dependency, and how to tackle the need for dopamine all the time. Dr K starts us off by discussing the nucleus accumbens, a study about dopamine in rats to give us an example of dopamine's effects on rats, and more. \n\nWhen someone develops dopamine resistance, they may experience reduced motivation, decreased pleasure from activities they once enjoyed, and difficulty experiencing positive emotions. This can contribute to issues like depression, apathy, and addiction.\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Introduction\n01:52 - Nucleus Accumbens\n04:41 - Dopamine in rats\n05:54 - Sustained effort\n11:55 - Amygdala and Limbic System\n14:57 - Prefrontal Cortex\n17:55 - “Play the tape through to the end”\n21:33 - Opioid circuit\n24:29 - Balance of pain\n27:21 - Conclusion\n\n────────────\n\nJoin this channel to get access to perks:\nhttps://www.youtube.com/channel/UClHVl2N3jPEbkNJVx-ItQIQ/join\n\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#mentalhealth #healthygamergg #dopamine", "duration" => 1711, "filename" => "/downloads/HealthyGamerGG/2024-02-07 DOPAMINE - What It Is, and How To Beat It/DOPAMINE - What It Is, and How To Beat It [6CWq8wyS90o].mp4", "id" => "6CWq8wyS90o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6CWq8wyS90o", "playlist_index" => 30, "timestamp" => 1707328803, "title" => "DOPAMINE - What It Is, and How To Beat It", "upload_date" => "20240207"} 21:08:42.434 [debug] QUERY OK source="sources" db=0.2ms idle=1003.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:42.435 [debug] QUERY OK source="sources" db=0.1ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:42.436 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=1003.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-02-07 18:00:03Z], 3] 21:08:42.438 [debug] QUERY OK source="media_items" db=1.6ms idle=1003.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Start speaking a new language in 3 weeks with Babbel 🎉. Get up to 60% OFF your subscription ➡️Here: https://go.babbel.com/t?bsc=1200m60-youtube-healthygamergg-dec-2023&btp=default&utm_term=generic_v1&utm_medium=paidsocial&utm_source=YouTube&utm_content=Influencer..healthygamergg..USA..YouTube\n\nIn today's video, we explore how dopamine drives our interest and wants in life, how to reduce its dependency, and how to tackle the need for dopamine all the time. Dr K starts us off by discussing the nucleus accumbens, a study about dopamine in rats to give us an example of dopamine's effects on rats, and more. \n\nWhen someone develops dopamine resistance, they may experience reduced motivation, decreased pleasure from activities they once enjoyed, and difficulty experiencing positive emotions. This can contribute to issues like depression, apathy, and addiction.\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Introduction\n01:52 - Nucleus Accumbens\n04:41 - Dopamine in rats\n05:54 - Sustained effort\n11:55 - Amygdala and Limbic System\n14:57 - Prefrontal Cortex\n17:55 - “Play the tape through to the end”\n21:33 - Opioid circuit\n24:29 - Balance of pain\n27:21 - Conclusion\n\n────────────\n\nJoin this channel to get access to perks:\nhttps://www.youtube.com/channel/UClHVl2N3jPEbkNJVx-ItQIQ/join\n\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#mentalhealth #healthygamergg #dopamine", "DOPAMINE - What It Is, and How To Beat It", "ceffbc42-156d-4a1c-a628-6f8b032d8179", 1711, false, "6CWq8wyS90o", "https://www.youtube.com/watch?v=6CWq8wyS90o", 30, "/downloads/HealthyGamerGG/2024-02-07 DOPAMINE - What It Is, and How To Beat It/DOPAMINE - What It Is, and How To Beat It [6CWq8wyS90o].mp4", false, false, false, 3, [], 1, ~U[2024-02-07 18:00:03Z], ~U[2026-09-16 21:08:42Z], ~U[2026-09-16 21:08:42Z], "Start speaking a new language in 3 weeks with Babbel 🎉. Get up to 60% OFF your subscription ➡️Here: https://go.babbel.com/t?bsc=1200m60-youtube-healthygamergg-dec-2023&btp=default&utm_term=generic_v1&utm_medium=paidsocial&utm_source=YouTube&utm_content=Influencer..healthygamergg..USA..YouTube\n\nIn today's video, we explore how dopamine drives our interest and wants in life, how to reduce its dependency, and how to tackle the need for dopamine all the time. Dr K starts us off by discussing the nucleus accumbens, a study about dopamine in rats to give us an example of dopamine's effects on rats, and more. \n\nWhen someone develops dopamine resistance, they may experience reduced motivation, decreased pleasure from activities they once enjoyed, and difficulty experiencing positive emotions. This can contribute to issues like depression, apathy, and addiction.\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Introduction\n01:52 - Nucleus Accumbens\n04:41 - Dopamine in rats\n05:54 - Sustained effort\n11:55 - Amygdala and Limbic System\n14:57 - Prefrontal Cortex\n17:55 - “Play the tape through to the end”\n21:33 - Opioid circuit\n24:29 - Balance of pain\n27:21 - Conclusion\n\n────────────\n\nJoin this channel to get access to perks:\nhttps://www.youtube.com/channel/UClHVl2N3jPEbkNJVx-ItQIQ/join\n\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#mentalhealth #healthygamergg #dopamine", "DOPAMINE - What It Is, and How To Beat It", 1711, false, "6CWq8wyS90o", "https://www.youtube.com/watch?v=6CWq8wyS90o", "/downloads/HealthyGamerGG/2024-02-07 DOPAMINE - What It Is, and How To Beat It/DOPAMINE - What It Is, and How To Beat It [6CWq8wyS90o].mp4", false, 3, ~U[2024-02-07 18:00:03Z]] 21:08:42.438 [debug] QUERY OK source="sources" db=0.2ms idle=291.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:42.439 [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" = ?) [2] 21:08:42.440 [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 [35249] 21:08:42.440 [debug] Current batch of media processed. Will check again in 1000ms 21:08:43.441 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Start speaking a new language in 3 weeks with Babbel 🎉. Get up to 60% OFF your subscription ➡️Here: https://go.babbel.com/t?bsc=1200m60-youtube-healthygamergg-oct-2023&btp=default&utm_term=generic_v1&utm_medium=paidsocial&utm_source=YouTube&utm_content=Influencer..healthygamergg..USA..YouTube\n\nIn today's video, we delve into the fascinating world of self-control from a scientific perspective. We'll explore the latest research and evidence-based techniques designed to enhance your self-discipline. Our journey will uncover the psychological and neurological underpinnings of self-control, providing you with practical strategies to apply in your daily life.\n\nJoin us as we discuss actionable insights and methods to boost your self-control, helping you achieve your personal and professional goals. Whether you're looking to improve your focus, resist temptations, or manage your impulses more effectively, this video is tailored to provide you with the tools for success. Don't miss out on this opportunity to empower yourself with the science of self-control!\n\n▼ Timestamps ▼\n────────────\n\n00:11 You don’t really listen to you\n03:27 Understanding self control\n05:22 What diminishes your self control?\n10:03 Monitoring conflict is self control\n12:20 How to monitor conflict yourself\n15:40 Exerting self control\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#healthygamergg #lifeadvice #selfcontrol", "duration" => 1131, "filename" => "/downloads/HealthyGamerGG/2023-10-16 Dr. K Explains: The Science of Self Control/Dr. K Explains: The Science of Self Control [dgRSfhoHE4g].mp4", "id" => "dgRSfhoHE4g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dgRSfhoHE4g", "playlist_index" => 31, "timestamp" => 1697475633, "title" => "Dr. K Explains: The Science of Self Control", "upload_date" => "20231016"} 21:08:43.442 [debug] QUERY OK source="sources" db=0.3ms idle=1003.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:43.442 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1003.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:43.443 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-10-16 17:00:33Z], 3] 21:08:43.446 [debug] QUERY OK source="media_items" db=2.4ms idle=1003.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Start speaking a new language in 3 weeks with Babbel 🎉. Get up to 60% OFF your subscription ➡️Here: https://go.babbel.com/t?bsc=1200m60-youtube-healthygamergg-oct-2023&btp=default&utm_term=generic_v1&utm_medium=paidsocial&utm_source=YouTube&utm_content=Influencer..healthygamergg..USA..YouTube\n\nIn today's video, we delve into the fascinating world of self-control from a scientific perspective. We'll explore the latest research and evidence-based techniques designed to enhance your self-discipline. Our journey will uncover the psychological and neurological underpinnings of self-control, providing you with practical strategies to apply in your daily life.\n\nJoin us as we discuss actionable insights and methods to boost your self-control, helping you achieve your personal and professional goals. Whether you're looking to improve your focus, resist temptations, or manage your impulses more effectively, this video is tailored to provide you with the tools for success. Don't miss out on this opportunity to empower yourself with the science of self-control!\n\n▼ Timestamps ▼\n────────────\n\n00:11 You don’t really listen to you\n03:27 Understanding self control\n05:22 What diminishes your self control?\n10:03 Monitoring conflict is self control\n12:20 How to monitor conflict yourself\n15:40 Exerting self control\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#healthygamergg #lifeadvice #selfcontrol", "Dr. K Explains: The Science of Self Control", "4922a1ac-f2a0-40ed-b8a9-ad21a546d4e9", 1131, false, "dgRSfhoHE4g", "https://www.youtube.com/watch?v=dgRSfhoHE4g", 31, "/downloads/HealthyGamerGG/2023-10-16 Dr. K Explains: The Science of Self Control/Dr. K Explains: The Science of Self Control [dgRSfhoHE4g].mp4", false, false, false, 3, [], 1, ~U[2023-10-16 17:00:33Z], ~U[2026-09-16 21:08:43Z], ~U[2026-09-16 21:08:43Z], "Start speaking a new language in 3 weeks with Babbel 🎉. Get up to 60% OFF your subscription ➡️Here: https://go.babbel.com/t?bsc=1200m60-youtube-healthygamergg-oct-2023&btp=default&utm_term=generic_v1&utm_medium=paidsocial&utm_source=YouTube&utm_content=Influencer..healthygamergg..USA..YouTube\n\nIn today's video, we delve into the fascinating world of self-control from a scientific perspective. We'll explore the latest research and evidence-based techniques designed to enhance your self-discipline. Our journey will uncover the psychological and neurological underpinnings of self-control, providing you with practical strategies to apply in your daily life.\n\nJoin us as we discuss actionable insights and methods to boost your self-control, helping you achieve your personal and professional goals. Whether you're looking to improve your focus, resist temptations, or manage your impulses more effectively, this video is tailored to provide you with the tools for success. Don't miss out on this opportunity to empower yourself with the science of self-control!\n\n▼ Timestamps ▼\n────────────\n\n00:11 You don’t really listen to you\n03:27 Understanding self control\n05:22 What diminishes your self control?\n10:03 Monitoring conflict is self control\n12:20 How to monitor conflict yourself\n15:40 Exerting self control\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#healthygamergg #lifeadvice #selfcontrol", "Dr. K Explains: The Science of Self Control", 1131, false, "dgRSfhoHE4g", "https://www.youtube.com/watch?v=dgRSfhoHE4g", "/downloads/HealthyGamerGG/2023-10-16 Dr. K Explains: The Science of Self Control/Dr. K Explains: The Science of Self Control [dgRSfhoHE4g].mp4", false, 3, ~U[2023-10-16 17:00:33Z]] 21:08:43.447 [debug] QUERY OK source="sources" db=0.1ms idle=295.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:43.447 [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] 21:08:43.448 [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 [35250] 21:08:43.448 [debug] Current batch of media processed. Will check again in 1000ms 21:08:44.449 [debug] Current batch of media processed. Will check again in 1000ms 21:08:45.450 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Making friends is tough, especially after being inside for almost 3 years, and social anxiety makes it so much harder. Doctor K’s guide to Mental Health can help you take control over your anxiety, find out more here: https://bit.ly/37kSfkA\n\n▼ Timestamps ▼\n────────────\n\n0:00 - Preview\n0:43 - Reddit Post\n3:29 - What is going on in your mind\n19:29 - Consequences of interaction\n25:06 - Ramping up interactions\n34:31 - Summary\n40:00 - Questions\n\n────────────\n\nToday Doctor K talks about how to start conversations, how to make friends, how to talk to strangers, how to talk to people, and more. HealthyGamer also talks about how to handle social anxiety, getting over your social anxiety, how to act in public, and more.\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "duration" => 2628, "filename" => "/downloads/HealthyGamerGG/2022-04-12 You Don’t Speak Unless You Are Spoken To/You Don’t Speak Unless You Are Spoken To [2FZ2AGo6Kec].mp4", "id" => "2FZ2AGo6Kec", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2FZ2AGo6Kec", "playlist_index" => 32, "timestamp" => 1649773577, "title" => "You Don’t Speak Unless You Are Spoken To", "upload_date" => "20220412"} 21:08:45.451 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=654.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:45.451 [debug] QUERY OK source="sources" db=0.1ms idle=655.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:45.452 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=655.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-04-12 14:26:17Z], 3] 21:08:45.454 [debug] QUERY OK source="media_items" db=1.2ms idle=656.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Making friends is tough, especially after being inside for almost 3 years, and social anxiety makes it so much harder. Doctor K’s guide to Mental Health can help you take control over your anxiety, find out more here: https://bit.ly/37kSfkA\n\n▼ Timestamps ▼\n────────────\n\n0:00 - Preview\n0:43 - Reddit Post\n3:29 - What is going on in your mind\n19:29 - Consequences of interaction\n25:06 - Ramping up interactions\n34:31 - Summary\n40:00 - Questions\n\n────────────\n\nToday Doctor K talks about how to start conversations, how to make friends, how to talk to strangers, how to talk to people, and more. HealthyGamer also talks about how to handle social anxiety, getting over your social anxiety, how to act in public, and more.\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "You Don’t Speak Unless You Are Spoken To", "f3f1aab4-ced4-4de6-bc83-bbeb8daf47d9", 2628, false, "2FZ2AGo6Kec", "https://www.youtube.com/watch?v=2FZ2AGo6Kec", 32, "/downloads/HealthyGamerGG/2022-04-12 You Don’t Speak Unless You Are Spoken To/You Don’t Speak Unless You Are Spoken To [2FZ2AGo6Kec].mp4", false, false, false, 3, [], 1, ~U[2022-04-12 14:26:17Z], ~U[2026-09-16 21:08:45Z], ~U[2026-09-16 21:08:45Z], "Making friends is tough, especially after being inside for almost 3 years, and social anxiety makes it so much harder. Doctor K’s guide to Mental Health can help you take control over your anxiety, find out more here: https://bit.ly/37kSfkA\n\n▼ Timestamps ▼\n────────────\n\n0:00 - Preview\n0:43 - Reddit Post\n3:29 - What is going on in your mind\n19:29 - Consequences of interaction\n25:06 - Ramping up interactions\n34:31 - Summary\n40:00 - Questions\n\n────────────\n\nToday Doctor K talks about how to start conversations, how to make friends, how to talk to strangers, how to talk to people, and more. HealthyGamer also talks about how to handle social anxiety, getting over your social anxiety, how to act in public, and more.\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "You Don’t Speak Unless You Are Spoken To", 2628, false, "2FZ2AGo6Kec", "https://www.youtube.com/watch?v=2FZ2AGo6Kec", "/downloads/HealthyGamerGG/2022-04-12 You Don’t Speak Unless You Are Spoken To/You Don’t Speak Unless You Are Spoken To [2FZ2AGo6Kec].mp4", false, 3, ~U[2022-04-12 14:26:17Z]] 21:08:45.454 [debug] QUERY OK source="sources" db=0.1ms idle=299.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:45.455 [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] 21:08:45.456 [debug] QUERY OK source="media_items" db=0.4ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [35251] 21:08:45.456 [debug] Current batch of media processed. Will check again in 1000ms 21:08:46.457 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Dr. Kanojia is a Harvard-trained psychiatrist and cofounder of Healthy Gamer. Dr. K's Healthy Gamer Coaching program is the highest-rated, most affordable coaching service with proven mental health outcomes. Learn more: https://www.healthygamer.gg/coaching/1-on-1 \n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Preview\n00:08 - Introduction\n01:11 - Habit 1: Avoid Tech\n03:55 - Habit 2: Cut back on Caffeine\n07:49 - Habit 3: Pacing \n10:33 - Habit 4: Give Yourself Time To Think\n11:54 - Habit 5: Become a Producer instead of a Consumer\n14:44 - Recap\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "duration" => 934, "filename" => "/downloads/HealthyGamerGG/2022-09-01 5 Habits that Changed My Life/5 Habits that Changed My Life [2--Nhxasrew].mp4", "id" => "2--Nhxasrew", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2--Nhxasrew", "playlist_index" => 33, "timestamp" => 1662040802, "title" => "5 Habits that Changed My Life", "upload_date" => "20220901"} 21:08:46.457 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:46.458 [debug] QUERY OK source="sources" db=0.1ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:46.459 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1003.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-09-01 14:00:02Z], 3] 21:08:46.461 [debug] QUERY OK source="media_items" db=1.9ms idle=1003.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dr. Kanojia is a Harvard-trained psychiatrist and cofounder of Healthy Gamer. Dr. K's Healthy Gamer Coaching program is the highest-rated, most affordable coaching service with proven mental health outcomes. Learn more: https://www.healthygamer.gg/coaching/1-on-1 \n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Preview\n00:08 - Introduction\n01:11 - Habit 1: Avoid Tech\n03:55 - Habit 2: Cut back on Caffeine\n07:49 - Habit 3: Pacing \n10:33 - Habit 4: Give Yourself Time To Think\n11:54 - Habit 5: Become a Producer instead of a Consumer\n14:44 - Recap\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "5 Habits that Changed My Life", "8698798d-8b3d-4020-9209-bb17acbd4d12", 934, false, "2--Nhxasrew", "https://www.youtube.com/watch?v=2--Nhxasrew", 33, "/downloads/HealthyGamerGG/2022-09-01 5 Habits that Changed My Life/5 Habits that Changed My Life [2--Nhxasrew].mp4", false, false, false, 3, [], 1, ~U[2022-09-01 14:00:02Z], ~U[2026-09-16 21:08:46Z], ~U[2026-09-16 21:08:46Z], "Dr. Kanojia is a Harvard-trained psychiatrist and cofounder of Healthy Gamer. Dr. K's Healthy Gamer Coaching program is the highest-rated, most affordable coaching service with proven mental health outcomes. Learn more: https://www.healthygamer.gg/coaching/1-on-1 \n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Preview\n00:08 - Introduction\n01:11 - Habit 1: Avoid Tech\n03:55 - Habit 2: Cut back on Caffeine\n07:49 - Habit 3: Pacing \n10:33 - Habit 4: Give Yourself Time To Think\n11:54 - Habit 5: Become a Producer instead of a Consumer\n14:44 - Recap\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "5 Habits that Changed My Life", 934, false, "2--Nhxasrew", "https://www.youtube.com/watch?v=2--Nhxasrew", "/downloads/HealthyGamerGG/2022-09-01 5 Habits that Changed My Life/5 Habits that Changed My Life [2--Nhxasrew].mp4", false, 3, ~U[2022-09-01 14:00:02Z]] 21:08:46.462 [debug] QUERY OK source="sources" db=0.2ms idle=305.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:46.462 [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" = ?) [2] 21:08:46.463 [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 [35252] 21:08:46.463 [debug] Current batch of media processed. Will check again in 1000ms 21:08:47.464 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Join our (free) Porn Addiction course for helpful content, resources, and more!: https://bit.ly/3ZdZnaQ \n\nFor more content like this, check out HG Memberships: https://bit.ly/3DrJoOl 💚\n\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Introduction\n01:30 - Diving into the literature\n02:48 - The nature of addiction\n04:08 - Why is porn so addictive?\n05:48 - Thalamus & sensory input\n08:32 - Nucleus Accumbens & Dopamine\n09:42 - Reinforcement of Behavior\n12:38 - Amygdala and limbic system\n13:54 - Emotional disregulation\n15:22 - Oxytocin/Loneliness System\n18:15 - Social Status System\n19:48 - Creating a plan for success\n21:17 - Restrict the time window for use\n22:04 - Plan at the start of the day\n22:58 - Develop an emotional regulation practice\n23:46 - Find your triggers\n24:50 - Analyze your weak points\n25:35 - Working on dormant emotions\n25:53 - Find a community\n26:22 - Do something you can be proud of\n27:06 - Exercise and diet\n29:18 - Dual diagnosis\n30:42 - A simple technique...\n31:51 - Urge surfing practice\n\n────────────\n\nLearn more about the research that goes into making our videos:\nhttps://explore.healthygamer.gg/citations\n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer coaches, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "duration" => 2153, "filename" => "/downloads/HealthyGamerGG/2024-11-22 How to Kick Your P**n Habit in 35 Minutes/How to Kick Your P**n Habit in 35 Minutes [QJvHglNMsqc].mp4", "id" => "QJvHglNMsqc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QJvHglNMsqc", "playlist_index" => 34, "timestamp" => 1732233627, "title" => "How to Kick Your P**n Habit in 35 Minutes", "upload_date" => "20241122"} 21:08:47.464 [debug] QUERY OK source="sources" db=0.2ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:47.465 [debug] QUERY OK source="sources" db=0.1ms idle=1002.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:47.465 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=1002.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-22 00:00:27Z], 3] 21:08:47.468 [debug] QUERY OK source="media_items" db=2.1ms idle=1002.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join our (free) Porn Addiction course for helpful content, resources, and more!: https://bit.ly/3ZdZnaQ \n\nFor more content like this, check out HG Memberships: https://bit.ly/3DrJoOl 💚\n\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Introduction\n01:30 - Diving into the literature\n02:48 - The nature of addiction\n04:08 - Why is porn so addictive?\n05:48 - Thalamus & sensory input\n08:32 - Nucleus Accumbens & Dopamine\n09:42 - Reinforcement of Behavior\n12:38 - Amygdala and limbic system\n13:54 - Emotional disregulation\n15:22 - Oxytocin/Loneliness System\n18:15 - Social Status System\n19:48 - Creating a plan for success\n21:17 - Restrict the time window for use\n22:04 - Plan at the start of the day\n22:58 - Develop an emotional regulation practice\n23:46 - Find your triggers\n24:50 - Analyze your weak points\n25:35 - Working on dormant emotions\n25:53 - Find a community\n26:22 - Do something you can be proud of\n27:06 - Exercise and diet\n29:18 - Dual diagnosis\n30:42 - A simple technique...\n31:51 - Urge surfing practice\n\n────────────\n\nLearn more about the research that goes into making our videos:\nhttps://explore.healthygamer.gg/citations\n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer coaches, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "How to Kick Your P**n Habit in 35 Minutes", "972288e0-4176-4a65-b621-49deae70d4bc", 2153, false, "QJvHglNMsqc", "https://www.youtube.com/watch?v=QJvHglNMsqc", 34, "/downloads/HealthyGamerGG/2024-11-22 How to Kick Your P**n Habit in 35 Minutes/How to Kick Your P**n Habit in 35 Minutes [QJvHglNMsqc].mp4", false, false, false, 3, [], 1, ~U[2024-11-22 00:00:27Z], ~U[2026-09-16 21:08:47Z], ~U[2026-09-16 21:08:47Z], "Join our (free) Porn Addiction course for helpful content, resources, and more!: https://bit.ly/3ZdZnaQ \n\nFor more content like this, check out HG Memberships: https://bit.ly/3DrJoOl 💚\n\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Introduction\n01:30 - Diving into the literature\n02:48 - The nature of addiction\n04:08 - Why is porn so addictive?\n05:48 - Thalamus & sensory input\n08:32 - Nucleus Accumbens & Dopamine\n09:42 - Reinforcement of Behavior\n12:38 - Amygdala and limbic system\n13:54 - Emotional disregulation\n15:22 - Oxytocin/Loneliness System\n18:15 - Social Status System\n19:48 - Creating a plan for success\n21:17 - Restrict the time window for use\n22:04 - Plan at the start of the day\n22:58 - Develop an emotional regulation practice\n23:46 - Find your triggers\n24:50 - Analyze your weak points\n25:35 - Working on dormant emotions\n25:53 - Find a community\n26:22 - Do something you can be proud of\n27:06 - Exercise and diet\n29:18 - Dual diagnosis\n30:42 - A simple technique...\n31:51 - Urge surfing practice\n\n────────────\n\nLearn more about the research that goes into making our videos:\nhttps://explore.healthygamer.gg/citations\n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer coaches, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "How to Kick Your P**n Habit in 35 Minutes", 2153, false, "QJvHglNMsqc", "https://www.youtube.com/watch?v=QJvHglNMsqc", "/downloads/HealthyGamerGG/2024-11-22 How to Kick Your P**n Habit in 35 Minutes/How to Kick Your P**n Habit in 35 Minutes [QJvHglNMsqc].mp4", false, 3, ~U[2024-11-22 00:00:27Z]] 21:08:47.469 [debug] QUERY OK source="sources" db=0.2ms idle=311.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:47.469 [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] 21:08:47.470 [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 [35253] 21:08:47.470 [debug] Current batch of media processed. Will check again in 1000ms 21:08:48.471 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Welcome to today's exploration into the science of catching up in life. Have you ever pondered whether it's too late to begin anew or if there are viable strategies to bridge the gap? In this video, we delve into these questions, uncovering actionable insights to help you catch up and thrive.\n\nLearn more from Dr. K in his Guide to Mental Health: https://bit.ly/46CKHDO\nNot sure which module to start on? Take our quiz: https://bit.ly/47dGzKj\n\nWe'll examine the psychological and scientific aspects of catching up, breaking down misconceptions and exploring practical steps towards progress. This isn't merely a conversation about playing catch-up; it's about understanding the science behind progress and growth, regardless of where we currently stand.\n\n▼ Timestamps ▼\n────────────\n\n00:08 - Is it too late for me to catch up?\n01:05 The truth about this video\n01:56 - The science of catching up\n3:20 - Attachment and behavioral catch up\n4:55 - The “How” of real growth\n6:50 - You need a small amount of help \n9:00 - Changing your environment\n10:46 - How to expand your social circle\n13:10 - Changing your physical environment \n14:35 - How the mind sabotages you\n17:58 - What do we do about this?\n19:48 - “I” statements\n22:40 - Who you are no longer dictates what you do\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#healthygamergg #scienceofcatchingup #lifeadvice", "duration" => 1495, "filename" => "/downloads/HealthyGamerGG/2023-07-05 How To Catch Up In Life (Using Science)/How To Catch Up In Life (Using Science) [IOWelVx5CUw].mp4", "id" => "IOWelVx5CUw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IOWelVx5CUw", "playlist_index" => 35, "timestamp" => 1688572819, "title" => "How To Catch Up In Life (Using Science)", "upload_date" => "20230705"} 21:08:48.471 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:48.472 [debug] QUERY OK source="sources" db=0.1ms idle=1002.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:48.472 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-07-05 16:00:19Z], 3] 21:08:48.475 [debug] QUERY OK source="media_items" db=1.4ms idle=1002.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Welcome to today's exploration into the science of catching up in life. Have you ever pondered whether it's too late to begin anew or if there are viable strategies to bridge the gap? In this video, we delve into these questions, uncovering actionable insights to help you catch up and thrive.\n\nLearn more from Dr. K in his Guide to Mental Health: https://bit.ly/46CKHDO\nNot sure which module to start on? Take our quiz: https://bit.ly/47dGzKj\n\nWe'll examine the psychological and scientific aspects of catching up, breaking down misconceptions and exploring practical steps towards progress. This isn't merely a conversation about playing catch-up; it's about understanding the science behind progress and growth, regardless of where we currently stand.\n\n▼ Timestamps ▼\n────────────\n\n00:08 - Is it too late for me to catch up?\n01:05 The truth about this video\n01:56 - The science of catching up\n3:20 - Attachment and behavioral catch up\n4:55 - The “How” of real growth\n6:50 - You need a small amount of help \n9:00 - Changing your environment\n10:46 - How to expand your social circle\n13:10 - Changing your physical environment \n14:35 - How the mind sabotages you\n17:58 - What do we do about this?\n19:48 - “I” statements\n22:40 - Who you are no longer dictates what you do\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#healthygamergg #scienceofcatchingup #lifeadvice", "How To Catch Up In Life (Using Science)", "4f24f696-9677-4429-af20-2ec9d97dd900", 1495, false, "IOWelVx5CUw", "https://www.youtube.com/watch?v=IOWelVx5CUw", 35, "/downloads/HealthyGamerGG/2023-07-05 How To Catch Up In Life (Using Science)/How To Catch Up In Life (Using Science) [IOWelVx5CUw].mp4", false, false, false, 3, [], 1, ~U[2023-07-05 16:00:19Z], ~U[2026-09-16 21:08:48Z], ~U[2026-09-16 21:08:48Z], "Welcome to today's exploration into the science of catching up in life. Have you ever pondered whether it's too late to begin anew or if there are viable strategies to bridge the gap? In this video, we delve into these questions, uncovering actionable insights to help you catch up and thrive.\n\nLearn more from Dr. K in his Guide to Mental Health: https://bit.ly/46CKHDO\nNot sure which module to start on? Take our quiz: https://bit.ly/47dGzKj\n\nWe'll examine the psychological and scientific aspects of catching up, breaking down misconceptions and exploring practical steps towards progress. This isn't merely a conversation about playing catch-up; it's about understanding the science behind progress and growth, regardless of where we currently stand.\n\n▼ Timestamps ▼\n────────────\n\n00:08 - Is it too late for me to catch up?\n01:05 The truth about this video\n01:56 - The science of catching up\n3:20 - Attachment and behavioral catch up\n4:55 - The “How” of real growth\n6:50 - You need a small amount of help \n9:00 - Changing your environment\n10:46 - How to expand your social circle\n13:10 - Changing your physical environment \n14:35 - How the mind sabotages you\n17:58 - What do we do about this?\n19:48 - “I” statements\n22:40 - Who you are no longer dictates what you do\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#healthygamergg #scienceofcatchingup #lifeadvice", "How To Catch Up In Life (Using Science)", 1495, false, "IOWelVx5CUw", "https://www.youtube.com/watch?v=IOWelVx5CUw", "/downloads/HealthyGamerGG/2023-07-05 How To Catch Up In Life (Using Science)/How To Catch Up In Life (Using Science) [IOWelVx5CUw].mp4", false, 3, ~U[2023-07-05 16:00:19Z]] 21:08:48.475 [debug] QUERY OK source="sources" db=0.1ms idle=316.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:48.475 [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] 21:08:48.476 [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 [35254] 21:08:48.476 [debug] Current batch of media processed. Will check again in 1000ms 21:08:49.477 [debug] Current batch of media processed. Will check again in 1000ms 21:08:50.478 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "⬇️ Timestamps in der Beschreibung & im angepinnten Kommentar!\n-\nFreunde, fast pünktlich zu Weihnachten ist es endlich soweit: \nDie aller erste Folge meines Podcasts ist online!\nMein erster Gast ist der gute Marc Gebauer von Cologne Watch.\nWir haben viel über seinen Weg zum muslimischen Glauben, die aktuelle Entwicklung des Uhrenmarktes sowie Gott & die Welt gesprochen.\n\nSchreibt gerne in die Kommentare was wir noch besser machen können und wen ihr euch als nächsten Gast wünscht!\n-\nParallel ist mein neuer zweiter Channel online gegangen:\n\nTim Gabel Clips\n\nDort findet ihr alle Podcast Highlights in gebündelter Kurzform, \n➡️ schaut vorbei: http://bit.ly/2PNEOi2\n-\nZU MARC:\nYoutube: http://bit.ly/2sbrhHN\nInstagram: http://bit.ly/2s9oLSw\n\nZU COLOGNE WATCH: \nYoutube: http://bit.ly/2POsmyB\nInstagram: http://bit.ly/35NKr54\nWeb: https://www.colognewatch.de/\n\n-------------------------------\n\nTIMESTAMPS:\n\nEinleitung zum Podcast \n0:00 - 2:10\nWer ist Marc Gebauer? \n2:10 - 5:23\n\n1 . UHREN\nJuwelier vs. Grauhändler\n5:23 - 16:20\nMarc über den Polosport \n16:20 - 21:40\nUhren als Finanzobjekt (Entwicklung des Uhrenmarktes)\n21:40 - 31:28\nUhren als Statussymbol\n31:28 - 39: 50\nUhren als Kunstobjekt\n39:50 - 52:07\n\n2 . Marc im Haterinterview\n52:07 - 1:12:15\n\n3 . ISLAM\nEinleitung zum Thema Glaube\n1:12:15 - 1:20:25\nWie Marc zum Islam kam\n1:20:25 - 1:30:10\nAuslegung und leben von Glaube, Glaubensstruktur, Interpretation\n1:30:10 - 1:42:00\nWie Marc seinen islamischen Glauben lebt\n1:42:00 - 1:48:36 \nHeutige Wahrnehmung des Islams in der westlichen Welt \n1:48:36 - 1:56:45\nMarc über jihadistische Attentate und die Position des Korans\n1:56:45 - 2:03:30\nInterpretation & Misinterpretation des Islam\n2:03:30 - 2:13:24\n\nMarc Persönlichkeitstest erklärt\n2:13:24 - 2:29:32\nOutro\n2:29:32 - 2:32:06\n\n-------------------------------\n\n► Hier findest du mein Trainings- und Ernährungsplan : \n(*Werbung) http://join-teamg.com/\n\n-------------------------------\n\n► Folgt mir auf Instagram: @tim_gabel\n\n► Snapt mir: timgabel95\n\n-------------------------------\n\n► Hier gibt es die Klamotten von Gymshark: \n(*Werbung) https://gym.sh/Shop-Tim-Gabel2\n\n► Hier bekommt ihr die besten Supplements aus Deutschland : (*Werbung) http://goo.gl/mB9N7T / https://healthplus.zecplus.de\n\n-------------------------------\n(*Werbung)\n► * Für massive Gains: https://amzn.to/2HKT0q3\n► * Eins der besten Supplements: https://amzn.to/2UsPFNM\n► * Beste Kombi: https://amzn.to/2BduPLd\n► * Essentiell: https://amzn.to/2Uz9AdT\n► * Klassiker: https://amzn.to/2HIWoSk\n► * Ehrenwirbelsäule: https://amzn.to/2Wzu0W8\n► * Ehrenlendenwirbelsäule: https://amzn.to/2D2lCoO", "duration" => 9126, "filename" => "/downloads/Tim Gabel/2019-12-22 PODCAST #1: MARC GEBAUER über muslimischen Glauben, Uhrenmarkt, "Fake Friends" mit Youtubern/PODCAST #1: MARC GEBAUER über muslimischen Glauben, Uhrenmarkt, "Fake Friends" mit Youtubern [aVLetMOm7SM].mp4", "id" => "aVLetMOm7SM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aVLetMOm7SM", "playlist_index" => 36, "timestamp" => 1577012400, "title" => "PODCAST #1: MARC GEBAUER über muslimischen Glauben, Uhrenmarkt, \"Fake Friends\" mit Youtubern", "upload_date" => "20191222"} 21:08:50.478 [debug] QUERY OK source="sources" db=0.2ms idle=682.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:50.479 [debug] QUERY OK source="sources" db=0.3ms idle=683.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:50.480 [debug] QUERY OK source="media_items" db=0.5ms idle=683.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-12-22 11:00:00Z], 3] 21:08:50.484 [debug] QUERY OK source="media_items" db=2.8ms idle=684.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["⬇️ Timestamps in der Beschreibung & im angepinnten Kommentar!\n-\nFreunde, fast pünktlich zu Weihnachten ist es endlich soweit: \nDie aller erste Folge meines Podcasts ist online!\nMein erster Gast ist der gute Marc Gebauer von Cologne Watch.\nWir haben viel über seinen Weg zum muslimischen Glauben, die aktuelle Entwicklung des Uhrenmarktes sowie Gott & die Welt gesprochen.\n\nSchreibt gerne in die Kommentare was wir noch besser machen können und wen ihr euch als nächsten Gast wünscht!\n-\nParallel ist mein neuer zweiter Channel online gegangen:\n\nTim Gabel Clips\n\nDort findet ihr alle Podcast Highlights in gebündelter Kurzform, \n➡️ schaut vorbei: http://bit.ly/2PNEOi2\n-\nZU MARC:\nYoutube: http://bit.ly/2sbrhHN\nInstagram: http://bit.ly/2s9oLSw\n\nZU COLOGNE WATCH: \nYoutube: http://bit.ly/2POsmyB\nInstagram: http://bit.ly/35NKr54\nWeb: https://www.colognewatch.de/\n\n-------------------------------\n\nTIMESTAMPS:\n\nEinleitung zum Podcast \n0:00 - 2:10\nWer ist Marc Gebauer? \n2:10 - 5:23\n\n1 . UHREN\nJuwelier vs. Grauhändler\n5:23 - 16:20\nMarc über den Polosport \n16:20 - 21:40\nUhren als Finanzobjekt (Entwicklung des Uhrenmarktes)\n21:40 - 31:28\nUhren als Statussymbol\n31:28 - 39: 50\nUhren als Kunstobjekt\n39:50 - 52:07\n\n2 . Marc im Haterinterview\n52:07 - 1:12:15\n\n3 . ISLAM\nEinleitung zum Thema Glaube\n1:12:15 - 1:20:25\nWie Marc zum Islam kam\n1:20:25 - 1:30:10\nAuslegung und leben von Glaube, Glaubensstruktur, Interpretation\n1:30:10 - 1:42:00\nWie Marc seinen islamischen Glauben lebt\n1:42:00 - 1:48:36 \nHeutige Wahrnehmung des Islams in der westlichen Welt \n1:48:36 - 1:56:45\nMarc über jihadistische Attentate und die Position des Korans\n1:56:45 - 2:03:30\nInterpretation & Misinterpretation des Islam\n2:03:30 - 2:13:24\n\nMarc Persönlichkeitstest erklärt\n2:13:24 - 2:29:32\nOutro\n2:29:32 - 2:32:06\n\n-------------------------------\n\n► Hier findest du mein Trainings- und Ernährungsplan : \n(*Werbung) http://join-teamg.com/\n\n-------------------------------\n\n► Folgt mir auf Instagram: @tim_gabel\n\n► Snapt mir: timgabel95\n\n-------------------------------\n\n► Hier gibt es die Klamotten von Gymshark: \n(*Werbung) https://gym.sh/Shop-Tim-Gabel2\n\n► Hier bekommt ihr die besten Supplements aus Deutschland : (*Werbung) http://goo.gl/mB9N7T / https://healthplus.zecplus.de\n\n-------------------------------\n(*Werbung)\n► * Für massive Gains: https://amzn.to/2HKT0q3\n► * Eins der besten Supplements: https://amzn.to/2UsPFNM\n► * Beste Kombi: https://amzn.to/2BduPLd\n► * Essentiell: https://amzn.to/2Uz9AdT\n► * Klassiker: https://amzn.to/2HIWoSk\n► * Ehrenwirbelsäule: https://amzn.to/2Wzu0W8\n► * Ehrenlendenwirbelsäule: https://amzn.to/2D2lCoO", "PODCAST #1: MARC GEBAUER über muslimischen Glauben, Uhrenmarkt, \"Fake Friends\" mit Youtubern", "efba29ae-ccdb-4eca-a17e-96f0b81f82a2", 9126, false, "aVLetMOm7SM", "https://www.youtube.com/watch?v=aVLetMOm7SM", 36, "/downloads/Tim Gabel/2019-12-22 PODCAST #1: MARC GEBAUER über muslimischen Glauben, Uhrenmarkt, "Fake Friends" mit Youtubern/PODCAST #1: MARC GEBAUER über muslimischen Glauben, Uhrenmarkt, "Fake Friends" mit Youtubern [aVLetMOm7SM].mp4", false, false, false, 3, [], 1, ~U[2019-12-22 11:00:00Z], ~U[2026-09-16 21:08:50Z], ~U[2026-09-16 21:08:50Z], "⬇️ Timestamps in der Beschreibung & im angepinnten Kommentar!\n-\nFreunde, fast pünktlich zu Weihnachten ist es endlich soweit: \nDie aller erste Folge meines Podcasts ist online!\nMein erster Gast ist der gute Marc Gebauer von Cologne Watch.\nWir haben viel über seinen Weg zum muslimischen Glauben, die aktuelle Entwicklung des Uhrenmarktes sowie Gott & die Welt gesprochen.\n\nSchreibt gerne in die Kommentare was wir noch besser machen können und wen ihr euch als nächsten Gast wünscht!\n-\nParallel ist mein neuer zweiter Channel online gegangen:\n\nTim Gabel Clips\n\nDort findet ihr alle Podcast Highlights in gebündelter Kurzform, \n➡️ schaut vorbei: http://bit.ly/2PNEOi2\n-\nZU MARC:\nYoutube: http://bit.ly/2sbrhHN\nInstagram: http://bit.ly/2s9oLSw\n\nZU COLOGNE WATCH: \nYoutube: http://bit.ly/2POsmyB\nInstagram: http://bit.ly/35NKr54\nWeb: https://www.colognewatch.de/\n\n-------------------------------\n\nTIMESTAMPS:\n\nEinleitung zum Podcast \n0:00 - 2:10\nWer ist Marc Gebauer? \n2:10 - 5:23\n\n1 . UHREN\nJuwelier vs. Grauhändler\n5:23 - 16:20\nMarc über den Polosport \n16:20 - 21:40\nUhren als Finanzobjekt (Entwicklung des Uhrenmarktes)\n21:40 - 31:28\nUhren als Statussymbol\n31:28 - 39: 50\nUhren als Kunstobjekt\n39:50 - 52:07\n\n2 . Marc im Haterinterview\n52:07 - 1:12:15\n\n3 . ISLAM\nEinleitung zum Thema Glaube\n1:12:15 - 1:20:25\nWie Marc zum Islam kam\n1:20:25 - 1:30:10\nAuslegung und leben von Glaube, Glaubensstruktur, Interpretation\n1:30:10 - 1:42:00\nWie Marc seinen islamischen Glauben lebt\n1:42:00 - 1:48:36 \nHeutige Wahrnehmung des Islams in der westlichen Welt \n1:48:36 - 1:56:45\nMarc über jihadistische Attentate und die Position des Korans\n1:56:45 - 2:03:30\nInterpretation & Misinterpretation des Islam\n2:03:30 - 2:13:24\n\nMarc Persönlichkeitstest erklärt\n2:13:24 - 2:29:32\nOutro\n2:29:32 - 2:32:06\n\n-------------------------------\n\n► Hier findest du mein Trainings- und Ernährungsplan : \n(*Werbung) http://join-teamg.com/\n\n-------------------------------\n\n► Folgt mir auf Instagram: @tim_gabel\n\n► Snapt mir: timgabel95\n\n-------------------------------\n\n► Hier gibt es die Klamotten von Gymshark: \n(*Werbung) https://gym.sh/Shop-Tim-Gabel2\n\n► Hier bekommt ihr die besten Supplements aus Deutschland : (*Werbung) http://goo.gl/mB9N7T / https://healthplus.zecplus.de\n\n-------------------------------\n(*Werbung)\n► * Für massive Gains: https://amzn.to/2HKT0q3\n► * Eins der besten Supplements: https://amzn.to/2UsPFNM\n► * Beste Kombi: https://amzn.to/2BduPLd\n► * Essentiell: https://amzn.to/2Uz9AdT\n► * Klassiker: https://amzn.to/2HIWoSk\n► * Ehrenwirbelsäule: https://amzn.to/2Wzu0W8\n► * Ehrenlendenwirbelsäule: https://amzn.to/2D2lCoO", "PODCAST #1: MARC GEBAUER über muslimischen Glauben, Uhrenmarkt, \"Fake Friends\" mit Youtubern", 9126, false, "aVLetMOm7SM", "https://www.youtube.com/watch?v=aVLetMOm7SM", "/downloads/Tim Gabel/2019-12-22 PODCAST #1: MARC GEBAUER über muslimischen Glauben, Uhrenmarkt, "Fake Friends" mit Youtubern/PODCAST #1: MARC GEBAUER über muslimischen Glauben, Uhrenmarkt, "Fake Friends" mit Youtubern [aVLetMOm7SM].mp4", false, 3, ~U[2019-12-22 11:00:00Z]] 21:08:50.484 [debug] QUERY OK source="sources" db=0.2ms idle=322.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:50.485 [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] 21:08:50.485 [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 [38586] 21:08:50.485 [debug] Current batch of media processed. Will check again in 1000ms 21:08:51.487 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n Dr. Keith Humphreys is a professor of psychiatry and behavioral sciences at Stanford School of Medicine and a leading expert on treating addictions, drug laws and policy. We discuss all the major addictive substances and behaviors, including alcohol, opioids, gambling, stimulants, nicotine, cannabis and more, focusing on how genetics and certain use patterns shape addiction susceptibility. We discuss the best evidence-based tools for recovery, from 12-step programs to emerging treatments such as psychedelics and ibogaine. Anyone interested in making better choices for their health and/or seeking to avoid or overcome addictions ought to benefit from this episode.\n\nEpisode show notes: https://go.hubermanlab.com/Ir6zQnv\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman\nDavid: https://davidprotein.com/huberman\nBetterHelp: https://betterhelp.com/huberman\nHelix Sleep: https://helixsleep.com/huberman\nLMNT: https://drinklmnt.com/huberman\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Keith Humphreys*\nStanford academic profile: https://profiles.stanford.edu/keith-humphreys \nBook: https://amzlink.to/az0Q03kPwfVJb \nStanford-Lancet Commission on the North American Opioid Crisis: https://opioids.stanford.edu \nStanford Network on Addiction Policy: https://addictionpolicy.stanford.edu \nThe Washington Post: https://www.washingtonpost.com/people/keith-humphreys\nThe Atlantic: https://www.theatlantic.com/author/keith-humphreys\nPublications: https://profiles.stanford.edu/keith-humphreys?tab=publications \nX: https://x.com/KeithNHumphreys \n\n*Timestamps*\n00:00:00 Keith Humphreys\n00:03:22 Addiction; Genetic Risk\n00:09:14 Alcohol Use Disorder & Alcoholism; Genetic Predisposition & Addiction Risk\n00:18:03 Sponsors: David & BetterHelp\n00:20:37 Women & Alcohol Use; Young Adults; Cannabis Use\n00:23:36 Health Benefit to Alcohol?, Red Wine, Cancer Risk; Social Pressure\n00:31:47 Alcohol in Social Gatherings, Social Anxiety, Vulnerability, Work & Dates\n00:37:41 Old vs New Cannabis & THC Levels; Smoked vs Edible Forms\n00:44:38 Cannabis & Psychosis Risk; Cardiac Health; Youth Cannabis Use & Transition to Adulthood \n00:52:29 Sponsor: AG1\n00:54:13 Industries of Addiction, Regulation; Gambling, Slot Machines, Novelty; Casinos\n01:05:28 Decriminalization vs Legalization; Cannabis, Gateway Drug?\n01:08:50 Psylocibin or LSD, Addiction Treatment; Microdosing, Clinical Trial Challenges\n01:18:58 Sponsor: Helix Sleep\n01:20:32 Brain Plasticity & Age; Ketamine, Depression, Transcranial Magnetic Stimulation (TMS)\n01:28:10 SSRIs, Mass Shootings, Suicide, Side Effects; Drug Approval; Ibogaine & PTSD\n01:36:10 Caffeine Addiction?; Stimulants & Rehab; Prescription Stimulants & ADHD\n01:44:04 Nicotine, Mistaking Withdrawal for Benefit\n01:47:24 Sponsor: LMNT\n01:48:44 Tool: How to Talk to Someone with Addiction\n01:55:23 Perception of Addicts, Character Defect, Pain\n02:00:58 Overcoming Addiction, Immediate Rewards, AA; Addict & Co-Dependency?\n02:09:53 Longterm Drug Use, Dopamine, Cues & Relapse; Social Media\n02:16:21 Brain Stimulation, TMS; Homelessness, Substance Use & Rehab \n02:26:11 Addiction Treatment Policy, Rehab & Insurance\n02:29:08 Tool: 12-Step Programs, AA, Accessibility & Benefits\n02:38:08 AA, Higher Power, Cult?; Flexibility, Tool: Open AA Meetings\n02:44:38 GLP-1s, Weight Loss, Alcohol Addiction; Pharmaceutical Advertisements\n02:52:39 Social Media Addiction, Tool: Avoiding Social Media Strategies\n02:58:36 “Failure to Launch”, Youth, Video Games, Social Media; Recovery Pathways\n03:04:13 AA as an Action Program, Tool: Try Different AA Meetings\n03:08:21 Hospice, Death, Overcoming Fear of Death\n03:13:54 Addiction to E" <> ..., "duration" => 12421, "filename" => "/downloads/Andrew Huberman/2026-01-12 How to Overcome Addiction to Substances or Behaviors | Dr. Keith Humphreys/How to Overcome Addiction to Substances or Behaviors | Dr. Keith Humphreys [t6RCTP4fc9Q].mp4", "id" => "t6RCTP4fc9Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=t6RCTP4fc9Q", "playlist_index" => 37, "timestamp" => 1768222919, "title" => "How to Overcome Addiction to Substances or Behaviors | Dr. Keith Humphreys", "upload_date" => "20260112"} 21:08:51.488 [debug] QUERY OK source="sources" db=0.2ms idle=1004.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:51.488 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:51.489 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-12 13:01:59Z], 3] 21:08:51.493 [debug] QUERY OK source="media_items" db=3.3ms idle=1003.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n Dr. Keith Humphreys is a professor of psychiatry and behavioral sciences at Stanford School of Medicine and a leading expert on treating addictions, drug laws and policy. We discuss all the major addictive substances and behaviors, including alcohol, opioids, gambling, stimulants, nicotine, cannabis and more, focusing on how genetics and certain use patterns shape addiction susceptibility. We discuss the best evidence-based tools for recovery, from 12-step programs to emerging treatments such as psychedelics and ibogaine. Anyone interested in making better choices for their health and/or seeking to avoid or overcome addictions ought to benefit from this episode.\n\nEpisode show notes: https://go.hubermanlab.com/Ir6zQnv\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman\nDavid: https://davidprotein.com/huberman\nBetterHelp: https://betterhelp.com/huberman\nHelix Sleep: https://helixsleep.com/huberman\nLMNT: https://drinklmnt.com/huberman\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Keith Humphreys*\nStanford academic profile: https://profiles.stanford.edu/keith-humphreys \nBook: https://amzlink.to/az0Q03kPwfVJb \nStanford-Lancet Commission on the North American Opioid Crisis: https://opioids.stanford.edu \nStanford Network on Addiction Policy: https://addictionpolicy.stanford.edu \nThe Washington Post: https://www.washingtonpost.com/people/keith-humphreys\nThe Atlantic: https://www.theatlantic.com/author/keith-humphreys\nPublications: https://profiles.stanford.edu/keith-humphreys?tab=publications \nX: https://x.com/KeithNHumphreys \n\n*Timestamps*\n00:00:00 Keith Humphreys\n00:03:22 Addiction; Genetic Risk\n00:09:14 Alcohol Use Disorder & Alcoholism; Genetic Predisposition & Addiction Risk\n00:18:03 Sponsors: David & BetterHelp\n00:20:37 Women & Alcohol Use; Young Adults; Cannabis Use\n00:23:36 Health Benefit to Alcohol?, Red Wine, Cancer Risk; Social Pressure\n00:31:47 Alcohol in Social Gatherings, Social Anxiety, Vulnerability, Work & Dates\n00:37:41 Old vs New Cannabis & THC Levels; Smoked vs Edible Forms\n00:44:38 Cannabis & Psychosis Risk; Cardiac Health; Youth Cannabis Use & Transition to Adulthood \n00:52:29 Sponsor: AG1\n00:54:13 Industries of Addiction, Regulation; Gambling, Slot Machines, Novelty; Casinos\n01:05:28 Decriminalization vs Legalization; Cannabis, Gateway Drug?\n01:08:50 Psylocibin or LSD, Addiction Treatment; Microdosing, Clinical Trial Challenges\n01:18:58 Sponsor: Helix Sleep\n01:20:32 Brain Plasticity & Age; Ketamine, Depression, Transcranial Magnetic Stimulation (TMS)\n01:28:10 SSRIs, Mass Shootings, Suicide, Side Effects; Drug Approval; Ibogaine & PTSD\n01:36:10 Caffeine Addiction?; Stimulants & Rehab; Prescription Stimulants & ADHD\n01:44:04 Nicotine, Mistaking Withdrawal for Benefit\n01:47:24 Sponsor: LMNT\n01:48:44 Tool: How to Talk to Someone with Addiction\n01:55:23 Perception of Addicts, Character Defect, Pain\n02:00:58 Overcoming Addiction, Immediate Rewards, AA; Addict & Co-Dependency?\n02:09:53 Longterm Drug Use, Dopamine, Cues & Relapse; Social Media\n02:16:21 Brain Stimulation, TMS; Homelessness, Substance Use & Rehab \n02:26:11 Addiction Treatment Policy, Rehab & Insurance\n02:29:08 Tool: 12-Step Programs, AA, Accessibility & Benefits\n02:38:08 AA, Higher Power, Cult?; Flexibility, Tool: Open AA Meetings\n02:44:38 GLP-1s, Weight Loss, Alcohol Addiction; Pharmaceutical Advertisements\n02:52:39 Social Media Addiction, Tool: Avoiding Social Media Strategies\n02:58:36 “Failure to Launch”, Youth, Video Games, Social Media; Recovery Pathways\n03:04:13 AA as an Action Program, Tool: Try Different AA Meetings\n03:08:21 Hospice, Death, Overcoming Fear of Death\n03:13:54 Addiction to E" <> ..., "How to Overcome Addiction to Substances or Behaviors | Dr. Keith Humphreys", "ffc5adf4-7090-45e2-97f8-d7ec623fcc2c", 12421, false, "t6RCTP4fc9Q", "https://www.youtube.com/watch?v=t6RCTP4fc9Q", 37, "/downloads/Andrew Huberman/2026-01-12 How to Overcome Addiction to Substances or Behaviors | Dr. Keith Humphreys/How to Overcome Addiction to Substances or Behaviors | Dr. Keith Humphreys [t6RCTP4fc9Q].mp4", false, false, false, 3, [], 1, ~U[2026-01-12 13:01:59Z], ~U[2026-09-16 21:08:51Z], ~U[2026-09-16 21:08:51Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n Dr. Keith Humphreys is a professor of psychiatry and behavioral sciences at Stanford School of Medicine and a leading expert on treating addictions, drug laws and policy. We discuss all the major addictive substances and behaviors, including alcohol, opioids, gambling, stimulants, nicotine, cannabis and more, focusing on how genetics and certain use patterns shape addiction susceptibility. We discuss the best evidence-based tools for recovery, from 12-step programs to emerging treatments such as psychedelics and ibogaine. Anyone interested in making better choices for their health and/or seeking to avoid or overcome addictions ought to benefit from this episode.\n\nEpisode show notes: https://go.hubermanlab.com/Ir6zQnv\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman\nDavid: https://davidprotein.com/huberman\nBetterHelp: https://betterhelp.com/huberman\nHelix Sleep: https://helixsleep.com/huberman\nLMNT: https://drinklmnt.com/huberman\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Keith Humphreys*\nStanford academic profile: https://profiles.stanford.edu/keith-humphreys \nBook: https://amzlink.to/az0Q03kPwfVJb \nStanford-Lancet Commission on the North American Opioid Crisis: https://opioids.stanford.edu \nStanford Network on Addiction Policy: https://addictionpolicy.stanford.edu \nThe Washington Post: https://www.washingtonpost.com/people/keith-humphreys\nThe Atlantic: https://www.theatlantic.com/author/keith-humphreys\nPublications: https://profiles.stanford.edu/keith-humphreys?tab=publications \nX: https://x.com/KeithNHumphreys \n\n*Timestamps*\n00:00:00 Keith Humphreys\n00:03:22 Addiction; Genetic Risk\n00:09:14 Alcohol Use Disorder & Alcoholism; Genetic Predisposition & Addiction Risk\n00:18:03 Sponsors: David & BetterHelp\n00:20:37 Women & Alcohol Use; Young Adults; Cannabis Use\n00:23:36 Health Benefit to Alcohol?, Red Wine, Cancer Risk; Social Pressure\n00:31:47 Alcohol in Social Gatherings, Social Anxiety, Vulnerability, Work & Dates\n00:37:41 Old vs New Cannabis & THC Levels; Smoked vs Edible Forms\n00:44:38 Cannabis & Psychosis Risk; Cardiac Health; Youth Cannabis Use & Transition to Adulthood \n00:52:29 Sponsor: AG1\n00:54:13 Industries of Addiction, Reg (truncated) 21:08:51.494 [debug] QUERY OK source="sources" db=0.2ms idle=330.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:51.494 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:08:51.495 [debug] QUERY OK source="media_items" db=0.2ms idle=6.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [38623] 21:08:51.495 [debug] Current batch of media processed. Will check again in 1000ms 21:08:52.496 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Identity is not something we assume, nor something we 'decide.' The markers of it come from a source far beyond our knowledge and understanding. Through the analysis of Genesis and Peter Pan, Peterson connects his audience to the divine anchors that define identity properly.\n\nUnlock the ad-free experience of The Jordan B. Peterson Podcast and dive into exclusive bonus content on DailyWire+. Start watching now: http://dwpluspeterson.com/yt\n\nALL LINKS: https://feedlink.io/jordanbpeterson\n\n\n| Sponsors |\n\nShopify: Get a $1/ month FREE trial with full access to Shopify's entire suite of features: https://shopify.com/jbp\n\nPreborn!: Help save 11,000 babies from abortion: https://preborn.com/Jordan\n\nBalance of Nature: Get 35% off Your Order of Fruits & Veggies + FREE Fiber & Spice Supplements. Use promo code Jordan at checkout: https://www.balanceofnature.com/\n\nOracle Netsuite: Make better business decisions with NetSuite https://www.NetSuite.com/JBP\n\n\n| Chapters |\n\n(0:00) Intro\n(1:22) Differentiating identity from identity politics\n(4:13) The purpose of evaluating your thoughts — getting to the wheat\n(8:42) Why people offer what’s second-rate when they are capable and wanting of greatness\n(12:00) The logos, the word, the spirit of God — they are all the same thing\n(15:10) Bringing reality into being out of potential, levels of apprehension building to your identity\n(24:56) “Everything that you do … is a reflection of the entire order of things.”\n(27:06) Prioritizing the self above everything creates a form of hell on earth\n(34:17) Subjective and sovereign identity: pros and cons\n(40:00) Why are you writing the essay? Following the question all the way up\n(43:13) Why bother maturing? Peter Pan and the eternal child\n(54:19) What you’re serving when you forgo the immediate for the long-term\n(58:16) Adventure stories: the father, the son, and the dragon\n(1:07:23) The further you wander, the more increasingly you enter the religious\n\n\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n\nBooks - https://www.jordanbpeterson.com/books/\n\n#JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus", "duration" => 4602, "filename" => "/downloads/Jordan B Peterson/2024-12-26 We Who Wrestle With God: In the Image of God/We Who Wrestle With God: In the Image of God [dt-BeOTiNvk].mp4", "id" => "dt-BeOTiNvk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dt-BeOTiNvk", "playlist_index" => 38, "timestamp" => 1735250419, "title" => "We Who Wrestle With God: In the Image of God", "upload_date" => "20241226"} 21:08:52.496 [debug] QUERY OK source="sources" db=0.2ms idle=1003.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:52.497 [debug] QUERY OK source="sources" db=0.1ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:52.497 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-26 22:00:19Z], 3] 21:08:52.501 [debug] QUERY OK source="media_items" db=2.4ms idle=1003.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Identity is not something we assume, nor something we 'decide.' The markers of it come from a source far beyond our knowledge and understanding. Through the analysis of Genesis and Peter Pan, Peterson connects his audience to the divine anchors that define identity properly.\n\nUnlock the ad-free experience of The Jordan B. Peterson Podcast and dive into exclusive bonus content on DailyWire+. Start watching now: http://dwpluspeterson.com/yt\n\nALL LINKS: https://feedlink.io/jordanbpeterson\n\n\n| Sponsors |\n\nShopify: Get a $1/ month FREE trial with full access to Shopify's entire suite of features: https://shopify.com/jbp\n\nPreborn!: Help save 11,000 babies from abortion: https://preborn.com/Jordan\n\nBalance of Nature: Get 35% off Your Order of Fruits & Veggies + FREE Fiber & Spice Supplements. Use promo code Jordan at checkout: https://www.balanceofnature.com/\n\nOracle Netsuite: Make better business decisions with NetSuite https://www.NetSuite.com/JBP\n\n\n| Chapters |\n\n(0:00) Intro\n(1:22) Differentiating identity from identity politics\n(4:13) The purpose of evaluating your thoughts — getting to the wheat\n(8:42) Why people offer what’s second-rate when they are capable and wanting of greatness\n(12:00) The logos, the word, the spirit of God — they are all the same thing\n(15:10) Bringing reality into being out of potential, levels of apprehension building to your identity\n(24:56) “Everything that you do … is a reflection of the entire order of things.”\n(27:06) Prioritizing the self above everything creates a form of hell on earth\n(34:17) Subjective and sovereign identity: pros and cons\n(40:00) Why are you writing the essay? Following the question all the way up\n(43:13) Why bother maturing? Peter Pan and the eternal child\n(54:19) What you’re serving when you forgo the immediate for the long-term\n(58:16) Adventure stories: the father, the son, and the dragon\n(1:07:23) The further you wander, the more increasingly you enter the religious\n\n\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n\nBooks - https://www.jordanbpeterson.com/books/\n\n#JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus", "We Who Wrestle With God: In the Image of God", "2464b263-496f-4824-8b6c-968157d45fb9", 4602, false, "dt-BeOTiNvk", "https://www.youtube.com/watch?v=dt-BeOTiNvk", 38, "/downloads/Jordan B Peterson/2024-12-26 We Who Wrestle With God: In the Image of God/We Who Wrestle With God: In the Image of God [dt-BeOTiNvk].mp4", false, false, false, 3, [], 1, ~U[2024-12-26 22:00:19Z], ~U[2026-09-16 21:08:52Z], ~U[2026-09-16 21:08:52Z], "Identity is not something we assume, nor something we 'decide.' The markers of it come from a source far beyond our knowledge and understanding. Through the analysis of Genesis and Peter Pan, Peterson connects his audience to the divine anchors that define identity properly.\n\nUnlock the ad-free experience of The Jordan B. Peterson Podcast and dive into exclusive bonus content on DailyWire+. Start watching now: http://dwpluspeterson.com/yt\n\nALL LINKS: https://feedlink.io/jordanbpeterson\n\n\n| Sponsors |\n\nShopify: Get a $1/ month FREE trial with full access to Shopify's entire suite of features: https://shopify.com/jbp\n\nPreborn!: Help save 11,000 babies from abortion: https://preborn.com/Jordan\n\nBalance of Nature: Get 35% off Your Order of Fruits & Veggies + FREE Fiber & Spice Supplements. Use promo code Jordan at checkout: https://www.balanceofnature.com/\n\nOracle Netsuite: Make better business decisions with NetSuite https://www.NetSuite.com/JBP\n\n\n| Chapters |\n\n(0:00) Intro\n(1:22) Differentiating identity from identity politics\n(4:13) The purpose of evaluating your thoughts — getting to the wheat\n(8:42) Why people offer what’s second-rate when they are capable and wanting of greatness\n(12:00) The logos, the word, the spirit of God — they are all the same thing\n(15:10) Bringing reality into being out of potential, levels of apprehension building to your identity\n(24:56) “Everything that you do … is a reflection of the entire order of things.”\n(27:06) Prioritizing the self above everything creates a form of hell on earth\n(34:17) Subjective and sovereign identity: pros and cons\n(40:00) Why are you writing the essay? Following the question all the way up\n(43:13) Why bother maturing? Peter Pan and the eternal child\n(54:19) What you’re serving when you forgo the immediate for the long-term\n(58:16) Adventure stories: the father, the son, and the dragon\n(1:07:23) The further you wander, the more increasingly you enter the religious\n\n\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n\nBooks - https://www.jordanbpeterson.com/books/\n\n#JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus", "We Who Wrestle With God: In the Image of God", 4602, false, "dt-BeOTiNvk", "https://www.youtube.com/watch?v=dt-BeOTiNvk", "/downloads/Jordan B Peterson/2024-12-26 We Who Wrestle With God: In the Image of God/We Who Wrestle With God: In the Image of God [dt-BeOTiNvk].mp4", false, 3, ~U[2024-12-26 22:00:19Z]] 21:08:52.501 [debug] QUERY OK source="sources" db=0.2ms idle=336.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:52.502 [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" = ?) [2] 21:08:52.502 [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 [40370] 21:08:52.502 [debug] Current batch of media processed. Will check again in 1000ms 21:08:53.503 [debug] Current batch of media processed. Will check again in 1000ms 21:08:54.125 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:54.504 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Are you feeling stuck in a cycle of bad habits and wondering how to finally break free? This isn't another generic motivational video. In this powerful 33‑minute lecture, Dr. Jordan Peterson goes beyond simple advice and uncovers the deep psychology behind why we form habits—and the brutally honest process of replacing the ones that are silently destroying your life.\n\nYou'll learn why comfort is often your biggest enemy, how to use radical truth-telling as a tool for change, and the simple \"micro‑corrections\" that actually compound into a completely transformed future.\n\n---\n\n📌 IN THIS VIDEO (Timestamps):\n00:00 – Why You're Still Stuck (The Brutal Truth)\n12:45 – \"Have You Had Enough of Yourself?\" The Starting Point\n17:20 – The One Question That Exposes Your Bad Habits\n12:10 – Telling the Truth: Your Sharpest Tool for Change\n17:50 – Pursuing Meaning Over Quick Fixes\n23:15 – The Power of Tiny, \"Ridiculously Small\" Actions\n28:30 – Practical Steps to Start Before You Go to Bed Tonight\n31:00 – How to Stay Disciplined When Motivation Fades\n\n---\n\n🎯 KEY TAKEAWAYS FROM THIS LECTURE:\n• The hidden psychological cost of avoiding who you could become.\n• Why \"cleaning your room\" is the ultimate first step to taking control.\n• How to use brutal self-honesty to rewire your brain and your daily routine.\n• The link between personal responsibility, meaning, and mental health.\n• A concrete plan to build success habits that actually last.\n\n---\n\n🔗 NEXT STEPS & RECOMMENDED RESOURCES:\nIf this video hit something real in you, please LIKE, SUBSCRIBE, and SHARE it with someone who needs to hear it. Every action helps more people find the tools to change.\n\n📖 Further Learning:\n· Jordan Peterson's 12 Rules for Life: An Antidote to Chaos\n· Jordan Peterson's Beyond Order: 12 More Rules for Life\n\n📢 Connect with Dr. Jordan B. Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n🎧 Listen to The Jordan B. Peterson Podcast:\n• Spotify: https://open.spotify.com/show/2bGpVpDx3FbjsGvHGHjHNn\n• Apple Podcasts: https://podcasts.apple.com/ca/podcast/the-jordan-b-peterson-podcast/id1184022695\n\n🔔 Don't Get Left Behind! If you're serious about personal growth, hit that subscribe button and turn on notifications. We release new, life-changing content daily.\n\n---\n\nDisclaimer: This video is for educational purposes only and is not a substitute for professional medical or psychological advice. If you are in crisis, please contact a licensed mental health professional in your country.\n\n#jordanpeterson #GoodHabits #ChangeYourLife #PersonalDevelopment #SelfImprovement #SuccessHabits #DailyRoutine #PsychologyLecture #MentalHealth #Motivation #lifeadvice", "duration" => 2021, "filename" => "/downloads/Jordan Peterson Rules for Life/2026-05-27 Jordan Peterson: "Good Habits to Change Your Life"/Jordan Peterson: "Good Habits to Change Your Life" [Uq79WcEY9y4].mp4", "id" => "Uq79WcEY9y4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Uq79WcEY9y4", "playlist_index" => 39, "timestamp" => 1779899341, "title" => "Jordan Peterson: \"Good Habits to Change Your Life\"", "upload_date" => "20260527"} 21:08:54.504 [debug] QUERY OK source="sources" db=0.2ms idle=708.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:54.505 [debug] QUERY OK source="sources" db=0.1ms idle=709.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:54.506 [debug] QUERY OK source="media_items" db=0.3ms idle=709.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-27 16:29:01Z], 3] 21:08:54.511 [debug] QUERY OK source="media_items" db=3.9ms idle=380.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Are you feeling stuck in a cycle of bad habits and wondering how to finally break free? This isn't another generic motivational video. In this powerful 33‑minute lecture, Dr. Jordan Peterson goes beyond simple advice and uncovers the deep psychology behind why we form habits—and the brutally honest process of replacing the ones that are silently destroying your life.\n\nYou'll learn why comfort is often your biggest enemy, how to use radical truth-telling as a tool for change, and the simple \"micro‑corrections\" that actually compound into a completely transformed future.\n\n---\n\n📌 IN THIS VIDEO (Timestamps):\n00:00 – Why You're Still Stuck (The Brutal Truth)\n12:45 – \"Have You Had Enough of Yourself?\" The Starting Point\n17:20 – The One Question That Exposes Your Bad Habits\n12:10 – Telling the Truth: Your Sharpest Tool for Change\n17:50 – Pursuing Meaning Over Quick Fixes\n23:15 – The Power of Tiny, \"Ridiculously Small\" Actions\n28:30 – Practical Steps to Start Before You Go to Bed Tonight\n31:00 – How to Stay Disciplined When Motivation Fades\n\n---\n\n🎯 KEY TAKEAWAYS FROM THIS LECTURE:\n• The hidden psychological cost of avoiding who you could become.\n• Why \"cleaning your room\" is the ultimate first step to taking control.\n• How to use brutal self-honesty to rewire your brain and your daily routine.\n• The link between personal responsibility, meaning, and mental health.\n• A concrete plan to build success habits that actually last.\n\n---\n\n🔗 NEXT STEPS & RECOMMENDED RESOURCES:\nIf this video hit something real in you, please LIKE, SUBSCRIBE, and SHARE it with someone who needs to hear it. Every action helps more people find the tools to change.\n\n📖 Further Learning:\n· Jordan Peterson's 12 Rules for Life: An Antidote to Chaos\n· Jordan Peterson's Beyond Order: 12 More Rules for Life\n\n📢 Connect with Dr. Jordan B. Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n🎧 Listen to The Jordan B. Peterson Podcast:\n• Spotify: https://open.spotify.com/show/2bGpVpDx3FbjsGvHGHjHNn\n• Apple Podcasts: https://podcasts.apple.com/ca/podcast/the-jordan-b-peterson-podcast/id1184022695\n\n🔔 Don't Get Left Behind! If you're serious about personal growth, hit that subscribe button and turn on notifications. We release new, life-changing content daily.\n\n---\n\nDisclaimer: This video is for educational purposes only and is not a substitute for professional medical or psychological advice. If you are in crisis, please contact a licensed mental health professional in your country.\n\n#jordanpeterson #GoodHabits #ChangeYourLife #PersonalDevelopment #SelfImprovement #SuccessHabits #DailyRoutine #PsychologyLecture #MentalHealth #Motivation #lifeadvice", "Jordan Peterson: \"Good Habits to Change Your Life\"", "f0b6e621-b149-46f2-aff2-5c39759ee859", 2021, false, "Uq79WcEY9y4", "https://www.youtube.com/watch?v=Uq79WcEY9y4", 39, "/downloads/Jordan Peterson Rules for Life/2026-05-27 Jordan Peterson: "Good Habits to Change Your Life"/Jordan Peterson: "Good Habits to Change Your Life" [Uq79WcEY9y4].mp4", false, false, false, 3, [], 1, ~U[2026-05-27 16:29:01Z], ~U[2026-09-16 21:08:54Z], ~U[2026-09-16 21:08:54Z], "Are you feeling stuck in a cycle of bad habits and wondering how to finally break free? This isn't another generic motivational video. In this powerful 33‑minute lecture, Dr. Jordan Peterson goes beyond simple advice and uncovers the deep psychology behind why we form habits—and the brutally honest process of replacing the ones that are silently destroying your life.\n\nYou'll learn why comfort is often your biggest enemy, how to use radical truth-telling as a tool for change, and the simple \"micro‑corrections\" that actually compound into a completely transformed future.\n\n---\n\n📌 IN THIS VIDEO (Timestamps):\n00:00 – Why You're Still Stuck (The Brutal Truth)\n12:45 – \"Have You Had Enough of Yourself?\" The Starting Point\n17:20 – The One Question That Exposes Your Bad Habits\n12:10 – Telling the Truth: Your Sharpest Tool for Change\n17:50 – Pursuing Meaning Over Quick Fixes\n23:15 – The Power of Tiny, \"Ridiculously Small\" Actions\n28:30 – Practical Steps to Start Before You Go to Bed Tonight\n31:00 – How to Stay Disciplined When Motivation Fades\n\n---\n\n🎯 KEY TAKEAWAYS FROM THIS LECTURE:\n• The hidden psychological cost of avoiding who you could become.\n• Why \"cleaning your room\" is the ultimate first step to taking control.\n• How to use brutal self-honesty to rewire your brain and your daily routine.\n• The link between personal responsibility, meaning, and mental health.\n• A concrete plan to build success habits that actually last.\n\n---\n\n🔗 NEXT STEPS & RECOMMENDED RESOURCES:\nIf this video hit something real in you, please LIKE, SUBSCRIBE, and SHARE it with someone who needs to hear it. Every action helps more people find the tools to change.\n\n📖 Further Learning:\n· Jordan Peterson's 12 Rules for Life: An Antidote to Chaos\n· Jordan Peterson's Beyond Order: 12 More Rules for Life\n\n📢 Connect with Dr. Jordan B. Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n🎧 Listen to The Jordan B. Peterson Podcast:\n• Spotify: https://open.spotify.com/show/2bGpVpDx3FbjsGvHGHjHNn\n• Apple Podcasts: https://podcasts.apple.com/ca/podcast/the-jordan-b-peterson-podcast/id1184022695\n\n🔔 Don't Get Left Behind! If you're serious about personal growth, hit that subscribe button and turn on notifications. We release new, life-changing content daily.\n\n---\n\nDisclaimer: This video is for educational purposes only and is not a substitute for professional medical or psychological advice. If you are in crisis, please contact a licensed mental health professional in your country.\n\n#jordanpeterson #GoodHabits #ChangeYourLife #PersonalDevelopment #SelfImprovement #SuccessHabits #DailyRoutine #PsychologyLecture #MentalHealth #Motivation #lifeadvice", "Jordan Peterson: \"Good Habits to Change Your Life\"", 2021, false, "Uq79WcEY9y4", "https://www.youtube.com/watch?v=Uq79WcEY9y4", "/downloads/Jordan Peterson Rules for Life/2026-05-27 Jordan Peterson: "Good Habits to Change Your Life"/Jordan Peterson: "Good Habits to Change Your Life" [Uq79WcEY9y4].mp4", false, 3, ~U[2026-05-27 16:29:01Z]] 21:08:54.511 [debug] QUERY OK source="sources" db=0.2ms idle=344.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:54.512 [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] 21:08:54.512 [debug] QUERY OK source="media_items" db=0.3ms idle=6.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [42874] 21:08:54.512 [debug] Current batch of media processed. Will check again in 1000ms 21:08:55.513 [debug] Current batch of media processed. Will check again in 1000ms 21:08:56.515 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In light of Dr. Jordan B. Peterson’s Birthday, we are launching his newest course, Nietzsche: Further Down the Rabbit Hole today, available now on Peterson Academy.\n\nIn this course, Dr. Peterson guides students through Friedrich Nietzsche’s influential work, Beyond Good and Evil, drawing out insights on human nature, self-deception, suffering, and the dangers of nihilism, herd mentality, and short-term gratification in modern life. We analyze Nietzsche’s critique of philosophy, morality, religion, and institutions, along with key ideas such as the will to power, master versus slave morality, the “death of God,” and the free spirit.\n\nDr. Peterson critically engages Nietzsche’s framework, highlighting both its depth and limits, and proposes an alternative grounded in voluntary responsibility, competence, honesty, and reciprocal cooperation, emphasizing that meaning and stability arise when individuals take maximal responsibility for their own existence.\n\nLearn more at www.petersonacademy.com", "duration" => 4526, "filename" => "/downloads/Peterson Academy/2026-06-12 Dr. Jordan B. Peterson | Nietzsche: Further Down the Rabbit Hole/Dr. Jordan B. Peterson | Nietzsche: Further Down the Rabbit Hole [329Hdnssh_s].mp4", "id" => "329Hdnssh_s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=329Hdnssh_s", "playlist_index" => 40, "timestamp" => 1781299718, "title" => "Dr. Jordan B. Peterson | Nietzsche: Further Down the Rabbit Hole", "upload_date" => "20260612"} 21:08:56.515 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=719.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:56.516 [debug] QUERY OK source="sources" db=0.5ms idle=720.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:56.517 [debug] QUERY OK source="media_items" db=0.5ms idle=721.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-12 21:28:38Z], 3] 21:08:56.520 [debug] QUERY OK source="media_items" db=1.8ms idle=721.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In light of Dr. Jordan B. Peterson’s Birthday, we are launching his newest course, Nietzsche: Further Down the Rabbit Hole today, available now on Peterson Academy.\n\nIn this course, Dr. Peterson guides students through Friedrich Nietzsche’s influential work, Beyond Good and Evil, drawing out insights on human nature, self-deception, suffering, and the dangers of nihilism, herd mentality, and short-term gratification in modern life. We analyze Nietzsche’s critique of philosophy, morality, religion, and institutions, along with key ideas such as the will to power, master versus slave morality, the “death of God,” and the free spirit.\n\nDr. Peterson critically engages Nietzsche’s framework, highlighting both its depth and limits, and proposes an alternative grounded in voluntary responsibility, competence, honesty, and reciprocal cooperation, emphasizing that meaning and stability arise when individuals take maximal responsibility for their own existence.\n\nLearn more at www.petersonacademy.com", "Dr. Jordan B. Peterson | Nietzsche: Further Down the Rabbit Hole", "badb47ab-9e5a-434c-a9d0-7bdfdc04b51b", 4526, false, "329Hdnssh_s", "https://www.youtube.com/watch?v=329Hdnssh_s", 40, "/downloads/Peterson Academy/2026-06-12 Dr. Jordan B. Peterson | Nietzsche: Further Down the Rabbit Hole/Dr. Jordan B. Peterson | Nietzsche: Further Down the Rabbit Hole [329Hdnssh_s].mp4", false, false, false, 3, [], 1, ~U[2026-06-12 21:28:38Z], ~U[2026-09-16 21:08:56Z], ~U[2026-09-16 21:08:56Z], "In light of Dr. Jordan B. Peterson’s Birthday, we are launching his newest course, Nietzsche: Further Down the Rabbit Hole today, available now on Peterson Academy.\n\nIn this course, Dr. Peterson guides students through Friedrich Nietzsche’s influential work, Beyond Good and Evil, drawing out insights on human nature, self-deception, suffering, and the dangers of nihilism, herd mentality, and short-term gratification in modern life. We analyze Nietzsche’s critique of philosophy, morality, religion, and institutions, along with key ideas such as the will to power, master versus slave morality, the “death of God,” and the free spirit.\n\nDr. Peterson critically engages Nietzsche’s framework, highlighting both its depth and limits, and proposes an alternative grounded in voluntary responsibility, competence, honesty, and reciprocal cooperation, emphasizing that meaning and stability arise when individuals take maximal responsibility for their own existence.\n\nLearn more at www.petersonacademy.com", "Dr. Jordan B. Peterson | Nietzsche: Further Down the Rabbit Hole", 4526, false, "329Hdnssh_s", "https://www.youtube.com/watch?v=329Hdnssh_s", "/downloads/Peterson Academy/2026-06-12 Dr. Jordan B. Peterson | Nietzsche: Further Down the Rabbit Hole/Dr. Jordan B. Peterson | Nietzsche: Further Down the Rabbit Hole [329Hdnssh_s].mp4", false, 3, ~U[2026-06-12 21:28:38Z]] 21:08:56.520 [debug] QUERY OK source="sources" db=0.3ms idle=351.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:56.521 [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] 21:08:56.521 [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 [43676] 21:08:56.521 [debug] Current batch of media processed. Will check again in 1000ms 21:08:57.523 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Jetzt bei OLAKALA mit dem Code PODCAST 10% sparen: https://www.olakala.de/ (Werbung)\n\nMit dem Code tg spart ihr 10% auf eure PROZIS Bestellung https://www.prozis.com/de/de (Werbung)\n\nHIER GIBTS DIE LETZTEN TICKETS FÜR MEINE LIVE SHOW:\n\nhttps://www.myticket.de/de/tim-gabel-tickets#10229735699477\n\nWir suchen dich! Jetzt bei G-IN bewerben: \nhttps://g-in-gmbh.de/#jobs\n \n📲 Dein individueller MCI Trainingsplan in 2 Minuten! Spare maximal mit dem Code: \"TIM\". Neukunden testen 7 Tage gratis! https://mci.sng.link/Dlusp/ttona?_smtype=3 (Werbung)\n\nProf. Dr. Reinhard Genzel ist Astrophysiker, Nobelpreisträger für Physik und Direktor am Max-Planck-Institut für extraterrestrische Physik in Garching. Er hat über 30 Jahre lang das Zentrum unserer Galaxie beobachtet und dabei bewiesen, was vorher nur Theorie war: Dort sitzt ein supermassives Schwarzes Loch mit der Masse von vier Millionen Sonnen. Dafür hat er 2020 den Nobelpreis bekommen.\nIn dieser Folge sprechen wir darüber, wie man etwas erforscht, das per Definition unsichtbar ist. Wie es sich anfühlt, wenn die gesamte Wissenschaftswelt einen auslacht und man trotzdem weitermacht. Was Einsteins Relativitätstheorie mit seiner Arbeit zu tun hat und warum Einstein selbst nicht an das geglaubt hat, was Genzel am Ende bewiesen hat. Wir reden über die größten ungelösten Fragen der Physik, über Dunkle Materie, Dunkle Energie und die Frage ob wir das Universum jemals wirklich verstehen werden.\n\nViel Spaß mit dieser Folge!\n\nGastvorschläge für Podcasts gerne in die Kommentare oder an timgabelpodcastgast@gmail.com\n\n► Zu Prof. Dr. Reinhard Genzel:\nhttps://www.nobel.mpg.de/de/reinhard-genzel\nhttps://bsky.app/profile/mpe-garching.bsky.social\nwww.linkedin.com/company/mpe-garching\nwww.instagram.com/mpe_garching/\n\n► Tim Gabel Podcast auf Spotify: https://open.spotify.com/show/1KHKsb92bs1qeitk6QR8zV?si=0278f4c514ab49ca\n► Instagram: https://www.instagram.com/tim_gabel/\n► TikTok: https://www.tiktok.com/@tim_gabel\n\n00:00 Die Faszination der Astrophysik\n22:45 Der steinige Weg zum Nobelpreis: Rückschläge und Durchbrüche\n42:15 Was genau ist ein Schwarzes Loch? (Einfach erklärt)\n01:08:40 Die Entdeckung von Sagittarius A*: Ein historischer Moment in der Wissenschaft\n01:35:20 Das größte ungelöste Rätsel des Universums\n02:04:10 Wo die Physik an ihre Grenzen stößt\n02:28:45 Gibt es außerirdisches Leben? Ein Nobelpreisträger antwortet\n02:51:30 Der wichtigste Rat für ambitionierte junge Menschen", "duration" => 10828, "filename" => "/downloads/Tim Gabel/2026-04-13 PHYSIK-NOBELPREISTRÄGER: Selbst Einstein hätte das nicht geglaubt (Prof. Dr. Reinhard Genzel)/PHYSIK-NOBELPREISTRÄGER: Selbst Einstein hätte das nicht geglaubt (Prof. Dr. Reinhard Genzel) [XJgZO7-OOP8].mp4", "id" => "XJgZO7-OOP8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XJgZO7-OOP8", "playlist_index" => 41, "timestamp" => 1776096060, "title" => "PHYSIK-NOBELPREISTRÄGER: Selbst Einstein hätte das nicht geglaubt (Prof. Dr. Reinhard Genzel)", "upload_date" => "20260413"} 21:08:57.524 [debug] QUERY OK source="sources" db=0.2ms idle=1003.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:57.524 [debug] QUERY OK source="sources" db=0.2ms idle=1003.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:57.525 [debug] QUERY OK source="media_items" db=0.5ms idle=1003.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-13 16:01:00Z], 3] 21:08:57.528 [debug] QUERY OK source="media_items" db=2.4ms idle=1004.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Jetzt bei OLAKALA mit dem Code PODCAST 10% sparen: https://www.olakala.de/ (Werbung)\n\nMit dem Code tg spart ihr 10% auf eure PROZIS Bestellung https://www.prozis.com/de/de (Werbung)\n\nHIER GIBTS DIE LETZTEN TICKETS FÜR MEINE LIVE SHOW:\n\nhttps://www.myticket.de/de/tim-gabel-tickets#10229735699477\n\nWir suchen dich! Jetzt bei G-IN bewerben: \nhttps://g-in-gmbh.de/#jobs\n \n📲 Dein individueller MCI Trainingsplan in 2 Minuten! Spare maximal mit dem Code: \"TIM\". Neukunden testen 7 Tage gratis! https://mci.sng.link/Dlusp/ttona?_smtype=3 (Werbung)\n\nProf. Dr. Reinhard Genzel ist Astrophysiker, Nobelpreisträger für Physik und Direktor am Max-Planck-Institut für extraterrestrische Physik in Garching. Er hat über 30 Jahre lang das Zentrum unserer Galaxie beobachtet und dabei bewiesen, was vorher nur Theorie war: Dort sitzt ein supermassives Schwarzes Loch mit der Masse von vier Millionen Sonnen. Dafür hat er 2020 den Nobelpreis bekommen.\nIn dieser Folge sprechen wir darüber, wie man etwas erforscht, das per Definition unsichtbar ist. Wie es sich anfühlt, wenn die gesamte Wissenschaftswelt einen auslacht und man trotzdem weitermacht. Was Einsteins Relativitätstheorie mit seiner Arbeit zu tun hat und warum Einstein selbst nicht an das geglaubt hat, was Genzel am Ende bewiesen hat. Wir reden über die größten ungelösten Fragen der Physik, über Dunkle Materie, Dunkle Energie und die Frage ob wir das Universum jemals wirklich verstehen werden.\n\nViel Spaß mit dieser Folge!\n\nGastvorschläge für Podcasts gerne in die Kommentare oder an timgabelpodcastgast@gmail.com\n\n► Zu Prof. Dr. Reinhard Genzel:\nhttps://www.nobel.mpg.de/de/reinhard-genzel\nhttps://bsky.app/profile/mpe-garching.bsky.social\nwww.linkedin.com/company/mpe-garching\nwww.instagram.com/mpe_garching/\n\n► Tim Gabel Podcast auf Spotify: https://open.spotify.com/show/1KHKsb92bs1qeitk6QR8zV?si=0278f4c514ab49ca\n► Instagram: https://www.instagram.com/tim_gabel/\n► TikTok: https://www.tiktok.com/@tim_gabel\n\n00:00 Die Faszination der Astrophysik\n22:45 Der steinige Weg zum Nobelpreis: Rückschläge und Durchbrüche\n42:15 Was genau ist ein Schwarzes Loch? (Einfach erklärt)\n01:08:40 Die Entdeckung von Sagittarius A*: Ein historischer Moment in der Wissenschaft\n01:35:20 Das größte ungelöste Rätsel des Universums\n02:04:10 Wo die Physik an ihre Grenzen stößt\n02:28:45 Gibt es außerirdisches Leben? Ein Nobelpreisträger antwortet\n02:51:30 Der wichtigste Rat für ambitionierte junge Menschen", "PHYSIK-NOBELPREISTRÄGER: Selbst Einstein hätte das nicht geglaubt (Prof. Dr. Reinhard Genzel)", "cfca96bb-3c7a-4a48-8027-316727cad3bf", 10828, false, "XJgZO7-OOP8", "https://www.youtube.com/watch?v=XJgZO7-OOP8", 41, "/downloads/Tim Gabel/2026-04-13 PHYSIK-NOBELPREISTRÄGER: Selbst Einstein hätte das nicht geglaubt (Prof. Dr. Reinhard Genzel)/PHYSIK-NOBELPREISTRÄGER: Selbst Einstein hätte das nicht geglaubt (Prof. Dr. Reinhard Genzel) [XJgZO7-OOP8].mp4", false, false, false, 3, [], 1, ~U[2026-04-13 16:01:00Z], ~U[2026-09-16 21:08:57Z], ~U[2026-09-16 21:08:57Z], "Jetzt bei OLAKALA mit dem Code PODCAST 10% sparen: https://www.olakala.de/ (Werbung)\n\nMit dem Code tg spart ihr 10% auf eure PROZIS Bestellung https://www.prozis.com/de/de (Werbung)\n\nHIER GIBTS DIE LETZTEN TICKETS FÜR MEINE LIVE SHOW:\n\nhttps://www.myticket.de/de/tim-gabel-tickets#10229735699477\n\nWir suchen dich! Jetzt bei G-IN bewerben: \nhttps://g-in-gmbh.de/#jobs\n \n📲 Dein individueller MCI Trainingsplan in 2 Minuten! Spare maximal mit dem Code: \"TIM\". Neukunden testen 7 Tage gratis! https://mci.sng.link/Dlusp/ttona?_smtype=3 (Werbung)\n\nProf. Dr. Reinhard Genzel ist Astrophysiker, Nobelpreisträger für Physik und Direktor am Max-Planck-Institut für extraterrestrische Physik in Garching. Er hat über 30 Jahre lang das Zentrum unserer Galaxie beobachtet und dabei bewiesen, was vorher nur Theorie war: Dort sitzt ein supermassives Schwarzes Loch mit der Masse von vier Millionen Sonnen. Dafür hat er 2020 den Nobelpreis bekommen.\nIn dieser Folge sprechen wir darüber, wie man etwas erforscht, das per Definition unsichtbar ist. Wie es sich anfühlt, wenn die gesamte Wissenschaftswelt einen auslacht und man trotzdem weitermacht. Was Einsteins Relativitätstheorie mit seiner Arbeit zu tun hat und warum Einstein selbst nicht an das geglaubt hat, was Genzel am Ende bewiesen hat. Wir reden über die größten ungelösten Fragen der Physik, über Dunkle Materie, Dunkle Energie und die Frage ob wir das Universum jemals wirklich verstehen werden.\n\nViel Spaß mit dieser Folge!\n\nGastvorschläge für Podcasts gerne in die Kommentare oder an timgabelpodcastgast@gmail.com\n\n► Zu Prof. Dr. Reinhard Genzel:\nhttps://www.nobel.mpg.de/de/reinhard-genzel\nhttps://bsky.app/profile/mpe-garching.bsky.social\nwww.linkedin.com/company/mpe-garching\nwww.instagram.com/mpe_garching/\n\n► Tim Gabel Podcast auf Spotify: https://open.spotify.com/show/1KHKsb92bs1qeitk6QR8zV?si=0278f4c514ab49ca\n► Instagram: https://www.instagram.com/tim_gabel/\n► TikTok: https://www.tiktok.com/@tim_gabel\n\n00:00 Die Faszination der Astrophysik\n22:45 Der steinige Weg zum Nobelpreis: Rückschläge und Durchbrüche\n42:15 Was genau ist ein Schwarzes Loch? (Einfach erklärt)\n01:08:40 Die Entdeckung von Sagittarius A*: Ein historischer Moment in der Wissenschaft\n01:35:20 Das größte ungelöste Rätsel des Universums\n02:04:10 Wo die Physik an ihre Grenzen stößt\n02:28:45 Gibt es außerirdisches Leben? Ein Nobelpreisträger antwortet\n02:51:30 Der wichtigste Rat für ambitionierte junge Menschen", "PHYSIK-NOBELPREISTRÄGER: Selbst Einstein hätte das nicht geglaubt (Prof. Dr. Reinhard Genzel)", 10828, false, "XJgZO7-OOP8", "https://www.youtube.com/watch?v=XJgZO7-OOP8", "/downloads/Tim Gabel/2026-04-13 PHYSIK-NOBELPREISTRÄGER: Selbst Einstein hätte das nicht geglaubt (Prof. Dr. Reinhard Genzel)/PHYSIK-NOBELPREISTRÄGER: Selbst Einstein hätte das nicht geglaubt (Prof. Dr. Reinhard Genzel) [XJgZO7-OOP8].mp4", false, 3, ~U[2026-04-13 16:01:00Z]] 21:08:57.529 [debug] QUERY OK source="sources" db=0.1ms idle=356.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:57.529 [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] 21:08:57.530 [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 [43717] 21:08:57.530 [debug] Current batch of media processed. Will check again in 1000ms 21:08:58.533 [debug] Current batch of media processed. Will check again in 1000ms 21:08:59.534 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Brauchst du Unterstützung? \nBesuche https://betterhelp.com/timgabel,\num 10 % Rabatt auf deinen ersten Monat der Beratung mit unserem Sponsor BetterHelp zu erhalten (Werbung)\n\nJetzt bei OLAKALA mit dem Code PODCAST 10% sparen: https://www.olakala.de/ (Werbung)\n\nMit meinem Code TG bekommst du mindestens 10 % Rabatt bei PROZIS + Goodies: https://prozis.com/1L4g5 (Werbung)\n\nWir suchen dich! Jetzt bei G-IN bewerben: \nhttps://g-in-gmbh.de/#jobs\n \n📲 Dein individueller MCI Trainingsplan in 2 Minuten! Spare maximal mit dem Code: \"TIM\". Neukunden testen 7 Tage gratis! https://mci.sng.link/Dlusp/ttona?_smtype=3 (Werbung)\n\nChristian Solmecke ist der wahrscheinlich bekannteste Anwalt Deutschlands und das fast ausschließlich, weil er vor 15 Jahren als einer der ersten auf die Idee kam, Jura auf YouTube zu erklären. Heute hat sein Kanal über eine Million Abonnenten, seine Kanzlei WBS.LEGAL bearbeitet Massenverfahren mit Zehntausenden Mandanten, und 60 bis 70 Prozent seiner Mandate kommen über den Kanal rein.\nIn der Folge spricht Christian offen über das Geschäftsmodell hinter dem YouTube-Anwalt, die deutsche Abmahn-Industrie und warum er an einer Hochschule Markenrecht ausgerechnet am Beispiel von ApoRed und Drachenlord unterrichtet. \n\nWir gehen den Fall Collien Fernandes und das neue Deepfake-Gesetz durch, er erzählt von der schwersten Krise seiner Kanzlei kurz vor Weihnachten 2024 und davon, wie er als Angestellter mehr Umsatz reingeholt hat als beide Partner zusammen und damit seinen Weg zum Kanzlei-Partner erzwungen hat. \n\nWas kostet Christian als Anwalt eigentlich, macht KI seinen Beruf bald überflüssig, und kann man ChatGPT inzwischen wirklich als Anwalt-Ersatz nutzen?\n\nViel Spaß mit dem Podcast!\n\nGastvorschläge für Podcasts gerne in die Kommentare oder an timgabelpodcastgast@gmail.com\n\n► Zu Christian Solmecke: @wbs_legal \n\n► Tim Gabel Podcast auf Spotify: https://open.spotify.com/show/1KHKsb92bs1qeitk6QR8zV?si=0278f4c514ab49ca\n► Instagram: https://www.instagram.com/tim_gabel/\n► TikTok: https://www.tiktok.com/@tim_gabel\n\n00:00:00 Das Millionen-Business YouTube-Anwalt\n00:15:16 Die deutsche Abmahn-Industrie\n00:40:26 ApoRed & Drachenlord in der Uni\n00:57:30 Strafbare Deepfakes: Der Fall Collien Fernandes\n01:34:18 Die schwerste Krise seiner Kanzlei\n02:01:17 Der harte Weg zum Kanzlei-Partner\n02:39:25 Macht KI Anwälte bald arbeitslos?\n02:58:11 Wie viel kostet Christian Solmecke als Anwalt?\n03:08:20 Kann man ChatGPT als Anwalt nutzen?", "duration" => 12998, "filename" => "/downloads/Tim Gabel/2026-05-03 CHRISTIAN SOLMECKE: Der Fall ApoRed, Drachenlord & wie ich von Karl Ess mein Geld zurückbekomme/CHRISTIAN SOLMECKE: Der Fall ApoRed, Drachenlord & wie ich von Karl Ess mein Geld zurückbekomme [cadM-LGDyAM].mp4", "id" => "cadM-LGDyAM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cadM-LGDyAM", "playlist_index" => 42, "timestamp" => 1777802462, "title" => "CHRISTIAN SOLMECKE: Der Fall ApoRed, Drachenlord & wie ich von Karl Ess mein Geld zurückbekomme", "upload_date" => "20260503"} 21:08:59.534 [debug] QUERY OK source="sources" db=0.2ms idle=738.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:08:59.535 [debug] QUERY OK source="sources" db=0.3ms idle=739.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:59.536 [debug] QUERY OK source="media_items" db=0.4ms idle=739.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-03 10:01:02Z], 3] 21:08:59.540 [debug] QUERY OK source="media_items" db=2.8ms idle=740.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Brauchst du Unterstützung? \nBesuche https://betterhelp.com/timgabel,\num 10 % Rabatt auf deinen ersten Monat der Beratung mit unserem Sponsor BetterHelp zu erhalten (Werbung)\n\nJetzt bei OLAKALA mit dem Code PODCAST 10% sparen: https://www.olakala.de/ (Werbung)\n\nMit meinem Code TG bekommst du mindestens 10 % Rabatt bei PROZIS + Goodies: https://prozis.com/1L4g5 (Werbung)\n\nWir suchen dich! Jetzt bei G-IN bewerben: \nhttps://g-in-gmbh.de/#jobs\n \n📲 Dein individueller MCI Trainingsplan in 2 Minuten! Spare maximal mit dem Code: \"TIM\". Neukunden testen 7 Tage gratis! https://mci.sng.link/Dlusp/ttona?_smtype=3 (Werbung)\n\nChristian Solmecke ist der wahrscheinlich bekannteste Anwalt Deutschlands und das fast ausschließlich, weil er vor 15 Jahren als einer der ersten auf die Idee kam, Jura auf YouTube zu erklären. Heute hat sein Kanal über eine Million Abonnenten, seine Kanzlei WBS.LEGAL bearbeitet Massenverfahren mit Zehntausenden Mandanten, und 60 bis 70 Prozent seiner Mandate kommen über den Kanal rein.\nIn der Folge spricht Christian offen über das Geschäftsmodell hinter dem YouTube-Anwalt, die deutsche Abmahn-Industrie und warum er an einer Hochschule Markenrecht ausgerechnet am Beispiel von ApoRed und Drachenlord unterrichtet. \n\nWir gehen den Fall Collien Fernandes und das neue Deepfake-Gesetz durch, er erzählt von der schwersten Krise seiner Kanzlei kurz vor Weihnachten 2024 und davon, wie er als Angestellter mehr Umsatz reingeholt hat als beide Partner zusammen und damit seinen Weg zum Kanzlei-Partner erzwungen hat. \n\nWas kostet Christian als Anwalt eigentlich, macht KI seinen Beruf bald überflüssig, und kann man ChatGPT inzwischen wirklich als Anwalt-Ersatz nutzen?\n\nViel Spaß mit dem Podcast!\n\nGastvorschläge für Podcasts gerne in die Kommentare oder an timgabelpodcastgast@gmail.com\n\n► Zu Christian Solmecke: @wbs_legal \n\n► Tim Gabel Podcast auf Spotify: https://open.spotify.com/show/1KHKsb92bs1qeitk6QR8zV?si=0278f4c514ab49ca\n► Instagram: https://www.instagram.com/tim_gabel/\n► TikTok: https://www.tiktok.com/@tim_gabel\n\n00:00:00 Das Millionen-Business YouTube-Anwalt\n00:15:16 Die deutsche Abmahn-Industrie\n00:40:26 ApoRed & Drachenlord in der Uni\n00:57:30 Strafbare Deepfakes: Der Fall Collien Fernandes\n01:34:18 Die schwerste Krise seiner Kanzlei\n02:01:17 Der harte Weg zum Kanzlei-Partner\n02:39:25 Macht KI Anwälte bald arbeitslos?\n02:58:11 Wie viel kostet Christian Solmecke als Anwalt?\n03:08:20 Kann man ChatGPT als Anwalt nutzen?", "CHRISTIAN SOLMECKE: Der Fall ApoRed, Drachenlord & wie ich von Karl Ess mein Geld zurückbekomme", "1446694c-aadc-46f0-abad-750c8c0dc600", 12998, false, "cadM-LGDyAM", "https://www.youtube.com/watch?v=cadM-LGDyAM", 42, "/downloads/Tim Gabel/2026-05-03 CHRISTIAN SOLMECKE: Der Fall ApoRed, Drachenlord & wie ich von Karl Ess mein Geld zurückbekomme/CHRISTIAN SOLMECKE: Der Fall ApoRed, Drachenlord & wie ich von Karl Ess mein Geld zurückbekomme [cadM-LGDyAM].mp4", false, false, false, 3, [], 2, ~U[2026-05-03 10:01:02Z], ~U[2026-09-16 21:08:59Z], ~U[2026-09-16 21:08:59Z], "Brauchst du Unterstützung? \nBesuche https://betterhelp.com/timgabel,\num 10 % Rabatt auf deinen ersten Monat der Beratung mit unserem Sponsor BetterHelp zu erhalten (Werbung)\n\nJetzt bei OLAKALA mit dem Code PODCAST 10% sparen: https://www.olakala.de/ (Werbung)\n\nMit meinem Code TG bekommst du mindestens 10 % Rabatt bei PROZIS + Goodies: https://prozis.com/1L4g5 (Werbung)\n\nWir suchen dich! Jetzt bei G-IN bewerben: \nhttps://g-in-gmbh.de/#jobs\n \n📲 Dein individueller MCI Trainingsplan in 2 Minuten! Spare maximal mit dem Code: \"TIM\". Neukunden testen 7 Tage gratis! https://mci.sng.link/Dlusp/ttona?_smtype=3 (Werbung)\n\nChristian Solmecke ist der wahrscheinlich bekannteste Anwalt Deutschlands und das fast ausschließlich, weil er vor 15 Jahren als einer der ersten auf die Idee kam, Jura auf YouTube zu erklären. Heute hat sein Kanal über eine Million Abonnenten, seine Kanzlei WBS.LEGAL bearbeitet Massenverfahren mit Zehntausenden Mandanten, und 60 bis 70 Prozent seiner Mandate kommen über den Kanal rein.\nIn der Folge spricht Christian offen über das Geschäftsmodell hinter dem YouTube-Anwalt, die deutsche Abmahn-Industrie und warum er an einer Hochschule Markenrecht ausgerechnet am Beispiel von ApoRed und Drachenlord unterrichtet. \n\nWir gehen den Fall Collien Fernandes und das neue Deepfake-Gesetz durch, er erzählt von der schwersten Krise seiner Kanzlei kurz vor Weihnachten 2024 und davon, wie er als Angestellter mehr Umsatz reingeholt hat als beide Partner zusammen und damit seinen Weg zum Kanzlei-Partner erzwungen hat. \n\nWas kostet Christian als Anwalt eigentlich, macht KI seinen Beruf bald überflüssig, und kann man ChatGPT inzwischen wirklich als Anwalt-Ersatz nutzen?\n\nViel Spaß mit dem Podcast!\n\nGastvorschläge für Podcasts gerne in die Kommentare oder an timgabelpodcastgast@gmail.com\n\n► Zu Christian Solmecke: @wbs_legal \n\n► Tim Gabel Podcast auf Spotify: https://open.spotify.com/show/1KHKsb92bs1qeitk6QR8zV?si=0278f4c514ab49ca\n► Instagram: https://www.instagram.com/tim_gabel/\n► TikTok: https://www.tiktok.com/@tim_gabel\n\n00:00:00 Das Millionen-Business YouTube-Anwalt\n00:15:16 Die deutsche Abmahn-Industrie\n00:40:26 ApoRed & Drachenlord in der Uni\n00:57:30 Strafbare Deepfakes: Der Fall Collien Fernandes\n01:34:18 Die schwerste Krise seiner Kanzlei\n02:01:17 Der harte Weg zum Kanzlei-Partner\n02:39:25 Macht KI Anwälte bald arbeitslos?\n02:58:11 Wie viel kostet Christian Solmecke als Anwalt?\n03:08:20 Kann man ChatGPT als Anwalt nutzen?", "CHRISTIAN SOLMECKE: Der Fall ApoRed, Drachenlord & wie ich von Karl Ess mein Geld zurückbekomme", 12998, false, "cadM-LGDyAM", "https://www.youtube.com/watch?v=cadM-LGDyAM", "/downloads/Tim Gabel/2026-05-03 CHRISTIAN SOLMECKE: Der Fall ApoRed, Drachenlord & wie ich von Karl Ess mein Geld zurückbekomme/CHRISTIAN SOLMECKE: Der Fall ApoRed, Drachenlord & wie ich von Karl Ess mein Geld zurückbekomme [cadM-LGDyAM].mp4", false, 3, ~U[2026-05-03 10:01:02Z]] 21:08:59.540 [debug] QUERY OK source="sources" db=0.2ms idle=365.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:08:59.541 [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] 21:08:59.541 [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 [44522] 21:08:59.542 [debug] Current batch of media processed. Will check again in 1000ms 21:09:00.281 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:09:00.543 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, my guest is Dr. Jordan Peterson, Ph.D., psychologist, professor emeritus at the University of Toronto, best-selling author, and prominent online educator. We discuss the biology of human emotions and motivations, healthy versus destructive impulses, addictions, and generative drives. Topics include how brain states shape decision-making—for better or worse—and how religion and culture can guide us toward and through the best paths in life. \n\nWe also explore the innate human drive to create \"impact at a distance\" and how it influences social interactions, educational pursuits, career choices, and relationships. Additional subjects include morality, social media, politics, the human appetite for drama, and the importance of embracing responsibility as a form of adventure to avoid wasting time. \n\nListeners will gain practical knowledge from psychology, neuroscience, philosophy, and religion.\n\nRead the full show notes: https://go.hubermanlab.com/3qKWtpF\n\nGet summaries, clips, and insights from this episode with Ask Huberman Lab, our zero-cost chat-based tool: https://go.hubermanlab.com/OKw9EDv\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman\nDavid: https://davidprotein.com/huberman\nLevels: https://levels.link/huberman\nROKA: https://roka.com/huberman\nFunction: https://functionhealth.com/huberman\nLMNT: https://drinklmnt.com/huberman\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nTwitter: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*More Huberman Lab*\nHuberman Lab Premium: https://go.hubermanlab.com/premium\nHuberman Lab Merch: https://go.hubermanlab.com/merch\n\n*Dr. Jordan Peterson*\nWebsite: https://www.jordanbpeterson.com \nUniversity of Toronto academic profile: https://www.psych.utoronto.ca/people/directories/all-faculty/jordan-peterson \nBooks: https://amzlink.to/az0woBkDzpJTZ\nThe Jordan B. Peterson Podcast: https://www.jordanbpeterson.com/podcast\nPeterson Academy: https://petersonacademy.com \nTour: https://www.jordanbpeterson.com/events\nThe Gospels: https://www.dailywire.com/show/the-gospels \nYouTube: https://www.youtube.com/c/jordanpetersonvideos \nInstagram: https://www.instagram.com/jordan.b.peterson \nX: https://x.com/jordanbpeterson \nTikTok: https://www.tiktok.com/@dr.jordan.b.peterson \n\n*Timestamps*\n00:00:00 Dr. Jordan Peterson\n00:02:32 Sponsors: David & Levels\n00:05:19 Brain, Impulses, Integration, Personalities\n00:14:08 Personalities, Motivation\n00:18:18 Context & Children; Religion, Motivation & Personality\n00:24:08 Hypothalamus, Context, Maturation\n00:29:46 Psychopathy, Kids & Aggressive Behavior & Socialization\n00:33:37 Polytheistic & Monotheistic Religions; Rage, Sociopathy & Addiction\n00:41:05 Sponsors: AG1 & ROKA\n00:43:58 Belief in God, Addiction\n00:50:34 Pornography, Dopamine, Processed Foods\n00:56:20 Clean Diet, Satiety; Fundamental Pleasures, Food, Sexuality\n01:04:44 Power, Target, Sin\n01:06:46 Sponsor: Function\n01:08:33 Abraham; Call to Adventure, Success, Respect, Community\n01:21:30 Wisdom, Noah; Religion, Incentive Structure & Motivation\n01:26:52 Dopamine & Target, Sin; Frontal Eye Fields\n01:31:59 Meta-Target & Goals, Sermon on the Mount; Fears\n01:40:36 Sponsor: LMNT\n01:41:51 Ultimate vs. Local Victory, Pearl of Great Price\n01:45:05 Time Scales & Rewards; Entropy, Dopamine & Goals\n01:51:20 Pornography, Effortless Gratification; Revelation & Sexuality Demise\n02:02:33 Adventure & Responsibility, Sacrifice; Tool: Ordering Room\n02:12:02 Storytelling, Science, Career Advancement, Pursuing Truth\n02:23:46 Abraham & Adventure; Purposeful Satisfaction, Podcast\n02:28:13 Finding Your Calling, Tools: Calling & Conscience; Creating Order\n02:35:06 Order vs. Chaos; Public Shootings, Narcis" <> ..., "duration" => 13870, "filename" => "/downloads/Andrew Huberman/2024-12-30 How to Best Guide Your Life Decisions & Path | Dr. Jordan Peterson/How to Best Guide Your Life Decisions & Path | Dr. Jordan Peterson [K0hkhbGYaGQ].mp4", "id" => "K0hkhbGYaGQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=K0hkhbGYaGQ", "playlist_index" => 43, "timestamp" => 1735563621, "title" => "How to Best Guide Your Life Decisions & Path | Dr. Jordan Peterson", "upload_date" => "20241230"} 21:09:00.544 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1003.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:09:00.545 [debug] QUERY OK source="sources" db=0.7ms idle=1003.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:00.546 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1003.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-30 13:00:21Z], 3] 21:09:00.556 [debug] QUERY OK source="media_items" db=9.0ms idle=369.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, my guest is Dr. Jordan Peterson, Ph.D., psychologist, professor emeritus at the University of Toronto, best-selling author, and prominent online educator. We discuss the biology of human emotions and motivations, healthy versus destructive impulses, addictions, and generative drives. Topics include how brain states shape decision-making—for better or worse—and how religion and culture can guide us toward and through the best paths in life. \n\nWe also explore the innate human drive to create \"impact at a distance\" and how it influences social interactions, educational pursuits, career choices, and relationships. Additional subjects include morality, social media, politics, the human appetite for drama, and the importance of embracing responsibility as a form of adventure to avoid wasting time. \n\nListeners will gain practical knowledge from psychology, neuroscience, philosophy, and religion.\n\nRead the full show notes: https://go.hubermanlab.com/3qKWtpF\n\nGet summaries, clips, and insights from this episode with Ask Huberman Lab, our zero-cost chat-based tool: https://go.hubermanlab.com/OKw9EDv\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman\nDavid: https://davidprotein.com/huberman\nLevels: https://levels.link/huberman\nROKA: https://roka.com/huberman\nFunction: https://functionhealth.com/huberman\nLMNT: https://drinklmnt.com/huberman\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nTwitter: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*More Huberman Lab*\nHuberman Lab Premium: https://go.hubermanlab.com/premium\nHuberman Lab Merch: https://go.hubermanlab.com/merch\n\n*Dr. Jordan Peterson*\nWebsite: https://www.jordanbpeterson.com \nUniversity of Toronto academic profile: https://www.psych.utoronto.ca/people/directories/all-faculty/jordan-peterson \nBooks: https://amzlink.to/az0woBkDzpJTZ\nThe Jordan B. Peterson Podcast: https://www.jordanbpeterson.com/podcast\nPeterson Academy: https://petersonacademy.com \nTour: https://www.jordanbpeterson.com/events\nThe Gospels: https://www.dailywire.com/show/the-gospels \nYouTube: https://www.youtube.com/c/jordanpetersonvideos \nInstagram: https://www.instagram.com/jordan.b.peterson \nX: https://x.com/jordanbpeterson \nTikTok: https://www.tiktok.com/@dr.jordan.b.peterson \n\n*Timestamps*\n00:00:00 Dr. Jordan Peterson\n00:02:32 Sponsors: David & Levels\n00:05:19 Brain, Impulses, Integration, Personalities\n00:14:08 Personalities, Motivation\n00:18:18 Context & Children; Religion, Motivation & Personality\n00:24:08 Hypothalamus, Context, Maturation\n00:29:46 Psychopathy, Kids & Aggressive Behavior & Socialization\n00:33:37 Polytheistic & Monotheistic Religions; Rage, Sociopathy & Addiction\n00:41:05 Sponsors: AG1 & ROKA\n00:43:58 Belief in God, Addiction\n00:50:34 Pornography, Dopamine, Processed Foods\n00:56:20 Clean Diet, Satiety; Fundamental Pleasures, Food, Sexuality\n01:04:44 Power, Target, Sin\n01:06:46 Sponsor: Function\n01:08:33 Abraham; Call to Adventure, Success, Respect, Community\n01:21:30 Wisdom, Noah; Religion, Incentive Structure & Motivation\n01:26:52 Dopamine & Target, Sin; Frontal Eye Fields\n01:31:59 Meta-Target & Goals, Sermon on the Mount; Fears\n01:40:36 Sponsor: LMNT\n01:41:51 Ultimate vs. Local Victory, Pearl of Great Price\n01:45:05 Time Scales & Rewards; Entropy, Dopamine & Goals\n01:51:20 Pornography, Effortless Gratification; Revelation & Sexuality Demise\n02:02:33 Adventure & Responsibility, Sacrifice; Tool: Ordering Room\n02:12:02 Storytelling, Science, Career Advancement, Pursuing Truth\n02:23:46 Abraham & Adventure; Purposeful Satisfaction, Podcast\n02:28:13 Finding Your Calling, Tools: Calling & Conscience; Creating Order\n02:35:06 Order vs. Chaos; Public Shootings, Narcis" <> ..., "How to Best Guide Your Life Decisions & Path | Dr. Jordan Peterson", "a6f16e2d-6d4b-40f0-93bb-d36f705bb121", 13870, false, "K0hkhbGYaGQ", "https://www.youtube.com/watch?v=K0hkhbGYaGQ", 43, "/downloads/Andrew Huberman/2024-12-30 How to Best Guide Your Life Decisions & Path | Dr. Jordan Peterson/How to Best Guide Your Life Decisions & Path | Dr. Jordan Peterson [K0hkhbGYaGQ].mp4", false, false, false, 3, [], 1, ~U[2024-12-30 13:00:21Z], ~U[2026-09-16 21:09:00Z], ~U[2026-09-16 21:09:00Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, my guest is Dr. Jordan Peterson, Ph.D., psychologist, professor emeritus at the University of Toronto, best-selling author, and prominent online educator. We discuss the biology of human emotions and motivations, healthy versus destructive impulses, addictions, and generative drives. Topics include how brain states shape decision-making—for better or worse—and how religion and culture can guide us toward and through the best paths in life. \n\nWe also explore the innate human drive to create \"impact at a distance\" and how it influences social interactions, educational pursuits, career choices, and relationships. Additional subjects include morality, social media, politics, the human appetite for drama, and the importance of embracing responsibility as a form of adventure to avoid wasting time. \n\nListeners will gain practical knowledge from psychology, neuroscience, philosophy, and religion.\n\nRead the full show notes: https://go.hubermanlab.com/3qKWtpF\n\nGet summaries, clips, and insights from this episode with Ask Huberman Lab, our zero-cost chat-based tool: https://go.hubermanlab.com/OKw9EDv\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman\nDavid: https://davidprotein.com/huberman\nLevels: https://levels.link/huberman\nROKA: https://roka.com/huberman\nFunction: https://functionhealth.com/huberman\nLMNT: https://drinklmnt.com/huberman\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nTwitter: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*More Huberman Lab*\nHuberman Lab Premium: https://go.hubermanlab.com/premium\nHuberman Lab Merch: https://go.hubermanlab.com/merch\n\n*Dr. Jordan Peterson*\nWebsite: https://www.jordanbpeterson.com \nUniversity of Toronto academic profile: https://www.psych.utoronto.ca/people/directories/all-faculty/jordan-peterson \nBooks: https://amzlink.to/az0woBkDzpJTZ\nThe Jordan B. Peterson Podcast: https://www.jordanbpeterson.com/podcast\nPeterson Academy: https://petersonacademy.com \nTour: https://www.jordanbpeterson.com/events\nThe Gospels: https://www.dailywire.com/show/the-gospels \nYouTube: https://www.youtube.com/c/jordanpetersonvideos \nInstagram: https://www.instagram.com/jordan.b.peterson \nX: https://x.com/jordanbpeterson \nTikTok: https://www.tiktok.com/@dr.j (truncated) 21:09:00.557 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=275.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:00.557 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.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] 21:09:00.558 [debug] QUERY OK source="media_items" db=0.2ms idle=12.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [44523] 21:09:00.558 [debug] Current batch of media processed. Will check again in 1000ms 21:09:01.559 [debug] Current batch of media processed. Will check again in 1000ms 21:09:02.560 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 2.0, "description" => "Dr Andrew Huberman is a neuroscientist, Associate Professor at the Stanford University School of Medicine and a podcaster.\n\nThere’s an overwhelming amount of information on how to level up your body and mind, and it can be difficult to know where the latest science truly stands. Thankfully, Dr. Andrew Huberman breaks down the research on habits, the brain, sleep, supplements, and his personal go-to protocols.\n\nExpect to learn why high cortisol isn’t actually a bad think to have a lot of, Andrew’s advice on how to overcome burnout, what the new science of better sleep would be, how to make and set better habits easier, what Andrew thinks of the new “protein in everything” trend, the next wave of supplements to take to optimise your life, Andrew’s take on religion and faith and much more…\n\n-\n\n0:00 How Cortisol Programs Our Day\n9:22 Understanding Stress & Burnout\n14:16 The Silent Cost of Sleep Debt\n21:47 Breakthrough Secrets for Better Sleep\n36:19 Should We Sleep With Our Head Raised?\n51:44 The #1 Hack for Deep Focus\n01:08:08 The Science of Spirituality\n01:25:28 How Much Can We Control Our Internal World?\n01:33:38 Why Understanding People Changes Everything\n01:46:35 Healthy Media Habits\n02:06:28 The Next Breakthrough Supplement\n02:25:09 The Nutrient That Heals Your Second Brain\n02:31:24 Hacking Your Mitochondrial DNA\n02:39:55 Making Sense of Complex Health Issues\n03:04:02 Andrew’s Upcoming Book\n\n-\n\nGet a Free Sample Pack of LMNT’s most popular flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\nGet a free bottle of D3K2, an AG1 Welcome Kit, and more when you first subscribe at https://ag1.info/modernwisdom\n\nGet 35% off your first subscription on the best supplements from Momentous at https://livemomentous.com/modernwisdom\n\nNew pricing since recording: Function is now just $365, plus get $25 off at https://functionhealth.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spotify.modernwisdom.com or Apple Podcasts - https://apple.modernwisdom.com\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "duration" => 11136, "filename" => "/downloads/Chris Williamson/2026-01-05 These Habits Are Much Better than People Realise - Dr Andrew Huberman (4K)/These Habits Are Much Better than People Realise - Dr Andrew Huberman (4K) [YvWU4Zd-IMc].mp4", "id" => "YvWU4Zd-IMc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=YvWU4Zd-IMc", "playlist_index" => 44, "timestamp" => 1767628854, "title" => "These Habits Are Much Better than People Realise - Dr Andrew Huberman (4K)", "upload_date" => "20260105"} 21:09:02.561 [debug] QUERY OK source="sources" db=0.4ms idle=764.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:09:02.562 [debug] QUERY OK source="sources" db=0.5ms idle=765.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:02.563 [debug] QUERY OK source="media_items" db=0.7ms idle=766.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-05 16:00:54Z], 3] 21:09:02.615 [debug] QUERY OK source="media_items" db=51.0ms idle=767.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dr Andrew Huberman is a neuroscientist, Associate Professor at the Stanford University School of Medicine and a podcaster.\n\nThere’s an overwhelming amount of information on how to level up your body and mind, and it can be difficult to know where the latest science truly stands. Thankfully, Dr. Andrew Huberman breaks down the research on habits, the brain, sleep, supplements, and his personal go-to protocols.\n\nExpect to learn why high cortisol isn’t actually a bad think to have a lot of, Andrew’s advice on how to overcome burnout, what the new science of better sleep would be, how to make and set better habits easier, what Andrew thinks of the new “protein in everything” trend, the next wave of supplements to take to optimise your life, Andrew’s take on religion and faith and much more…\n\n-\n\n0:00 How Cortisol Programs Our Day\n9:22 Understanding Stress & Burnout\n14:16 The Silent Cost of Sleep Debt\n21:47 Breakthrough Secrets for Better Sleep\n36:19 Should We Sleep With Our Head Raised?\n51:44 The #1 Hack for Deep Focus\n01:08:08 The Science of Spirituality\n01:25:28 How Much Can We Control Our Internal World?\n01:33:38 Why Understanding People Changes Everything\n01:46:35 Healthy Media Habits\n02:06:28 The Next Breakthrough Supplement\n02:25:09 The Nutrient That Heals Your Second Brain\n02:31:24 Hacking Your Mitochondrial DNA\n02:39:55 Making Sense of Complex Health Issues\n03:04:02 Andrew’s Upcoming Book\n\n-\n\nGet a Free Sample Pack of LMNT’s most popular flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\nGet a free bottle of D3K2, an AG1 Welcome Kit, and more when you first subscribe at https://ag1.info/modernwisdom\n\nGet 35% off your first subscription on the best supplements from Momentous at https://livemomentous.com/modernwisdom\n\nNew pricing since recording: Function is now just $365, plus get $25 off at https://functionhealth.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spotify.modernwisdom.com or Apple Podcasts - https://apple.modernwisdom.com\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "These Habits Are Much Better than People Realise - Dr Andrew Huberman (4K)", "8b2ff739-0477-44b6-bc14-d6216de6751d", 11136, false, "YvWU4Zd-IMc", "https://www.youtube.com/watch?v=YvWU4Zd-IMc", 44, "/downloads/Chris Williamson/2026-01-05 These Habits Are Much Better than People Realise - Dr Andrew Huberman (4K)/These Habits Are Much Better than People Realise - Dr Andrew Huberman (4K) [YvWU4Zd-IMc].mp4", false, false, false, 3, [], 2, ~U[2026-01-05 16:00:54Z], ~U[2026-09-16 21:09:02Z], ~U[2026-09-16 21:09:02Z], "Dr Andrew Huberman is a neuroscientist, Associate Professor at the Stanford University School of Medicine and a podcaster.\n\nThere’s an overwhelming amount of information on how to level up your body and mind, and it can be difficult to know where the latest science truly stands. Thankfully, Dr. Andrew Huberman breaks down the research on habits, the brain, sleep, supplements, and his personal go-to protocols.\n\nExpect to learn why high cortisol isn’t actually a bad think to have a lot of, Andrew’s advice on how to overcome burnout, what the new science of better sleep would be, how to make and set better habits easier, what Andrew thinks of the new “protein in everything” trend, the next wave of supplements to take to optimise your life, Andrew’s take on religion and faith and much more…\n\n-\n\n0:00 How Cortisol Programs Our Day\n9:22 Understanding Stress & Burnout\n14:16 The Silent Cost of Sleep Debt\n21:47 Breakthrough Secrets for Better Sleep\n36:19 Should We Sleep With Our Head Raised?\n51:44 The #1 Hack for Deep Focus\n01:08:08 The Science of Spirituality\n01:25:28 How Much Can We Control Our Internal World?\n01:33:38 Why Understanding People Changes Everything\n01:46:35 Healthy Media Habits\n02:06:28 The Next Breakthrough Supplement\n02:25:09 The Nutrient That Heals Your Second Brain\n02:31:24 Hacking Your Mitochondrial DNA\n02:39:55 Making Sense of Complex Health Issues\n03:04:02 Andrew’s Upcoming Book\n\n-\n\nGet a Free Sample Pack of LMNT’s most popular flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\nGet a free bottle of D3K2, an AG1 Welcome Kit, and more when you first subscribe at https://ag1.info/modernwisdom\n\nGet 35% off your first subscription on the best supplements from Momentous at https://livemomentous.com/modernwisdom\n\nNew pricing since recording: Function is now just $365, plus get $25 off at https://functionhealth.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spotify.modernwisdom.com or Apple Podcasts - https://apple.modernwisdom.com\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "These Habits Are Much Better than People Realise - Dr Andrew Huberman (4K)", 11136, false, "YvWU4Zd-IMc", "https://www.youtube.com/watch?v=YvWU4Zd-IMc", "/downloads/Chris Williamson/2026-01-05 These Habits Are Much Better than People Realise - Dr Andrew Huberman (4K)/These Habits Are Much Better than People Realise - Dr Andrew Huberman (4K) [YvWU4Zd-IMc].mp4", false, 3, ~U[2026-01-05 16:00:54Z]] 21:09:02.616 [debug] QUERY OK source="sources" db=0.4ms idle=435.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:02.617 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.4ms idle=55.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] 21:09:02.618 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=55.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 [44524] 21:09:02.618 [debug] Current batch of media processed. Will check again in 1000ms 21:09:03.620 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n My guest is \u2060Dr. David DeSteno, PhD\u2060, a professor of psychology at Northeastern University. We discuss science, God and religion, including what science can and can’t reveal about the existence of God and where religious faith and science do and do not align. We also discuss why questions about life’s origins, miracles and the afterlife have persisted across time. Dr. DeSteno explains how religious rituals cause meaningful improvements in mental and physical health and how prayer and gratitude can markedly reduce stress, increase honesty and compassion and buffer against loneliness and despair. Finally, we explore what distinguishes religions and mission-based communities from cults, and we discuss the role that communities such as 12-step and Burning Man play in modern life.\n\nEpisode show notes: https://go.hubermanlab.com/wXf7nNR\n\n*Thank you to our sponsors*\nAG1: \u2060https://drinkag1.com/huberman\u2060\nOur Place: \u2060https://fromourplace.com/huberman\u2060\nLMNT: \u2060https://drinklmnt.com/huberman\u2060\nEight Sleep: \u2060https://eightsleep.com/huberman\u2060\nFunction: \u2060https://functionhealth.com/huberman\u2060\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. David DeSteno*\nWebsite: https://davedesteno.com\nNortheastern University academic profile: https://cos.northeastern.edu/people/david-desteno\nHow God Works (book): https://amzn.to/4njja27\nHow God Works (Podcast): https://www.howgodworks.org\nBooks: https://amzn.to/3HRWIhh\nGoogle Scholar: https://scholar.google.com/citations?user=N-kiWT4AAAAJ \nX: https://x.com/daviddesteno \nInstagram: https://www.instagram.com/howgodworkspod\nBlueSky: https://bsky.app/profile/daviddesteno.bsky.social \nLinkedIn: https://www.linkedin.com/in/david-desteno-016ab6110 \n\n*Timestamps*\n00:00:00 David DeSteno\n00:02:10 Science & Belief in God, Does God Exist?\n00:07:06 Universe Origins & Scientific Questions; Religion & Life/Health Benefits\n00:15:16 Sponsors: Our Place & LMNT\n00:18:23 Russell's Teapot, “Overbelief”, Faith; Religio-prospecting, Traditional Practices\n00:26:49 Mediation & Compassion, Prayer & Stress Relief, Tools: Meditation, Prayer\n00:34:40 Superstition, Prayers & Rituals; Mourning Rituals, Eulogies, Shiva, Connection\n00:43:58 Grieving & Different Religious Traditions\n00:47:15 Sponsors: AG1 & Eight Sleep\n00:50:12 God vs Religion?; Prayer, Community, Religious Rituals & Ideals\n00:56:17 Psychedelics, Ego Death, Right vs Left-Handed Roots\n01:01:24 Good & Evil; Lies & Cheating; Gratitude & Prayer\n01:11:03 Loneliness, Community & Religion, Relationship with God & “3AM Friend”\n01:16:25 Sponsor: Function\n01:18:12 Feeling God; Intelligent Design, Evolution, Eye; Awe\n01:25:21 Overwhelm & Spiritual Experiences, Awe Despite Understanding\n01:31:01 Fear of Death, Afterlife, Tool: Contemplating Death\n01:37:11 Time Perception, Connectedness, Traditional Practices\n01:42:53 Addiction; 12-Step Programs & Surrender to a Higher Power\n01:49:02 New Religions, Burning Man, Modern Spiritual Experiences, Cults\n01:58:06 Cults vs Religions, Religious Interpretation & Reorientation \n02:03:56 AI, Technology, Religion & Intelligence; Religious “Branding”\n02:11:05 Religion Figures & Flaws, Direct Experience of God\n02:15:13 Finding a Belief System, Embracing Religious Practices, Tool: Sampling Religions\n02:21:40 Zero-Cost Support, YouTube, Spotify & Apple Follow & Reviews, Sponsors, YouTube Feedback, Protocols Book, Social Media, Neural Network Newsletter\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 8658, "filename" => "/downloads/Andrew Huberman/2025-08-25 Science & Health Benefits of Belief in God & Religion | Dr. David DeSteno/Science & Health Benefits of Belief in God & Religion | Dr. David DeSteno [Whe2Jh9q6jI].mp4", "id" => "Whe2Jh9q6jI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Whe2Jh9q6jI", "playlist_index" => 45, "timestamp" => 1756123256, "title" => "Science & Health Benefits of Belief in God & Religion | Dr. David DeSteno", "upload_date" => "20250825"} 21:09:03.620 [debug] QUERY OK source="sources" db=0.2ms idle=1005.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:09:03.621 [debug] QUERY OK source="sources" db=0.1ms idle=1004.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:03.621 [debug] QUERY OK source="media_items" db=0.3ms idle=1004.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-25 12:00:56Z], 3] 21:09:03.640 [debug] QUERY OK source="media_items" db=17.7ms idle=1003.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n My guest is \u2060Dr. David DeSteno, PhD\u2060, a professor of psychology at Northeastern University. We discuss science, God and religion, including what science can and can’t reveal about the existence of God and where religious faith and science do and do not align. We also discuss why questions about life’s origins, miracles and the afterlife have persisted across time. Dr. DeSteno explains how religious rituals cause meaningful improvements in mental and physical health and how prayer and gratitude can markedly reduce stress, increase honesty and compassion and buffer against loneliness and despair. Finally, we explore what distinguishes religions and mission-based communities from cults, and we discuss the role that communities such as 12-step and Burning Man play in modern life.\n\nEpisode show notes: https://go.hubermanlab.com/wXf7nNR\n\n*Thank you to our sponsors*\nAG1: \u2060https://drinkag1.com/huberman\u2060\nOur Place: \u2060https://fromourplace.com/huberman\u2060\nLMNT: \u2060https://drinklmnt.com/huberman\u2060\nEight Sleep: \u2060https://eightsleep.com/huberman\u2060\nFunction: \u2060https://functionhealth.com/huberman\u2060\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. David DeSteno*\nWebsite: https://davedesteno.com\nNortheastern University academic profile: https://cos.northeastern.edu/people/david-desteno\nHow God Works (book): https://amzn.to/4njja27\nHow God Works (Podcast): https://www.howgodworks.org\nBooks: https://amzn.to/3HRWIhh\nGoogle Scholar: https://scholar.google.com/citations?user=N-kiWT4AAAAJ \nX: https://x.com/daviddesteno \nInstagram: https://www.instagram.com/howgodworkspod\nBlueSky: https://bsky.app/profile/daviddesteno.bsky.social \nLinkedIn: https://www.linkedin.com/in/david-desteno-016ab6110 \n\n*Timestamps*\n00:00:00 David DeSteno\n00:02:10 Science & Belief in God, Does God Exist?\n00:07:06 Universe Origins & Scientific Questions; Religion & Life/Health Benefits\n00:15:16 Sponsors: Our Place & LMNT\n00:18:23 Russell's Teapot, “Overbelief”, Faith; Religio-prospecting, Traditional Practices\n00:26:49 Mediation & Compassion, Prayer & Stress Relief, Tools: Meditation, Prayer\n00:34:40 Superstition, Prayers & Rituals; Mourning Rituals, Eulogies, Shiva, Connection\n00:43:58 Grieving & Different Religious Traditions\n00:47:15 Sponsors: AG1 & Eight Sleep\n00:50:12 God vs Religion?; Prayer, Community, Religious Rituals & Ideals\n00:56:17 Psychedelics, Ego Death, Right vs Left-Handed Roots\n01:01:24 Good & Evil; Lies & Cheating; Gratitude & Prayer\n01:11:03 Loneliness, Community & Religion, Relationship with God & “3AM Friend”\n01:16:25 Sponsor: Function\n01:18:12 Feeling God; Intelligent Design, Evolution, Eye; Awe\n01:25:21 Overwhelm & Spiritual Experiences, Awe Despite Understanding\n01:31:01 Fear of Death, Afterlife, Tool: Contemplating Death\n01:37:11 Time Perception, Connectedness, Traditional Practices\n01:42:53 Addiction; 12-Step Programs & Surrender to a Higher Power\n01:49:02 New Religions, Burning Man, Modern Spiritual Experiences, Cults\n01:58:06 Cults vs Religions, Religious Interpretation & Reorientation \n02:03:56 AI, Technology, Religion & Intelligence; Religious “Branding”\n02:11:05 Religion Figures & Flaws, Direct Experience of God\n02:15:13 Finding a Belief System, Embracing Religious Practices, Tool: Sampling Religions\n02:21:40 Zero-Cost Support, YouTube, Spotify & Apple Follow & Reviews, Sponsors, YouTube Feedback, Protocols Book, Social Media, Neural Network Newsletter\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Science & Health Benefits of Belief in God & Religion | Dr. David DeSteno", "e3c3cbe2-11c9-460d-953d-96a513d9d11d", 8658, false, "Whe2Jh9q6jI", "https://www.youtube.com/watch?v=Whe2Jh9q6jI", 45, "/downloads/Andrew Huberman/2025-08-25 Science & Health Benefits of Belief in God & Religion | Dr. David DeSteno/Science & Health Benefits of Belief in God & Religion | Dr. David DeSteno [Whe2Jh9q6jI].mp4", false, false, false, 3, [], 1, ~U[2025-08-25 12:00:56Z], ~U[2026-09-16 21:09:03Z], ~U[2026-09-16 21:09:03Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n My guest is \u2060Dr. David DeSteno, PhD\u2060, a professor of psychology at Northeastern University. We discuss science, God and religion, including what science can and can’t reveal about the existence of God and where religious faith and science do and do not align. We also discuss why questions about life’s origins, miracles and the afterlife have persisted across time. Dr. DeSteno explains how religious rituals cause meaningful improvements in mental and physical health and how prayer and gratitude can markedly reduce stress, increase honesty and compassion and buffer against loneliness and despair. Finally, we explore what distinguishes religions and mission-based communities from cults, and we discuss the role that communities such as 12-step and Burning Man play in modern life.\n\nEpisode show notes: https://go.hubermanlab.com/wXf7nNR\n\n*Thank you to our sponsors*\nAG1: \u2060https://drinkag1.com/huberman\u2060\nOur Place: \u2060https://fromourplace.com/huberman\u2060\nLMNT: \u2060https://drinklmnt.com/huberman\u2060\nEight Sleep: \u2060https://eightsleep.com/huberman\u2060\nFunction: \u2060https://functionhealth.com/huberman\u2060\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. David DeSteno*\nWebsite: https://davedesteno.com\nNortheastern University academic profile: https://cos.northeastern.edu/people/david-desteno\nHow God Works (book): https://amzn.to/4njja27\nHow God Works (Podcast): https://www.howgodworks.org\nBooks: https://amzn.to/3HRWIhh\nGoogle Scholar: https://scholar.google.com/citations?user=N-kiWT4AAAAJ \nX: https://x.com/daviddesteno \nInstagram: https://www.instagram.com/howgodworkspod\nBlueSky: https://bsky.app/profile/daviddesteno.bsky.social \nLinkedIn: https://www.linkedin.com/in/david-desteno-016ab6110 \n\n*Timestamps*\n00:00:00 David DeSteno\n00:02:10 Science & Belief in God, Does God Exist?\n00:07:06 Universe Origins & Scientific Questions; Religion & Life/Health Benefits\n00:15:16 Sponsors: Our Place & LMNT\n00:18:23 Russell's Teapot, “Overbelief”, Faith; Religio-prospecting, Traditional Practices\n00:26:49 Mediation & Compassion, Prayer & Stress Relief, Tools: Meditation, Prayer\n00:34:40 Superstition, Prayers & Rituals; Mourning Rituals, Eulogies, Shiva, Connection\n00:43:58 Grieving & Different Religious Traditions\n00:47:15 Sponsors: AG1 & Eight Sleep (truncated) 21:09:03.641 [debug] QUERY OK source="sources" db=0.2ms idle=460.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:03.641 [debug] QUERY OK source="media_profiles" db=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", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:09:03.642 [debug] QUERY OK source="media_items" db=0.2ms idle=20.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 [44525] 21:09:03.642 [debug] Current batch of media processed. Will check again in 1000ms 21:09:04.643 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n James Clear is an expert on behavioral change and habits and the author of the bestselling book \u2060Atomic Habits\u2060. We discuss the best ways to build new healthy habits and end bad ones without relying on motivation or willpower. Rather than list off categories of tools or acronyms, James explains how anchoring the changes you want to make in your identity and physical environment allows you to make desired changes quickly and ones that stick. Whether your goal is better fitness and physical health, productivity or mental health, you'll learn actionable, zero-cost protocols to build powerful and meaningful habits.\n\nEpisode show notes: https://go.hubermanlab.com/mi0yht0\n\n*Thank you to our sponsors*\nAG1: \u2060https://drinkag1.com/huberman\nLingo: \u2060https://hellolingo.com/huberman\nWealthfront*: \u2060https://wealthfront.com/huberman\nJoovv: \u2060https://joovv.com/huberman\nEight Sleep: \u2060https://eightsleep.com/huberman\nFunction: \u2060https://functionhealth.com/huberman\n\n*James Clear*\nWebsite: https://jamesclear.com\nNewsletter: https://jamesclear.com/3-2-1\nBooks: https://amzlink.to/az0enLjjDsO0c\nAtoms App: https://atoms.jamesclear.com\nMasterClass: https://www.masterclass.com/classes/small-habits-that-make-a-big-impact-on-your-life \nX: https://x.com/jamesclear\nInstagram: https://www.instagram.com/jamesclear\nThreads: https://www.threads.com/@jamesclear\nFacebook: https://www.facebook.com/jamesclear\nLinkedIn: https://www.linkedin.com/in/jamesclear\n\n*Timestamps*\n00:00:00 James Clear\n00:02:57 Common Habits, Tool: Habit Success & Getting Started\n00:06:16 Make Starting a Habit Easier, Tool: 4 Laws of Behavior Change\n00:10:18 Sponsors: Lingo & Wealthfront\n00:13:26 Writing Habits, Seasons & Flexibility; Adaptability, Tool: Bad Day Plan\n00:18:42 Consistency, Flow vs Grind, Master Showing Up, Learning & Practice\n00:24:54 Chunking, Getting Started at Gym\n00:28:01 Flow Don’t Fight, Dissatisfaction & Effort, Tool: Identity-Based Habits\n00:34:10 Friction, Competition & Effort; Credentials\n00:39:38 Make Effort Rewarding, Mindset, Tools: Previsualization, Emphasize Positives\n00:45:59 Sponsors: AG1 & Joovv\n00:48:56 Reflection & Learning, Tool: Self-Testing; Perfectionism, Tool: Curiosity\n00:55:18 Striving vs Relaxation, Balance, Tool: Turn On/Off; Hiking, Nature Reset\n01:04:20 Identity & Professional Pursuits; Choosing New Projects; Clinging to Identity\n01:14:24 Sponsor: Eight Sleep\n01:15:42 Criticism; Identity & Growth\n01:21:47 Failure, Identity, Sports, Tool: Rebounding & Reaching; Public Failures\n01:30:03 Daily Habits, Tools: Day in Quarters; Never Miss Twice; Meal Timing\n01:38:22 Daily Habit Timing & Sequencing, Tool: Mindfully Choose Inputs\n01:45:37 Creativity, Specialization vs Generalization; Books\n01:51:31 Sponsor: Function\n01:53:18 Habits & Context, Environmental Cues, Tools for Minimizing Phone Use\n02:02:01 Bad Habits, Checking Phone, Tools for Breaking Bad Habits\n02:08:21 Physical & Social Environment, New Habits, Tool: Join/Create Groups\n02:18:40 Family, Habits; Kids & Parenting, Tools: Stimulus; Good Conditions\n02:26:05 Impact of Habits, Habits as Solutions; Upcoming Projects\n02:32:45 Zero-Cost Support, YouTube, Spotify & Apple Follow, Reviews & Feedback, Sponsors, Protocols Book, Social Media, Neural Network Newsletter\n\n_*This experience may not be representative of other Wealthfront clients, and there is no guarantee of future performance or success. Experiences will vary. Andrew Huberman receives cash compensation from Wealthfront Brokerage for paid testimonials in his podcast, creating a conflict of interest. The Cash Account, which is not a deposit account, is offered by Wealthfront Brokerage LLC, member FINRA/SIPC. Wealthfront Brokerage is not a bank. The base APY is 3.25% on cash deposits as of December 19, 2025, is representative, subject to change, and requires no minimum. If eligible for the overall boosted rate of 3.90% offered in connection with this promo, your boosted rate is also subject to change if the base rate decreases duri" <> ..., "duration" => 9319, "filename" => "/downloads/Andrew Huberman/2026-01-05 Best Ways to Build Better Habits & Break Bad Ones | James Clear/Best Ways to Build Better Habits & Break Bad Ones | James Clear [bdsc3Spm6Sw].mp4", "id" => "bdsc3Spm6Sw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bdsc3Spm6Sw", "playlist_index" => 46, "timestamp" => 1767618085, "title" => "Best Ways to Build Better Habits & Break Bad Ones | James Clear", "upload_date" => "20260105"} 21:09:04.644 [debug] QUERY OK source="sources" db=0.2ms idle=1003.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:09:04.644 [debug] QUERY OK source="sources" db=0.1ms idle=1002.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:04.645 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-05 13:01:25Z], 3] 21:09:04.649 [debug] QUERY OK source="media_items" db=3.1ms idle=1003.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n James Clear is an expert on behavioral change and habits and the author of the bestselling book \u2060Atomic Habits\u2060. We discuss the best ways to build new healthy habits and end bad ones without relying on motivation or willpower. Rather than list off categories of tools or acronyms, James explains how anchoring the changes you want to make in your identity and physical environment allows you to make desired changes quickly and ones that stick. Whether your goal is better fitness and physical health, productivity or mental health, you'll learn actionable, zero-cost protocols to build powerful and meaningful habits.\n\nEpisode show notes: https://go.hubermanlab.com/mi0yht0\n\n*Thank you to our sponsors*\nAG1: \u2060https://drinkag1.com/huberman\nLingo: \u2060https://hellolingo.com/huberman\nWealthfront*: \u2060https://wealthfront.com/huberman\nJoovv: \u2060https://joovv.com/huberman\nEight Sleep: \u2060https://eightsleep.com/huberman\nFunction: \u2060https://functionhealth.com/huberman\n\n*James Clear*\nWebsite: https://jamesclear.com\nNewsletter: https://jamesclear.com/3-2-1\nBooks: https://amzlink.to/az0enLjjDsO0c\nAtoms App: https://atoms.jamesclear.com\nMasterClass: https://www.masterclass.com/classes/small-habits-that-make-a-big-impact-on-your-life \nX: https://x.com/jamesclear\nInstagram: https://www.instagram.com/jamesclear\nThreads: https://www.threads.com/@jamesclear\nFacebook: https://www.facebook.com/jamesclear\nLinkedIn: https://www.linkedin.com/in/jamesclear\n\n*Timestamps*\n00:00:00 James Clear\n00:02:57 Common Habits, Tool: Habit Success & Getting Started\n00:06:16 Make Starting a Habit Easier, Tool: 4 Laws of Behavior Change\n00:10:18 Sponsors: Lingo & Wealthfront\n00:13:26 Writing Habits, Seasons & Flexibility; Adaptability, Tool: Bad Day Plan\n00:18:42 Consistency, Flow vs Grind, Master Showing Up, Learning & Practice\n00:24:54 Chunking, Getting Started at Gym\n00:28:01 Flow Don’t Fight, Dissatisfaction & Effort, Tool: Identity-Based Habits\n00:34:10 Friction, Competition & Effort; Credentials\n00:39:38 Make Effort Rewarding, Mindset, Tools: Previsualization, Emphasize Positives\n00:45:59 Sponsors: AG1 & Joovv\n00:48:56 Reflection & Learning, Tool: Self-Testing; Perfectionism, Tool: Curiosity\n00:55:18 Striving vs Relaxation, Balance, Tool: Turn On/Off; Hiking, Nature Reset\n01:04:20 Identity & Professional Pursuits; Choosing New Projects; Clinging to Identity\n01:14:24 Sponsor: Eight Sleep\n01:15:42 Criticism; Identity & Growth\n01:21:47 Failure, Identity, Sports, Tool: Rebounding & Reaching; Public Failures\n01:30:03 Daily Habits, Tools: Day in Quarters; Never Miss Twice; Meal Timing\n01:38:22 Daily Habit Timing & Sequencing, Tool: Mindfully Choose Inputs\n01:45:37 Creativity, Specialization vs Generalization; Books\n01:51:31 Sponsor: Function\n01:53:18 Habits & Context, Environmental Cues, Tools for Minimizing Phone Use\n02:02:01 Bad Habits, Checking Phone, Tools for Breaking Bad Habits\n02:08:21 Physical & Social Environment, New Habits, Tool: Join/Create Groups\n02:18:40 Family, Habits; Kids & Parenting, Tools: Stimulus; Good Conditions\n02:26:05 Impact of Habits, Habits as Solutions; Upcoming Projects\n02:32:45 Zero-Cost Support, YouTube, Spotify & Apple Follow, Reviews & Feedback, Sponsors, Protocols Book, Social Media, Neural Network Newsletter\n\n_*This experience may not be representative of other Wealthfront clients, and there is no guarantee of future performance or success. Experiences will vary. Andrew Huberman receives cash compensation from Wealthfront Brokerage for paid testimonials in his podcast, creating a conflict of interest. The Cash Account, which is not a deposit account, is offered by Wealthfront Brokerage LLC, member FINRA/SIPC. Wealthfront Brokerage is not a bank. The base APY is 3.25% on cash deposits as of December 19, 2025, is representative, subject to change, and requires no minimum. If eligible for the overall boosted rate of 3.90% offered in connection with this promo, your boosted rate is also subject to change if the base rate decreases duri" <> ..., "Best Ways to Build Better Habits & Break Bad Ones | James Clear", "4cbcd9b7-c5c6-4bcd-b0f0-c0e1c0ca876d", 9319, false, "bdsc3Spm6Sw", "https://www.youtube.com/watch?v=bdsc3Spm6Sw", 46, "/downloads/Andrew Huberman/2026-01-05 Best Ways to Build Better Habits & Break Bad Ones | James Clear/Best Ways to Build Better Habits & Break Bad Ones | James Clear [bdsc3Spm6Sw].mp4", false, false, false, 3, [], 2, ~U[2026-01-05 13:01:25Z], ~U[2026-09-16 21:09:04Z], ~U[2026-09-16 21:09:04Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n James Clear is an expert on behavioral change and habits and the author of the bestselling book \u2060Atomic Habits\u2060. We discuss the best ways to build new healthy habits and end bad ones without relying on motivation or willpower. Rather than list off categories of tools or acronyms, James explains how anchoring the changes you want to make in your identity and physical environment allows you to make desired changes quickly and ones that stick. Whether your goal is better fitness and physical health, productivity or mental health, you'll learn actionable, zero-cost protocols to build powerful and meaningful habits.\n\nEpisode show notes: https://go.hubermanlab.com/mi0yht0\n\n*Thank you to our sponsors*\nAG1: \u2060https://drinkag1.com/huberman\nLingo: \u2060https://hellolingo.com/huberman\nWealthfront*: \u2060https://wealthfront.com/huberman\nJoovv: \u2060https://joovv.com/huberman\nEight Sleep: \u2060https://eightsleep.com/huberman\nFunction: \u2060https://functionhealth.com/huberman\n\n*James Clear*\nWebsite: https://jamesclear.com\nNewsletter: https://jamesclear.com/3-2-1\nBooks: https://amzlink.to/az0enLjjDsO0c\nAtoms App: https://atoms.jamesclear.com\nMasterClass: https://www.masterclass.com/classes/small-habits-that-make-a-big-impact-on-your-life \nX: https://x.com/jamesclear\nInstagram: https://www.instagram.com/jamesclear\nThreads: https://www.threads.com/@jamesclear\nFacebook: https://www.facebook.com/jamesclear\nLinkedIn: https://www.linkedin.com/in/jamesclear\n\n*Timestamps*\n00:00:00 James Clear\n00:02:57 Common Habits, Tool: Habit Success & Getting Started\n00:06:16 Make Starting a Habit Easier, Tool: 4 Laws of Behavior Change\n00:10:18 Sponsors: Lingo & Wealthfront\n00:13:26 Writing Habits, Seasons & Flexibility; Adaptability, Tool: Bad Day Plan\n00:18:42 Consistency, Flow vs Grind, Master Showing Up, Learning & Practice\n00:24:54 Chunking, Getting Started at Gym\n00:28:01 Flow Don’t Fight, Dissatisfaction & Effort, Tool: Identity-Based Habits\n00:34:10 Friction, Competition & Effort; Credentials\n00:39:38 Make Effort Rewarding, Mindset, Tools: Previsualization, Emphasize Positives\n00:45:59 Sponsors: AG1 & Joovv\n00:48:56 Reflection & Learning, Tool: Self-Testing; Perfectionism, Tool: Curiosity\n00:55:18 Striving vs Relaxation, Balance, Tool: Turn On/Off; Hiking, Nature Reset\n01:04:20 Identity & Professional Pursuits; Choosing New Projects; Clinging to Identity\n01:14:24 Sponsor: Eight Sleep\n01:15:42 Criticism; Identity & Growth\n01:21:47 Failure, Identity, Sports, Tool: Rebounding & Reaching; Public Failur (truncated) 21:09:04.649 [debug] QUERY OK source="sources" db=0.2ms idle=467.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:04.650 [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] 21:09:04.650 [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 [44526] 21:09:04.650 [debug] Current batch of media processed. Will check again in 1000ms 21:09:05.651 [debug] Current batch of media processed. Will check again in 1000ms 21:09:06.652 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Watch Exodus available exclusively on DailyWire+: https://bit.ly/3UgQLe6\n\nLecture II in my Psychological Significance of the Biblical Stories from May 23 at Isabel Bader Theatre, Toronto. In this lecture, I present Genesis 1, which presents the idea that a pre-existent cognitive structure (God the Father) uses the Logos, the Christian Word, the Second Person of the Trinity, to generate habitable order out of pre-cosmogonic chaos at the beginning of time. It is in that Image that Man and Woman are created -- indicating, perhaps, that it is (1) through speech that we participate in the creation of the cosmos of experience and (2) that what true speech creates is good. \n\nIt is a predicate of Western culture that each individual partakes in some manner in the divine. This is the true significance of consciousness, which has a world-creating aspect. \n\nQ & A Starts: 1:59:00\n\nPatreon: https://www.patreon.com/jordanbpeterson\nSelf Authoring: http://selfauthoring.com/\nJordan Peterson Website: http://jordanbpeterson.com/\nPodcast: http://jordanbpeterson.com/jordan-b-p...\nReading List: http://jordanbpeterson.com/2017/03/gr...\nTwitter: https://twitter.com/jordanbpeterson\n\nProducer Credit and thanks to the following $200/month Patreon supporters. Without such support, this series would not have happened: Adam Clarke, Alexander Meckhai’el Beraeros, Andy Baker, Arden C. Armstrong, Badr Amari, BC, Ben Baker, Benjamin Cracknell, Brandon Yates, Chad Grills, Chris Martakis, Christopher Ballew, Craig Morrison, Daljeet Singh, Damian Fink, Dan Gaylinn, Daren Connel, David Johnson, David Tien, Donald Mitchell, Eleftheria Libertatem, Enrico Lejaru, George Diaz, GeorgeB, Holly Lindquist, Ian Trick, James Bradley, James N. Daniel, III, Jan Schanek, Jason R. Ferenc, Jesse Michalak, Joe Cairns, Joel Kurth, John Woolley, Johnny Vinje, Julie Byrne, Keith Jones, Kevin Fallon, Kevin Patrick McSurdy, Kevin Van Eekeren, Kristina Ripka, Louise Parberry, Matt Karamazov, Matt Sattler, Mayor Berkowitz , Michael Thiele, Nathan Claus, Nick Swenson , Patricia Newman, Robb Kelley, Robin Otto, Ryan Kane, Sabish Balan, Salman Alsabah, Scott Carter, Sean C., Sean Magin, Sebastian Thaci, Shiqi Hu, Soheil Daftarian, Srdan Pavlovic, Starting Ideas, Too Analytical, Trey McLemore, William Wilkinson, Yazz Troche, Zachary Vader\n\n--- SUPPORT THIS CHANNEL ---\n\nDirect Support: https://www.jordanbpeterson.com/donate\nMerchandise: https://teespring.com/stores/jordanbpeterson\n\n--- BOOKS ---\n\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life/\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning/\n\n--- LINKS ---\n\nWebsite: https://jordanbpeterson.com/\n12 Rules for Life Tour: https://jordanbpeterson.com/events/\nBlog: https://jordanbpeterson.com/blog/\nPodcast: https://jordanbpeterson.com/podcast/\nReading List: https://jordanbpeterson.com/great-books/\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nFacebook: https://www.facebook.com/drjordanpeterson\n\n--- PRODUCTS ---\n\nPersonality Course: https://www.jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com/\nUnderstand Myself personality test: https://understandmyself.com/\nMerchandise: https://teespring.com/stores/jordanbpeterson", "duration" => 9153, "filename" => "/downloads/Jordan B Peterson/2017-05-28 Lecture: Biblical Series II: Genesis 1: Chaos & Order/Lecture: Biblical Series II: Genesis 1: Chaos & Order [hdrLQ7DpiWs].mp4", "id" => "hdrLQ7DpiWs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hdrLQ7DpiWs", "playlist_index" => 47, "timestamp" => 1495942224, "title" => "Lecture: Biblical Series II: Genesis 1: Chaos & Order", "upload_date" => "20170528"} 21:09:06.653 [debug] QUERY OK source="sources" db=0.2ms idle=856.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:09:06.653 [debug] QUERY OK source="sources" db=0.2ms idle=857.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:06.654 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=857.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-05-28 03:30:24Z], 3] 21:09:06.657 [debug] QUERY OK source="media_items" db=2.3ms idle=858.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Watch Exodus available exclusively on DailyWire+: https://bit.ly/3UgQLe6\n\nLecture II in my Psychological Significance of the Biblical Stories from May 23 at Isabel Bader Theatre, Toronto. In this lecture, I present Genesis 1, which presents the idea that a pre-existent cognitive structure (God the Father) uses the Logos, the Christian Word, the Second Person of the Trinity, to generate habitable order out of pre-cosmogonic chaos at the beginning of time. It is in that Image that Man and Woman are created -- indicating, perhaps, that it is (1) through speech that we participate in the creation of the cosmos of experience and (2) that what true speech creates is good. \n\nIt is a predicate of Western culture that each individual partakes in some manner in the divine. This is the true significance of consciousness, which has a world-creating aspect. \n\nQ & A Starts: 1:59:00\n\nPatreon: https://www.patreon.com/jordanbpeterson\nSelf Authoring: http://selfauthoring.com/\nJordan Peterson Website: http://jordanbpeterson.com/\nPodcast: http://jordanbpeterson.com/jordan-b-p...\nReading List: http://jordanbpeterson.com/2017/03/gr...\nTwitter: https://twitter.com/jordanbpeterson\n\nProducer Credit and thanks to the following $200/month Patreon supporters. Without such support, this series would not have happened: Adam Clarke, Alexander Meckhai’el Beraeros, Andy Baker, Arden C. Armstrong, Badr Amari, BC, Ben Baker, Benjamin Cracknell, Brandon Yates, Chad Grills, Chris Martakis, Christopher Ballew, Craig Morrison, Daljeet Singh, Damian Fink, Dan Gaylinn, Daren Connel, David Johnson, David Tien, Donald Mitchell, Eleftheria Libertatem, Enrico Lejaru, George Diaz, GeorgeB, Holly Lindquist, Ian Trick, James Bradley, James N. Daniel, III, Jan Schanek, Jason R. Ferenc, Jesse Michalak, Joe Cairns, Joel Kurth, John Woolley, Johnny Vinje, Julie Byrne, Keith Jones, Kevin Fallon, Kevin Patrick McSurdy, Kevin Van Eekeren, Kristina Ripka, Louise Parberry, Matt Karamazov, Matt Sattler, Mayor Berkowitz , Michael Thiele, Nathan Claus, Nick Swenson , Patricia Newman, Robb Kelley, Robin Otto, Ryan Kane, Sabish Balan, Salman Alsabah, Scott Carter, Sean C., Sean Magin, Sebastian Thaci, Shiqi Hu, Soheil Daftarian, Srdan Pavlovic, Starting Ideas, Too Analytical, Trey McLemore, William Wilkinson, Yazz Troche, Zachary Vader\n\n--- SUPPORT THIS CHANNEL ---\n\nDirect Support: https://www.jordanbpeterson.com/donate\nMerchandise: https://teespring.com/stores/jordanbpeterson\n\n--- BOOKS ---\n\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life/\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning/\n\n--- LINKS ---\n\nWebsite: https://jordanbpeterson.com/\n12 Rules for Life Tour: https://jordanbpeterson.com/events/\nBlog: https://jordanbpeterson.com/blog/\nPodcast: https://jordanbpeterson.com/podcast/\nReading List: https://jordanbpeterson.com/great-books/\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nFacebook: https://www.facebook.com/drjordanpeterson\n\n--- PRODUCTS ---\n\nPersonality Course: https://www.jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com/\nUnderstand Myself personality test: https://understandmyself.com/\nMerchandise: https://teespring.com/stores/jordanbpeterson", "Lecture: Biblical Series II: Genesis 1: Chaos & Order", "b6145319-cb21-4688-81b6-7631dad50c67", 9153, false, "hdrLQ7DpiWs", "https://www.youtube.com/watch?v=hdrLQ7DpiWs", 47, "/downloads/Jordan B Peterson/2017-05-28 Lecture: Biblical Series II: Genesis 1: Chaos & Order/Lecture: Biblical Series II: Genesis 1: Chaos & Order [hdrLQ7DpiWs].mp4", false, false, false, 3, [], 1, ~U[2017-05-28 03:30:24Z], ~U[2026-09-16 21:09:06Z], ~U[2026-09-16 21:09:06Z], "Watch Exodus available exclusively on DailyWire+: https://bit.ly/3UgQLe6\n\nLecture II in my Psychological Significance of the Biblical Stories from May 23 at Isabel Bader Theatre, Toronto. In this lecture, I present Genesis 1, which presents the idea that a pre-existent cognitive structure (God the Father) uses the Logos, the Christian Word, the Second Person of the Trinity, to generate habitable order out of pre-cosmogonic chaos at the beginning of time. It is in that Image that Man and Woman are created -- indicating, perhaps, that it is (1) through speech that we participate in the creation of the cosmos of experience and (2) that what true speech creates is good. \n\nIt is a predicate of Western culture that each individual partakes in some manner in the divine. This is the true significance of consciousness, which has a world-creating aspect. \n\nQ & A Starts: 1:59:00\n\nPatreon: https://www.patreon.com/jordanbpeterson\nSelf Authoring: http://selfauthoring.com/\nJordan Peterson Website: http://jordanbpeterson.com/\nPodcast: http://jordanbpeterson.com/jordan-b-p...\nReading List: http://jordanbpeterson.com/2017/03/gr...\nTwitter: https://twitter.com/jordanbpeterson\n\nProducer Credit and thanks to the following $200/month Patreon supporters. Without such support, this series would not have happened: Adam Clarke, Alexander Meckhai’el Beraeros, Andy Baker, Arden C. Armstrong, Badr Amari, BC, Ben Baker, Benjamin Cracknell, Brandon Yates, Chad Grills, Chris Martakis, Christopher Ballew, Craig Morrison, Daljeet Singh, Damian Fink, Dan Gaylinn, Daren Connel, David Johnson, David Tien, Donald Mitchell, Eleftheria Libertatem, Enrico Lejaru, George Diaz, GeorgeB, Holly Lindquist, Ian Trick, James Bradley, James N. Daniel, III, Jan Schanek, Jason R. Ferenc, Jesse Michalak, Joe Cairns, Joel Kurth, John Woolley, Johnny Vinje, Julie Byrne, Keith Jones, Kevin Fallon, Kevin Patrick McSurdy, Kevin Van Eekeren, Kristina Ripka, Louise Parberry, Matt Karamazov, Matt Sattler, Mayor Berkowitz , Michael Thiele, Nathan Claus, Nick Swenson , Patricia Newman, Robb Kelley, Robin Otto, Ryan Kane, Sabish Balan, Salman Alsabah, Scott Carter, Sean C., Sean Magin, Sebastian Thaci, Shiqi Hu, Soheil Daftarian, Srdan Pavlovic, Starting Ideas, Too Analytical, Trey McLemore, William Wilkinson, Yazz Troche, Zachary Vader\n\n--- SUPPORT THIS CHANNEL ---\n\nDirect Support: https://www.jordanbpeterson.com/donate\nMerchandise: https://teespring.com/stores/jordanbpeterson\n\n--- BOOKS ---\n\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life/\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning/\n\n--- LINKS ---\n\nWebsite: https://jordanbpeterson.com/\n12 Rules for Life Tour: https://jordanbpeterson.com/events/\nBlog: https://jordanbpeterson.com/blog/\nPodcast: https://jordanbpeterson.com/podcast/\nReading List: https://jordanbpeterson.com/great-books/\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nFacebook: https://www.facebook.com/drjordanpeterson\n\n--- PRODUCTS ---\n\nPersonality Course: https://www.jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com/\nUnderstand Myself personality test: https://understandmyself.com/\nMerchandise: https://teespring.com/stores/jordanbpeterson", "Lecture: Biblical Series II: Genesis 1: Chaos & Order", 9153, false, "hdrLQ7DpiWs", "https://www.youtube.com/watch?v=hdrLQ7DpiWs", "/downloads/Jordan B Peterson/2017-05-28 Lecture: B (truncated) 21:09:06.658 [debug] QUERY OK source="sources" db=0.4ms idle=473.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:06.658 [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] 21:09:06.659 [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 [45384] 21:09:06.659 [debug] Current batch of media processed. Will check again in 1000ms 21:09:07.660 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Watch Exodus available exclusively on DailyWire+: https://bit.ly/3UgQLe6\n\nThe story of Noah and the Ark is next in the Genesis sequence. This is a more elaborated tale than the initial creation account, or the story of Adam and Eve or Cain and Abel. However, it cannot be understood in its true depth without some investigation into what the motif of the flood means, psychologically, and an analysis of how that motif is informed by the order/chaos dichotomy, as well as by the idea of an involuntary voyage to the underworld or confrontation with the dragon. In consequence, this lecture concentrates almost exclusively on psychology: How is an encounter with the unknown to be understood, conceptually? How and why is that represented with themes such as the underworld voyage, the dragon fight, or the flood? \n\nAll that constitutes the theme of lecture VI.\n\nProducer Credit and thanks to the following $200/month Patreon supporters. Without such support, this series would not have happened: Adam Clarke, Alexander Meckhai’el Beraeros, Andy Baker, Arden C. Armstrong, Badr Amari, BC, Ben Baker, Benjamin Cracknell, Brandon Yates, Chad Grills, Chris Martakis, Christopher Ballew, Craig Morrison, Daljeet Singh, Damian Fink, Dan Gaylinn, Daren Connel, David Johnson, David Tien, Donald Mitchell, Eleftheria Libertatem, Enrico Lejaru, George Diaz, GeorgeB, Holly Lindquist, Ian Trick, James Bradley, James N. Daniel, III, Jan Schanek, Jason R. Ferenc, Jesse Michalak, Joe Cairns, Joel Kurth, John Woolley, Johnny Vinje, Julie Byrne, Keith Jones, Kevin Fallon, Kevin Patrick McSurdy, Kevin Van Eekeren, Kristina Ripka, Louise Parberry, Matt Karamazov, Matt Sattler, Mayor Berkowitz , Michael Thiele, Nathan Claus, Nick Swenson , Patricia Newman, Robb Kelley, Robin Otto, Ryan Kane, Sabish Balan, Salman Alsabah, Scott Carter, Sean C., Sean Magin, Sebastian Thaci, Shiqi Hu, Soheil Daftarian, Srdan Pavlovic, Starting Ideas, Too Analytical, Trey McLemore, William Wilkinson, Yazz Troche, Zachary Vader\n\n--- SUPPORT THIS CHANNEL ---\n\nDirect Support: https://www.jordanbpeterson.com/donate\nMerchandise: https://teespring.com/stores/jordanbpeterson\n\n--- BOOKS ---\n\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life/\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning/\n\n--- LINKS ---\n\nWebsite: https://jordanbpeterson.com/\n12 Rules for Life Tour: https://jordanbpeterson.com/events/\nBlog: https://jordanbpeterson.com/blog/\nPodcast: https://jordanbpeterson.com/podcast/\nReading List: https://jordanbpeterson.com/great-books/\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nFacebook: https://www.facebook.com/drjordanpeterson\n\n--- PRODUCTS ---\n\nPersonality Course: https://www.jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com/\nUnderstand Myself personality test: https://understandmyself.com/\nMerchandise: https://teespring.com/stores/jordanbpeterson", "duration" => 9357, "filename" => "/downloads/Jordan B Peterson/2017-07-03 Lecture: Biblical Series VI: The Psychology of the Flood/Lecture: Biblical Series VI: The Psychology of the Flood [wNjbasba-Qw].mp4", "id" => "wNjbasba-Qw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wNjbasba-Qw", "playlist_index" => 48, "timestamp" => 1499091939, "title" => "Lecture: Biblical Series VI: The Psychology of the Flood", "upload_date" => "20170703"} 21:09:07.661 [debug] QUERY OK source="sources" db=1.1ms idle=1003.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:09:07.662 [debug] QUERY OK source="sources" db=0.6ms idle=1003.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:07.664 [debug] QUERY OK source="media_items" db=1.0ms idle=1004.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-07-03 14:25:39Z], 3] 21:09:07.670 [debug] QUERY OK source="media_items" db=4.6ms queue=0.1ms idle=1005.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Watch Exodus available exclusively on DailyWire+: https://bit.ly/3UgQLe6\n\nThe story of Noah and the Ark is next in the Genesis sequence. This is a more elaborated tale than the initial creation account, or the story of Adam and Eve or Cain and Abel. However, it cannot be understood in its true depth without some investigation into what the motif of the flood means, psychologically, and an analysis of how that motif is informed by the order/chaos dichotomy, as well as by the idea of an involuntary voyage to the underworld or confrontation with the dragon. In consequence, this lecture concentrates almost exclusively on psychology: How is an encounter with the unknown to be understood, conceptually? How and why is that represented with themes such as the underworld voyage, the dragon fight, or the flood? \n\nAll that constitutes the theme of lecture VI.\n\nProducer Credit and thanks to the following $200/month Patreon supporters. Without such support, this series would not have happened: Adam Clarke, Alexander Meckhai’el Beraeros, Andy Baker, Arden C. Armstrong, Badr Amari, BC, Ben Baker, Benjamin Cracknell, Brandon Yates, Chad Grills, Chris Martakis, Christopher Ballew, Craig Morrison, Daljeet Singh, Damian Fink, Dan Gaylinn, Daren Connel, David Johnson, David Tien, Donald Mitchell, Eleftheria Libertatem, Enrico Lejaru, George Diaz, GeorgeB, Holly Lindquist, Ian Trick, James Bradley, James N. Daniel, III, Jan Schanek, Jason R. Ferenc, Jesse Michalak, Joe Cairns, Joel Kurth, John Woolley, Johnny Vinje, Julie Byrne, Keith Jones, Kevin Fallon, Kevin Patrick McSurdy, Kevin Van Eekeren, Kristina Ripka, Louise Parberry, Matt Karamazov, Matt Sattler, Mayor Berkowitz , Michael Thiele, Nathan Claus, Nick Swenson , Patricia Newman, Robb Kelley, Robin Otto, Ryan Kane, Sabish Balan, Salman Alsabah, Scott Carter, Sean C., Sean Magin, Sebastian Thaci, Shiqi Hu, Soheil Daftarian, Srdan Pavlovic, Starting Ideas, Too Analytical, Trey McLemore, William Wilkinson, Yazz Troche, Zachary Vader\n\n--- SUPPORT THIS CHANNEL ---\n\nDirect Support: https://www.jordanbpeterson.com/donate\nMerchandise: https://teespring.com/stores/jordanbpeterson\n\n--- BOOKS ---\n\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life/\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning/\n\n--- LINKS ---\n\nWebsite: https://jordanbpeterson.com/\n12 Rules for Life Tour: https://jordanbpeterson.com/events/\nBlog: https://jordanbpeterson.com/blog/\nPodcast: https://jordanbpeterson.com/podcast/\nReading List: https://jordanbpeterson.com/great-books/\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nFacebook: https://www.facebook.com/drjordanpeterson\n\n--- PRODUCTS ---\n\nPersonality Course: https://www.jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com/\nUnderstand Myself personality test: https://understandmyself.com/\nMerchandise: https://teespring.com/stores/jordanbpeterson", "Lecture: Biblical Series VI: The Psychology of the Flood", "1ac40b5f-5792-4158-ad72-dea9ec69b1e9", 9357, false, "wNjbasba-Qw", "https://www.youtube.com/watch?v=wNjbasba-Qw", 48, "/downloads/Jordan B Peterson/2017-07-03 Lecture: Biblical Series VI: The Psychology of the Flood/Lecture: Biblical Series VI: The Psychology of the Flood [wNjbasba-Qw].mp4", false, false, false, 3, [], 1, ~U[2017-07-03 14:25:39Z], ~U[2026-09-16 21:09:07Z], ~U[2026-09-16 21:09:07Z], "Watch Exodus available exclusively on DailyWire+: https://bit.ly/3UgQLe6\n\nThe story of Noah and the Ark is next in the Genesis sequence. This is a more elaborated tale than the initial creation account, or the story of Adam and Eve or Cain and Abel. However, it cannot be understood in its true depth without some investigation into what the motif of the flood means, psychologically, and an analysis of how that motif is informed by the order/chaos dichotomy, as well as by the idea of an involuntary voyage to the underworld or confrontation with the dragon. In consequence, this lecture concentrates almost exclusively on psychology: How is an encounter with the unknown to be understood, conceptually? How and why is that represented with themes such as the underworld voyage, the dragon fight, or the flood? \n\nAll that constitutes the theme of lecture VI.\n\nProducer Credit and thanks to the following $200/month Patreon supporters. Without such support, this series would not have happened: Adam Clarke, Alexander Meckhai’el Beraeros, Andy Baker, Arden C. Armstrong, Badr Amari, BC, Ben Baker, Benjamin Cracknell, Brandon Yates, Chad Grills, Chris Martakis, Christopher Ballew, Craig Morrison, Daljeet Singh, Damian Fink, Dan Gaylinn, Daren Connel, David Johnson, David Tien, Donald Mitchell, Eleftheria Libertatem, Enrico Lejaru, George Diaz, GeorgeB, Holly Lindquist, Ian Trick, James Bradley, James N. Daniel, III, Jan Schanek, Jason R. Ferenc, Jesse Michalak, Joe Cairns, Joel Kurth, John Woolley, Johnny Vinje, Julie Byrne, Keith Jones, Kevin Fallon, Kevin Patrick McSurdy, Kevin Van Eekeren, Kristina Ripka, Louise Parberry, Matt Karamazov, Matt Sattler, Mayor Berkowitz , Michael Thiele, Nathan Claus, Nick Swenson , Patricia Newman, Robb Kelley, Robin Otto, Ryan Kane, Sabish Balan, Salman Alsabah, Scott Carter, Sean C., Sean Magin, Sebastian Thaci, Shiqi Hu, Soheil Daftarian, Srdan Pavlovic, Starting Ideas, Too Analytical, Trey McLemore, William Wilkinson, Yazz Troche, Zachary Vader\n\n--- SUPPORT THIS CHANNEL ---\n\nDirect Support: https://www.jordanbpeterson.com/donate\nMerchandise: https://teespring.com/stores/jordanbpeterson\n\n--- BOOKS ---\n\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life/\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning/\n\n--- LINKS ---\n\nWebsite: https://jordanbpeterson.com/\n12 Rules for Life Tour: https://jordanbpeterson.com/events/\nBlog: https://jordanbpeterson.com/blog/\nPodcast: https://jordanbpeterson.com/podcast/\nReading List: https://jordanbpeterson.com/great-books/\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nFacebook: https://www.facebook.com/drjordanpeterson\n\n--- PRODUCTS ---\n\nPersonality Course: https://www.jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com/\nUnderstand Myself personality test: https://understandmyself.com/\nMerchandise: https://teespring.com/stores/jordanbpeterson", "Lecture: Biblical Series VI: The Psychology of the Flood", 9357, false, "wNjbasba-Qw", "https://www.youtube.com/watch?v=wNjbasba-Qw", "/downloads/Jordan B Peterson/2017-07-03 Lecture: Biblical Series VI: The Psychology of the Flood/Lecture: Biblical Series VI: The Psychology of the Flood [wNjbasba-Qw].mp4", false, 3, ~U[2017-07-03 14:25:39Z]] 21:09:07.671 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=484.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:07.672 [debug] QUERY OK source="media_profiles" db=0.6ms idle=9.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:09:07.673 [debug] QUERY OK source="media_items" db=0.6ms idle=10.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [46245] 21:09:07.673 [debug] Current batch of media processed. Will check again in 1000ms 21:09:08.676 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, I explain cortisol and science-based protocols for properly setting your cortisol rhythm, which can significantly increase your daytime energy, focus, mood, and stress resilience, while also improving your sleep quality.\n\nMost people mistakenly think cortisol is bad, and many assume their levels are too high, when in fact many health and performance challenges simply stem from a disrupted cortisol rhythm. Getting your cortisol rhythm right can be transformative for your health and performance.\n\nI outline behavioral, nutritional, and supplement-based strategies to raise or lower your cortisol levels at the appropriate times of day and night. I also provide specific protocols for overcoming burnout.\n\nIf you’re dealing with stress, low energy, hormone or sleep challenges—or simply want to optimize these for the sake of your physical and mental health and performance—this episode offers science-backed protocols to help.\n\nEpisode show notes: https://go.hubermanlab.com/UbpcfeH\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman\nCarbon: https://joincarbon.com/huberman\nBetterHelp: https://betterhelp.com/huberman\nDavid: https://davidprotein.com/huberman\nLMNT: https://drinklmnt.com/huberman\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Cortisol \n00:01:29 Stress, Tool: Daily Cortisol Rhythm \n00:03:16 Cortisol & Directing Energy, Glucose, Adrenals \n00:06:39 Sponsors: Carbon & BetterHelp \n00:10:14 Daily Cortisol Phases & Rhythm, Waking Up & Cortisol \n00:17:55 Cortisol Release & Regulation, Hypothalamic-Pituitary-Adrenal (HPA) Axis \n00:24:57 Rapid & Delayed Stress Response, HPA Axis \n00:28:42 Bright Light & Cortisol Release, Tool: Increase Morning Cortisol & Sunlight \n00:36:58 Sponsors: AG1 & David \n00:39:48 Viewing Bright Light & Mood, Depression, Seasonal Affective Disorder (SAD) \n00:41:44 Increase Morning Cortisol, Tools: Hydration, Delaying Caffeine Intake \n00:49:30 Exercise, Entrainment Cues & Cortisol Rhythm, Tool: Boost Energy & Exercise Schedule \n00:57:52 Does Deliberate Cold Exposure Increase Cortisol?, Energy & Mood \n01:01:19 Sponsor: LMNT \n01:02:51 Increase Morning Cortisol & Nutrition, Grapefruit, Black Licorice \n01:11:34 Afternoon & Evening Cortisol Rhythms, Sunlight, Screens \n01:14:30 Lower Evening Cortisol, Tools: Dim Lights, Light Color \n01:20:54 Lower Evening Cortisol, Tools: Caffeine Timing; Stress Response & Exhales; Starchy Carbohydrates \n01:30:42 Low-Carb Diets & Cortisol, Metabolic Syndrome \n01:35:30 Evening Exercise & Cortisol, Tool: Spike Your Morning Cortisol \n01:44:32 Supplements to Reduce Cortisol, Ashwagandha, Apigenin, Magnesium \n01:50:57 Burnout, Cushing's & Addison's, 2 Burnout Patterns \n01:55:23 Early-Phase Burnout, Tools: NSDR/Yoga Nidra, Boost Morning Cortisol, Caffeine \n02:01:35 Late-Phase Burnout, Tools: Reduce Evening Cortisol \n02:08:02 Age, Male vs Females, Lifespan, Cancer; Menopause; Brain Health \n02:13:41 Zero-Cost Support, YouTube, Spotify & Apple Follow & Reviews, Sponsors, YouTube Feedback, Protocols Book, Social Media, Neural Network Newsletter\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "duration" => 8176, "filename" => "/downloads/Andrew Huberman/2025-08-04 How to Control Your Cortisol & Overcome Burnout/How to Control Your Cortisol & Overcome Burnout [Ibj1k3IZTNU].mp4", "id" => "Ibj1k3IZTNU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ibj1k3IZTNU", "playlist_index" => 49, "timestamp" => 1754308837, "title" => "How to Control Your Cortisol & Overcome Burnout", "upload_date" => "20250804"} 21:09:08.677 [debug] QUERY OK source="sources" db=0.5ms idle=1006.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:09:08.679 [debug] QUERY OK source="sources" db=0.6ms queue=1.7ms idle=1005.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:08.680 [debug] QUERY OK source="media_items" db=0.4ms queue=0.3ms idle=1007.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-04 12:00:37Z], 3] 21:09:08.698 [debug] QUERY OK source="media_items" db=16.3ms queue=0.1ms idle=1007.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, I explain cortisol and science-based protocols for properly setting your cortisol rhythm, which can significantly increase your daytime energy, focus, mood, and stress resilience, while also improving your sleep quality.\n\nMost people mistakenly think cortisol is bad, and many assume their levels are too high, when in fact many health and performance challenges simply stem from a disrupted cortisol rhythm. Getting your cortisol rhythm right can be transformative for your health and performance.\n\nI outline behavioral, nutritional, and supplement-based strategies to raise or lower your cortisol levels at the appropriate times of day and night. I also provide specific protocols for overcoming burnout.\n\nIf you’re dealing with stress, low energy, hormone or sleep challenges—or simply want to optimize these for the sake of your physical and mental health and performance—this episode offers science-backed protocols to help.\n\nEpisode show notes: https://go.hubermanlab.com/UbpcfeH\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman\nCarbon: https://joincarbon.com/huberman\nBetterHelp: https://betterhelp.com/huberman\nDavid: https://davidprotein.com/huberman\nLMNT: https://drinklmnt.com/huberman\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Cortisol \n00:01:29 Stress, Tool: Daily Cortisol Rhythm \n00:03:16 Cortisol & Directing Energy, Glucose, Adrenals \n00:06:39 Sponsors: Carbon & BetterHelp \n00:10:14 Daily Cortisol Phases & Rhythm, Waking Up & Cortisol \n00:17:55 Cortisol Release & Regulation, Hypothalamic-Pituitary-Adrenal (HPA) Axis \n00:24:57 Rapid & Delayed Stress Response, HPA Axis \n00:28:42 Bright Light & Cortisol Release, Tool: Increase Morning Cortisol & Sunlight \n00:36:58 Sponsors: AG1 & David \n00:39:48 Viewing Bright Light & Mood, Depression, Seasonal Affective Disorder (SAD) \n00:41:44 Increase Morning Cortisol, Tools: Hydration, Delaying Caffeine Intake \n00:49:30 Exercise, Entrainment Cues & Cortisol Rhythm, Tool: Boost Energy & Exercise Schedule \n00:57:52 Does Deliberate Cold Exposure Increase Cortisol?, Energy & Mood \n01:01:19 Sponsor: LMNT \n01:02:51 Increase Morning Cortisol & Nutrition, Grapefruit, Black Licorice \n01:11:34 Afternoon & Evening Cortisol Rhythms, Sunlight, Screens \n01:14:30 Lower Evening Cortisol, Tools: Dim Lights, Light Color \n01:20:54 Lower Evening Cortisol, Tools: Caffeine Timing; Stress Response & Exhales; Starchy Carbohydrates \n01:30:42 Low-Carb Diets & Cortisol, Metabolic Syndrome \n01:35:30 Evening Exercise & Cortisol, Tool: Spike Your Morning Cortisol \n01:44:32 Supplements to Reduce Cortisol, Ashwagandha, Apigenin, Magnesium \n01:50:57 Burnout, Cushing's & Addison's, 2 Burnout Patterns \n01:55:23 Early-Phase Burnout, Tools: NSDR/Yoga Nidra, Boost Morning Cortisol, Caffeine \n02:01:35 Late-Phase Burnout, Tools: Reduce Evening Cortisol \n02:08:02 Age, Male vs Females, Lifespan, Cancer; Menopause; Brain Health \n02:13:41 Zero-Cost Support, YouTube, Spotify & Apple Follow & Reviews, Sponsors, YouTube Feedback, Protocols Book, Social Media, Neural Network Newsletter\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Control Your Cortisol & Overcome Burnout", "966428f4-d082-4e6f-8dc5-5fca35b5cd57", 8176, false, "Ibj1k3IZTNU", "https://www.youtube.com/watch?v=Ibj1k3IZTNU", 49, "/downloads/Andrew Huberman/2025-08-04 How to Control Your Cortisol & Overcome Burnout/How to Control Your Cortisol & Overcome Burnout [Ibj1k3IZTNU].mp4", false, false, false, 3, [], 1, ~U[2025-08-04 12:00:37Z], ~U[2026-09-16 21:09:08Z], ~U[2026-09-16 21:09:08Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, I explain cortisol and science-based protocols for properly setting your cortisol rhythm, which can significantly increase your daytime energy, focus, mood, and stress resilience, while also improving your sleep quality.\n\nMost people mistakenly think cortisol is bad, and many assume their levels are too high, when in fact many health and performance challenges simply stem from a disrupted cortisol rhythm. Getting your cortisol rhythm right can be transformative for your health and performance.\n\nI outline behavioral, nutritional, and supplement-based strategies to raise or lower your cortisol levels at the appropriate times of day and night. I also provide specific protocols for overcoming burnout.\n\nIf you’re dealing with stress, low energy, hormone or sleep challenges—or simply want to optimize these for the sake of your physical and mental health and performance—this episode offers science-backed protocols to help.\n\nEpisode show notes: https://go.hubermanlab.com/UbpcfeH\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman\nCarbon: https://joincarbon.com/huberman\nBetterHelp: https://betterhelp.com/huberman\nDavid: https://davidprotein.com/huberman\nLMNT: https://drinklmnt.com/huberman\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Cortisol \n00:01:29 Stress, Tool: Daily Cortisol Rhythm \n00:03:16 Cortisol & Directing Energy, Glucose, Adrenals \n00:06:39 Sponsors: Carbon & BetterHelp \n00:10:14 Daily Cortisol Phases & Rhythm, Waking Up & Cortisol \n00:17:55 Cortisol Release & Regulation, Hypothalamic-Pituitary-Adrenal (HPA) Axis \n00:24:57 Rapid & Delayed Stress Response, HPA Axis \n00:28:42 Bright Light & Cortisol Release, Tool: Increase Morning Cortisol & Sunlight \n00:36:58 Sponsors: AG1 & David \n00:39:48 Viewing Bright Light & Mood, Depression, Seasonal Affective Disorder (SAD) \n00:41:44 Increase Morning Cortisol, Tools: Hydration, Delaying Caffeine Intake \n00:49:30 Exercise, Entrainment Cues & Cortisol Rhythm, Tool: Boost Energy & Exercise Schedule \n00:57:52 Does Deliberate Cold Exposure Increase Cortisol?, Energy & Mood \n01:01:19 Sponsor: LMNT \n01:02:51 Increase Morning Cortisol & Nutrition, Grapefruit, Black Licorice \n01:11:34 Afternoon & Evening Cortisol Rhythms, Sunlight, Screens \n01:14:30 Lower Evening Cortisol, Tools: Dim Lights, Light Color \n01:20:54 Lower Evening Cortisol, Tools: Caffeine Timing; Stress Response & Exhales; Starchy Carbohydrates \n01:30:42 Low-Carb Diets & Cortisol, Metabolic Syndrome \n01:35:30 Evening Exercise & Cortisol, Tool: Spike Your Morning Cortisol \n01:44:32 Supplements to Reduce Cortisol, Ashwagandha, Apigenin, Magnesium \n01:50:57 Burnout, Cushing's & Addison's, 2 Burnout Patterns (truncated) 21:09:08.699 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=511.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:08.702 [debug] QUERY OK source="media_profiles" db=2.8ms queue=0.3ms idle=22.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] 21:09:08.705 [debug] QUERY OK source="media_items" db=0.5ms queue=0.4ms idle=25.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 [46246] 21:09:08.706 [debug] Current batch of media processed. Will check again in 1000ms 21:09:09.707 [debug] Current batch of media processed. Will check again in 1000ms 21:09:10.708 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "This is a special release from the We Who Wrestle With God Tour in Nashville, Tennessee. Dr. Jordan B. Peterson discusses how worldview operates as a useful story, why might doesn't make right, how chaos manifests as infinite possibility without aim, the biblical role of women, and the original sins of Adam.\n\nDr. Peterson's extensive catalog is available now on DailyWire+: https://bit.ly/3KrWbS8\n\nALL LINKS: https://linktr.ee/drjordanbpeterson\n\n\n- Sponsors -\n\nExpressVPN: Get 3 Months FREE of ExpressVPN: https://expressvpn.com/jordan\n\nHallow: Get 3 months free at https://hallow.com/Jordan \n\nNetsuite: Make better business decisions with NetSuite https://www.NetSuite.com/JBP\n\n\n- Chapters -\n\n(0:00) Introduction\n(3:40) The dawn of new realizations and a return to fundamentals\n(11:40) Worldview is a useful story, voluntary exposure underpins entertainment\n(15:43) Are relationships based on facts and propositions?\n(20:29) The world reveals itself in accordance to your aim\n(23:35) Rise of the literary critic, \"The Selfish Gene\" claim\n(27:21) Sex and power; why doesn’t might make right?\n(32:02) The central story of the West\n(35:29) The proper object of worship, admiration, and aim\n(37:25) Navigating the chaos and confusion of infinite possibility\n(42:08) The Logos: the process by which God manifests being from potential\n(48:28) The locust of value, how America embodies upward aim\n(51:57) Why Adam tended a “walled garden”\n(55:34) The biblical role of women, the biological role of the mother\n(56:50) We are conscious matter, “what’s up with that?”\n(58:42) A critique of the feminist critique of the creation of Eve\n(1:00:30) Moral knowledge, Nietzsche’s prediction and folly\n(1:09:40) The sins of Adam and the prideful fall\n\n\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n#JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus", "duration" => 4664, "filename" => "/downloads/Jordan B Peterson/2024-05-30 The Sins of Adam and the True Nature of Eve/The Sins of Adam and the True Nature of Eve [R2f13GzlGnc].mp4", "id" => "R2f13GzlGnc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=R2f13GzlGnc", "playlist_index" => 50, "timestamp" => 1717102813, "title" => "The Sins of Adam and the True Nature of Eve", "upload_date" => "20240530"} 21:09:10.708 [debug] QUERY OK source="sources" db=0.2ms idle=912.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:09:10.709 [debug] QUERY OK source="sources" db=0.1ms idle=913.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:10.709 [debug] QUERY OK source="media_items" db=0.3ms idle=913.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-30 21:00:13Z], 3] 21:09:10.712 [debug] QUERY OK source="media_items" db=1.6ms idle=914.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["This is a special release from the We Who Wrestle With God Tour in Nashville, Tennessee. Dr. Jordan B. Peterson discusses how worldview operates as a useful story, why might doesn't make right, how chaos manifests as infinite possibility without aim, the biblical role of women, and the original sins of Adam.\n\nDr. Peterson's extensive catalog is available now on DailyWire+: https://bit.ly/3KrWbS8\n\nALL LINKS: https://linktr.ee/drjordanbpeterson\n\n\n- Sponsors -\n\nExpressVPN: Get 3 Months FREE of ExpressVPN: https://expressvpn.com/jordan\n\nHallow: Get 3 months free at https://hallow.com/Jordan \n\nNetsuite: Make better business decisions with NetSuite https://www.NetSuite.com/JBP\n\n\n- Chapters -\n\n(0:00) Introduction\n(3:40) The dawn of new realizations and a return to fundamentals\n(11:40) Worldview is a useful story, voluntary exposure underpins entertainment\n(15:43) Are relationships based on facts and propositions?\n(20:29) The world reveals itself in accordance to your aim\n(23:35) Rise of the literary critic, \"The Selfish Gene\" claim\n(27:21) Sex and power; why doesn’t might make right?\n(32:02) The central story of the West\n(35:29) The proper object of worship, admiration, and aim\n(37:25) Navigating the chaos and confusion of infinite possibility\n(42:08) The Logos: the process by which God manifests being from potential\n(48:28) The locust of value, how America embodies upward aim\n(51:57) Why Adam tended a “walled garden”\n(55:34) The biblical role of women, the biological role of the mother\n(56:50) We are conscious matter, “what’s up with that?”\n(58:42) A critique of the feminist critique of the creation of Eve\n(1:00:30) Moral knowledge, Nietzsche’s prediction and folly\n(1:09:40) The sins of Adam and the prideful fall\n\n\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n#JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus", "The Sins of Adam and the True Nature of Eve", "336c6280-d216-4107-9c9c-eeb42ae72334", 4664, false, "R2f13GzlGnc", "https://www.youtube.com/watch?v=R2f13GzlGnc", 50, "/downloads/Jordan B Peterson/2024-05-30 The Sins of Adam and the True Nature of Eve/The Sins of Adam and the True Nature of Eve [R2f13GzlGnc].mp4", false, false, false, 3, [], 1, ~U[2024-05-30 21:00:13Z], ~U[2026-09-16 21:09:10Z], ~U[2026-09-16 21:09:10Z], "This is a special release from the We Who Wrestle With God Tour in Nashville, Tennessee. Dr. Jordan B. Peterson discusses how worldview operates as a useful story, why might doesn't make right, how chaos manifests as infinite possibility without aim, the biblical role of women, and the original sins of Adam.\n\nDr. Peterson's extensive catalog is available now on DailyWire+: https://bit.ly/3KrWbS8\n\nALL LINKS: https://linktr.ee/drjordanbpeterson\n\n\n- Sponsors -\n\nExpressVPN: Get 3 Months FREE of ExpressVPN: https://expressvpn.com/jordan\n\nHallow: Get 3 months free at https://hallow.com/Jordan \n\nNetsuite: Make better business decisions with NetSuite https://www.NetSuite.com/JBP\n\n\n- Chapters -\n\n(0:00) Introduction\n(3:40) The dawn of new realizations and a return to fundamentals\n(11:40) Worldview is a useful story, voluntary exposure underpins entertainment\n(15:43) Are relationships based on facts and propositions?\n(20:29) The world reveals itself in accordance to your aim\n(23:35) Rise of the literary critic, \"The Selfish Gene\" claim\n(27:21) Sex and power; why doesn’t might make right?\n(32:02) The central story of the West\n(35:29) The proper object of worship, admiration, and aim\n(37:25) Navigating the chaos and confusion of infinite possibility\n(42:08) The Logos: the process by which God manifests being from potential\n(48:28) The locust of value, how America embodies upward aim\n(51:57) Why Adam tended a “walled garden”\n(55:34) The biblical role of women, the biological role of the mother\n(56:50) We are conscious matter, “what’s up with that?”\n(58:42) A critique of the feminist critique of the creation of Eve\n(1:00:30) Moral knowledge, Nietzsche’s prediction and folly\n(1:09:40) The sins of Adam and the prideful fall\n\n\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n#JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus", "The Sins of Adam and the True Nature of Eve", 4664, false, "R2f13GzlGnc", "https://www.youtube.com/watch?v=R2f13GzlGnc", "/downloads/Jordan B Peterson/2024-05-30 The Sins of Adam and the True Nature of Eve/The Sins of Adam and the True Nature of Eve [R2f13GzlGnc].mp4", false, 3, ~U[2024-05-30 21:00:13Z]] 21:09:10.712 [debug] QUERY OK source="sources" db=0.2ms idle=522.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:10.713 [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] 21:09:10.713 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [46247] 21:09:10.713 [debug] Current batch of media processed. Will check again in 1000ms 21:09:11.715 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Over the last few weeks, we have put together a series entitled \"Meaning, Awe and the Conceptualization of God\" for the Dr Jordan B Peterson Podcast. This series was built around investigating the various methods and practices that humans use to conceptualize God. This investigation leads us down the path of exploring meaning and awe. Why are we struck by awe when viewing a beautiful painting? Why does walking inside the door of a great Cathedral take our breath away? What is the relationship between these experiences and God? \n\nThis compilation includes all 3 parts, as can be found separately wherever you listen to your audio podcasts!\n\nFeatured in this compilation:\n\u00A0@Jonathan Pageau\u00A0 \n\u00A0@John Vervaeke\u00A0 \n\u00A0@Bishop Robert Barron\u00A0 \nStephen Blackwood\nRoland Griffiths\nIain McGilchrist\nStephen Fry\nRandall Wallace\n\u00A0@Word on Fire Institute\u00A0 (Christopher Kaczor and Matthew Petrusek)\n\nThis series was released in three parts on all audio platforms. The series was popular enough for us to make a video version of the series, and we decided to put them all together in one video. \n\nSubscribe to the Jordan B Peterson Podcast on Apple Podcasts, Spotify, and everywhere else that you listen to podcasts.\n\n// SUPPORT THIS CHANNEL //\nNewsletter: https://linktr.ee/DrJordanBPeterson\nDonations: https://jordanbpeterson.com/donate\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n// LINKS //\nWebsite: https://jordanbpeterson.com\nEvents: https://jordanbpeterson.com/events\nBlog: https://jordanbpeterson.com/blog\nPodcast: https://jordanbpeterson.com/podcast\n\n// SOCIAL //\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://instagram.com/jordan.b.peterson\nFacebook: https://facebook.com/drjordanpeterson\n\n// SPONSORS //\nFor Advertising Inquiries, visit https://www.advertisecast.com/TheJordanBPetersonPodcast", "duration" => 11241, "filename" => "/downloads/Jordan B Peterson/2021-11-26 Meaning, Awe, and the Conceptualization of God (Part 1-3) | EP 202/Meaning, Awe, and the Conceptualization of God (Part 1-3) | EP 202 [v0s5klPtQXk].mp4", "id" => "v0s5klPtQXk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=v0s5klPtQXk", "playlist_index" => 51, "timestamp" => 1637962031, "title" => "Meaning, Awe, and the Conceptualization of God (Part 1-3) | EP 202", "upload_date" => "20211126"} 21:09:11.716 [debug] QUERY OK source="sources" db=0.4ms idle=1003.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:09:11.716 [debug] QUERY OK source="sources" db=0.1ms idle=1003.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:11.717 [debug] QUERY OK source="media_items" db=0.3ms idle=1003.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-26 21:27:11Z], 3] 21:09:11.719 [debug] QUERY OK source="media_items" db=1.5ms idle=1003.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Over the last few weeks, we have put together a series entitled \"Meaning, Awe and the Conceptualization of God\" for the Dr Jordan B Peterson Podcast. This series was built around investigating the various methods and practices that humans use to conceptualize God. This investigation leads us down the path of exploring meaning and awe. Why are we struck by awe when viewing a beautiful painting? Why does walking inside the door of a great Cathedral take our breath away? What is the relationship between these experiences and God? \n\nThis compilation includes all 3 parts, as can be found separately wherever you listen to your audio podcasts!\n\nFeatured in this compilation:\n\u00A0@Jonathan Pageau\u00A0 \n\u00A0@John Vervaeke\u00A0 \n\u00A0@Bishop Robert Barron\u00A0 \nStephen Blackwood\nRoland Griffiths\nIain McGilchrist\nStephen Fry\nRandall Wallace\n\u00A0@Word on Fire Institute\u00A0 (Christopher Kaczor and Matthew Petrusek)\n\nThis series was released in three parts on all audio platforms. The series was popular enough for us to make a video version of the series, and we decided to put them all together in one video. \n\nSubscribe to the Jordan B Peterson Podcast on Apple Podcasts, Spotify, and everywhere else that you listen to podcasts.\n\n// SUPPORT THIS CHANNEL //\nNewsletter: https://linktr.ee/DrJordanBPeterson\nDonations: https://jordanbpeterson.com/donate\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n// LINKS //\nWebsite: https://jordanbpeterson.com\nEvents: https://jordanbpeterson.com/events\nBlog: https://jordanbpeterson.com/blog\nPodcast: https://jordanbpeterson.com/podcast\n\n// SOCIAL //\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://instagram.com/jordan.b.peterson\nFacebook: https://facebook.com/drjordanpeterson\n\n// SPONSORS //\nFor Advertising Inquiries, visit https://www.advertisecast.com/TheJordanBPetersonPodcast", "Meaning, Awe, and the Conceptualization of God (Part 1-3) | EP 202", "9ce5233d-a192-46f9-9aec-5d59357bebfe", 11241, false, "v0s5klPtQXk", "https://www.youtube.com/watch?v=v0s5klPtQXk", 51, "/downloads/Jordan B Peterson/2021-11-26 Meaning, Awe, and the Conceptualization of God (Part 1-3) | EP 202/Meaning, Awe, and the Conceptualization of God (Part 1-3) | EP 202 [v0s5klPtQXk].mp4", false, false, false, 3, [], 1, ~U[2021-11-26 21:27:11Z], ~U[2026-09-16 21:09:11Z], ~U[2026-09-16 21:09:11Z], "Over the last few weeks, we have put together a series entitled \"Meaning, Awe and the Conceptualization of God\" for the Dr Jordan B Peterson Podcast. This series was built around investigating the various methods and practices that humans use to conceptualize God. This investigation leads us down the path of exploring meaning and awe. Why are we struck by awe when viewing a beautiful painting? Why does walking inside the door of a great Cathedral take our breath away? What is the relationship between these experiences and God? \n\nThis compilation includes all 3 parts, as can be found separately wherever you listen to your audio podcasts!\n\nFeatured in this compilation:\n\u00A0@Jonathan Pageau\u00A0 \n\u00A0@John Vervaeke\u00A0 \n\u00A0@Bishop Robert Barron\u00A0 \nStephen Blackwood\nRoland Griffiths\nIain McGilchrist\nStephen Fry\nRandall Wallace\n\u00A0@Word on Fire Institute\u00A0 (Christopher Kaczor and Matthew Petrusek)\n\nThis series was released in three parts on all audio platforms. The series was popular enough for us to make a video version of the series, and we decided to put them all together in one video. \n\nSubscribe to the Jordan B Peterson Podcast on Apple Podcasts, Spotify, and everywhere else that you listen to podcasts.\n\n// SUPPORT THIS CHANNEL //\nNewsletter: https://linktr.ee/DrJordanBPeterson\nDonations: https://jordanbpeterson.com/donate\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n// LINKS //\nWebsite: https://jordanbpeterson.com\nEvents: https://jordanbpeterson.com/events\nBlog: https://jordanbpeterson.com/blog\nPodcast: https://jordanbpeterson.com/podcast\n\n// SOCIAL //\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://instagram.com/jordan.b.peterson\nFacebook: https://facebook.com/drjordanpeterson\n\n// SPONSORS //\nFor Advertising Inquiries, visit https://www.advertisecast.com/TheJordanBPetersonPodcast", "Meaning, Awe, and the Conceptualization of God (Part 1-3) | EP 202", 11241, false, "v0s5klPtQXk", "https://www.youtube.com/watch?v=v0s5klPtQXk", "/downloads/Jordan B Peterson/2021-11-26 Meaning, Awe, and the Conceptualization of God (Part 1-3) | EP 202/Meaning, Awe, and the Conceptualization of God (Part 1-3) | EP 202 [v0s5klPtQXk].mp4", false, 3, ~U[2021-11-26 21:27:11Z]] 21:09:11.719 [debug] QUERY OK source="sources" db=0.1ms idle=527.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:11.720 [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] 21:09:11.720 [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 [47118] 21:09:11.720 [debug] Current batch of media processed. Will check again in 1000ms 21:09:12.722 [debug] Current batch of media processed. Will check again in 1000ms 21:09:13.723 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Arthur Brooks is a social scientist, professor at Harvard University, and an author.\n\nWhat does it really take to live a fulfilling life? With endless advice on how to boost or sabotage happiness, what does science actually say about feeling better and living well?\n\nExpect to learn whether psychological or physical elements contribute to wellbeing more, if most people need more happiness or less unhappiness, what the most reliable lever is to lower negative feelings, what the gold standard is for how people should deal with a breakup, the most underrated happiness intervention in daily life, why reading aloud or being read to calms the brain so much, and much more…\n\n-\n\n0:00 Is Wellbeing Physical or Mental?\n8:37 Why Privilege Can Fuel Addiction\n18:30 The Key To Managing Yourself More Effectively\n35:51 How to Rewire Anxiety and Uncertainty\n42:25 How Biology Shapes Our Relationships\n50:33 Why Growth Stems From Pain\n59:08 Designing the Optimal Morning Routine\n01:08:55 The Physiology of Staying Fit as You Age\n01:18:49 Engineering the Optimal Evening Routine\n01:24:31 Can You Over-Optimise Your Wellbeing?\n01:29:45 What Causes Us the Most Pain?\n01:33:01 The Neuroscience of Heartbreak\n01:39:57 Has Modern Freedom Backfired on Happiness?\n01:47:27 Where to Find Arthur\n\n-\n\nGet a free bottle of D3K2, an AG1 Welcome Kit, and more when you first subscribe at https://ag1.info/modernwisdom\n\nNew pricing since recording: Function is now just $365, plus get $25 off at https://functionhealth.com/modernwisdom\n\nGet a Free Sample Pack of LMNT’s most popular flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\nGet 35% off your first subscription on the best supplements from Momentous at https://livemomentous.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spotify.modernwisdom.com or Apple Podcasts - https://apple.modernwisdom.com\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "duration" => 6500, "filename" => "/downloads/Chris Williamson/2026-01-08 14 Habits for an Optimised Morning & Evening Routine - Arthur Brooks/14 Habits for an Optimised Morning & Evening Routine - Arthur Brooks [STBbuMmU20U].mp4", "id" => "STBbuMmU20U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=STBbuMmU20U", "playlist_index" => 52, "timestamp" => 1767888052, "title" => "14 Habits for an Optimised Morning & Evening Routine - Arthur Brooks", "upload_date" => "20260108"} 21:09:13.724 [debug] QUERY OK source="sources" db=0.2ms idle=927.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:09:13.724 [debug] QUERY OK source="sources" db=0.1ms idle=928.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:13.725 [debug] QUERY OK source="media_items" db=0.3ms idle=928.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-08 16:00:52Z], 3] 21:09:13.729 [debug] QUERY OK source="media_items" db=4.1ms idle=929.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Arthur Brooks is a social scientist, professor at Harvard University, and an author.\n\nWhat does it really take to live a fulfilling life? With endless advice on how to boost or sabotage happiness, what does science actually say about feeling better and living well?\n\nExpect to learn whether psychological or physical elements contribute to wellbeing more, if most people need more happiness or less unhappiness, what the most reliable lever is to lower negative feelings, what the gold standard is for how people should deal with a breakup, the most underrated happiness intervention in daily life, why reading aloud or being read to calms the brain so much, and much more…\n\n-\n\n0:00 Is Wellbeing Physical or Mental?\n8:37 Why Privilege Can Fuel Addiction\n18:30 The Key To Managing Yourself More Effectively\n35:51 How to Rewire Anxiety and Uncertainty\n42:25 How Biology Shapes Our Relationships\n50:33 Why Growth Stems From Pain\n59:08 Designing the Optimal Morning Routine\n01:08:55 The Physiology of Staying Fit as You Age\n01:18:49 Engineering the Optimal Evening Routine\n01:24:31 Can You Over-Optimise Your Wellbeing?\n01:29:45 What Causes Us the Most Pain?\n01:33:01 The Neuroscience of Heartbreak\n01:39:57 Has Modern Freedom Backfired on Happiness?\n01:47:27 Where to Find Arthur\n\n-\n\nGet a free bottle of D3K2, an AG1 Welcome Kit, and more when you first subscribe at https://ag1.info/modernwisdom\n\nNew pricing since recording: Function is now just $365, plus get $25 off at https://functionhealth.com/modernwisdom\n\nGet a Free Sample Pack of LMNT’s most popular flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\nGet 35% off your first subscription on the best supplements from Momentous at https://livemomentous.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spotify.modernwisdom.com or Apple Podcasts - https://apple.modernwisdom.com\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "14 Habits for an Optimised Morning & Evening Routine - Arthur Brooks", "03d00808-6ef2-43ae-8c6c-51d222b2a951", 6500, false, "STBbuMmU20U", "https://www.youtube.com/watch?v=STBbuMmU20U", 52, "/downloads/Chris Williamson/2026-01-08 14 Habits for an Optimised Morning & Evening Routine - Arthur Brooks/14 Habits for an Optimised Morning & Evening Routine - Arthur Brooks [STBbuMmU20U].mp4", false, false, false, 3, [], 0, ~U[2026-01-08 16:00:52Z], ~U[2026-09-16 21:09:13Z], ~U[2026-09-16 21:09:13Z], "Arthur Brooks is a social scientist, professor at Harvard University, and an author.\n\nWhat does it really take to live a fulfilling life? With endless advice on how to boost or sabotage happiness, what does science actually say about feeling better and living well?\n\nExpect to learn whether psychological or physical elements contribute to wellbeing more, if most people need more happiness or less unhappiness, what the most reliable lever is to lower negative feelings, what the gold standard is for how people should deal with a breakup, the most underrated happiness intervention in daily life, why reading aloud or being read to calms the brain so much, and much more…\n\n-\n\n0:00 Is Wellbeing Physical or Mental?\n8:37 Why Privilege Can Fuel Addiction\n18:30 The Key To Managing Yourself More Effectively\n35:51 How to Rewire Anxiety and Uncertainty\n42:25 How Biology Shapes Our Relationships\n50:33 Why Growth Stems From Pain\n59:08 Designing the Optimal Morning Routine\n01:08:55 The Physiology of Staying Fit as You Age\n01:18:49 Engineering the Optimal Evening Routine\n01:24:31 Can You Over-Optimise Your Wellbeing?\n01:29:45 What Causes Us the Most Pain?\n01:33:01 The Neuroscience of Heartbreak\n01:39:57 Has Modern Freedom Backfired on Happiness?\n01:47:27 Where to Find Arthur\n\n-\n\nGet a free bottle of D3K2, an AG1 Welcome Kit, and more when you first subscribe at https://ag1.info/modernwisdom\n\nNew pricing since recording: Function is now just $365, plus get $25 off at https://functionhealth.com/modernwisdom\n\nGet a Free Sample Pack of LMNT’s most popular flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\nGet 35% off your first subscription on the best supplements from Momentous at https://livemomentous.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spotify.modernwisdom.com or Apple Podcasts - https://apple.modernwisdom.com\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "14 Habits for an Optimised Morning & Evening Routine - Arthur Brooks", 6500, false, "STBbuMmU20U", "https://www.youtube.com/watch?v=STBbuMmU20U", "/downloads/Chris Williamson/2026-01-08 14 Habits for an Optimised Morning & Evening Routine - Arthur Brooks/14 Habits for an Optimised Morning & Evening Routine - Arthur Brooks [STBbuMmU20U].mp4", false, 3, ~U[2026-01-08 16:00:52Z]] 21:09:13.730 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=535.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:13.730 [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" = ?) [2] 21:09:13.731 [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 [115304] 21:09:13.758 [info] Kicking off download for media item #115304 (STBbuMmU20U) 21:09:13.786 [debug] QUERY OK source="tasks" db=0.5ms idle=55.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [9495, 115304, ~U[2026-09-16 21:09:13Z], ~U[2026-09-16 21:09:13Z]] 21:09:13.787 [debug] Current batch of media processed. Will check again in 1000ms 21:09:13.792 [info] {"args":{"id":115304},"id":9495,"meta":{},"system_time":1789592953792825930,"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"]} 21:09:13.796 [debug] QUERY OK source="media_items" db=0.3ms queue=0.2ms idle=64.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" = ?) [115304] 21:09:13.797 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:09:13.801 [debug] QUERY OK source="sources" db=0.2ms idle=16.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:13.802 [debug] QUERY OK source="media_profiles" db=0.2ms idle=16.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 21:09:13.803 [debug] QUERY OK source="media_items" db=0.4ms idle=16.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 [115304] 21:09:13.836 [debug] QUERY OK source="media_metadata" db=1.0ms queue=0.1ms idle=42.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" = ?) [115304] 21:09:13.837 [debug] QUERY OK source="media_profiles" db=0.4ms idle=40.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] 21:09:13.837 [debug] QUERY OK source="settings" db=0.5ms 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 [] 21:09:13.838 [debug] QUERY OK source="settings" db=0.4ms idle=35.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:09:13.839 [debug] Running yt-dlp command for action: get_downloadable_status 21:09:13.840 [debug] QUERY OK source="settings" db=0.1ms idle=36.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:09:13.840 [debug] QUERY OK source="settings" db=0.3ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:09:13.840 [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 [] 21:09:13.844 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=STBbuMmU20U --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3c/65/3c65f25593d67cf224493b061ec5f00b62c022e80f6a86eef8be7c117bda8b59.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:09:14.788 [debug] Current batch of media processed. Will check again in 1000ms 21:09:15.174 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLxtPwTvOWboBBBLooscJ3Fgwzn4T_J-mS --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/%(channel)S/%(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[format_note*=original]/bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/f3/fb/f3fb7d99359b75ad809ae7dccfdb7e905d0f1b39dad175f53c4be20cc1b3c755.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 21:09:15.177 [debug] Gracefully stopping file follower 21:09:15.177 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1338.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 21:09:15.178 [debug] QUERY OK source="sources" db=0.2ms idle=1337.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.178 [debug] QUERY OK source="media_items" db=0.3ms idle=1337.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-02 13:00:12Z], 3] 21:09:15.184 [debug] QUERY OK source="media_items" db=4.6ms idle=1338.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n Dr. Alok Kanojia, MD, MPH (\"Dr. K\"), is a Harvard-trained psychiatrist and expert in both Eastern and Western medicine to improve mental health. He explains tools for unlearning maladaptive thoughts and behavior patterns and for making behaviors that better mental and physical well-being more reflexive in work, relationships and daily life. We also discuss ways to resolve trauma, build stress tolerance, increase intrinsic motivation and even change temperament. We also discuss how social media, gaming and online dating shape our identity and perceptions and how to navigate them healthily.\n\nShow notes: https://go.hubermanlab.com/GQzMkKb\n\nThank you to our sponsors\nAG1: \u2060https://drinkag1.com/huberman\nLingo: \u2060https://hellolingo.com/huberman\nJoovv: \u2060https://joovv.com/huberman\nFunction: \u2060https://functionhealth.com/huberman\nEight Sleep: \u2060https://eightsleep.com/huberman\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\nDr. K\nWebsite: https://www.healthygamer.gg \nBook: https://amzn.to/4cSqejZ \nPodcast: https://open.spotify.com/show/6VaJwyS2KXxiXqR77jqzmP \nYouTube: https://www.youtube.com/channel/UClHVl2N3jPEbkNJVx-ItQIQ \nX: https://x.com/dr_alokkanojia\nInstagram: https://www.instagram.com/healthygamer_gg\nTikTok: https://www.tiktok.com/@healthygamer.gg \nTwitch: https://www.twitch.tv/healthygamer_gg \nLinkedIn: https://www.linkedin.com/in/alok-kanojia-md-mph-82860016 \n\nTimestamps\n00:00:00 Alok Kanojia (Dr. K)\n00:03:09 Internet, Computer Games; Academic Pressure\n00:07:11 Millennials & Self-Awareness, Hijacking Mental Health Language\n00:13:24 Sponsors: Lingo & Joovv\n00:16:06 Personality & Individual Road Maps, Misdiagnosis\n00:22:02 Ambiguity, Flirting, Social Skills Decline, Uncertainty Tolerance\n00:26:06 Dating in the Internet Age, Cognitive Bias\n00:30:39 Healthy Distress Tolerance, Tool: How to Feel Your Feelings\n00:39:58 Sponsor: AG1\n00:40:49 Expectations vs Internal Desire Roadmap, Western vs Eastern Theory of Mind, Ego\n00:50:35 Sense Organs, Comparison & Proving Oneself, Internal Drive\n00:59:22 Internet, Ego, \"Teflon Buddha\", Tool: Dealing with Criticism\n01:10:36 Observing One's Mind, Meditation, Psychedelics\n01:11:59 Sponsor: Function\n01:13:46 Tool: Shunya \"Void\" Meditation & Resilience\n01:24:02 External Reminders, Environment; Men & Emotional Regulation\n01:30:04 Samskara, Yoga Nidra, Trauma & Learning, Shunya & Personal Compass\n01:39:15 Yoga Nidra, Channeling Divinity, Genius\n01:42:30 Sponsor: Eight Sleep\n01:43:48 Breathwork Practices; Meditation Science, Self-Esteem & Belief Change\n01:53:40 Liminal States, Meditation Types & Benefits; Western & Eastern Balance\n02:01:50 Understanding Ego & Perception; AI & Narcissism, Psychosis\n02:14:07 Tool: Healthy Social Media Use, When To Not Use, Normal Standards\n02:18:38 Social Media & Looks Obsession, Purpose, Charisma\n02:24:18 Young Men Falling Behind?, Male Support, Suicide; Men in Relationships\n02:30:36 \"Stuck\" Young Men, Failure to Launch, Tool: Motivation & Understanding Oneself\n02:39:03 Pornography, Erectile Dysfunction, Emotions, Addiction; Relationships\n02:44:21 Men & Love, Looksmaxxing, Rejection, Partner Characteristics, Tool: Walk Before Dates\n02:55:12 Exploring Practices, Meditation, Breathwork\n03:01:39 Spirituality, Personal Exploration; Acknowledgements\n03:06:12 Zero-Cost Support, YouTube, Spotify & Apple Follow, Reviews & Feedback, Sponsors, \u2060Protocols Book\u2060, Social Media, Neural Network Newsletter\n\n#HubermanLab #Health #HealthyGamer\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Unlearn Negative Thoughts & Behaviors Patterns | Dr. Alok Kanojia (Healthy Gamer)", "eeac4326-8a39-4470-8f40-67c29936e3c1", 11323, false, "9G2MRFs4vac", "https://www.youtube.com/watch?v=9G2MRFs4vac", 1, "/downloads/Andrew Huberman/2026-03-02 Unlearn Negative Thoughts & Behaviors Patterns | Dr. Alok Kanojia (Healthy Gamer)/Unlearn Negative Thoughts & Behaviors Patterns | Dr. Alok Kanojia (Healthy Gamer) [9G2MRFs4vac].mp4", false, false, false, 3, [], 1, ~U[2026-03-02 13:00:12Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n Dr. Alok Kanojia, MD, MPH (\"Dr. K\"), is a Harvard-trained psychiatrist and expert in both Eastern and Western medicine to improve mental health. He explains tools for unlearning maladaptive thoughts and behavior patterns and for making behaviors that better mental and physical well-being more reflexive in work, relationships and daily life. We also discuss ways to resolve trauma, build stress tolerance, increase intrinsic motivation and even change temperament. We also discuss how social media, gaming and online dating shape our identity and perceptions and how to navigate them healthily.\n\nShow notes: https://go.hubermanlab.com/GQzMkKb\n\nThank you to our sponsors\nAG1: \u2060https://drinkag1.com/huberman\nLingo: \u2060https://hellolingo.com/huberman\nJoovv: \u2060https://joovv.com/huberman\nFunction: \u2060https://functionhealth.com/huberman\nEight Sleep: \u2060https://eightsleep.com/huberman\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \n\nDr. K\nWebsite: https://www.healthygamer.gg \nBook: https://amzn.to/4cSqejZ \nPodcast: https://open.spotify.com/show/6VaJwyS2KXxiXqR77jqzmP \nYouTube: https://www.youtube.com/channel/UClHVl2N3jPEbkNJVx-ItQIQ \nX: https://x.com/dr_alokkanojia\nInstagram: https://www.instagram.com/healthygamer_gg\nTikTok: https://www.tiktok.com/@healthygamer.gg \nTwitch: https://www.twitch.tv/healthygamer_gg \nLinkedIn: https://www.linkedin.com/in/alok-kanojia-md-mph-82860016 \n\nTimestamps\n00:00:00 Alok Kanojia (Dr. K)\n00:03:09 Internet, Computer Games; Academic Pressure\n00:07:11 Millennials & Self-Awareness, Hijacking Mental Health Language\n00:13:24 Sponsors: Lingo & Joovv\n00:16:06 Personality & Individual Road Maps, Misdiagnosis\n00:22:02 Ambiguity, Flirting, Social Skills Decline, Uncertainty Tolerance\n00:26:06 Dating in the Internet Age, Cognitive Bias\n00:30:39 Healthy Distress Tolerance, Tool: How to Feel Your Feelings\n00:39:58 Sponsor: AG1\n00:40:49 Expectations vs Internal Desire Roadmap, Western vs Eastern Theory of Mind, Ego\n00:50:35 Sense Organs, Comparison & Proving Oneself, Internal Drive\n00:59:22 Internet, Ego, \"Teflon Buddha\", Tool: Dealing with Criticism\n01:10:36 Observing One's Mind, Meditation, Psychedelics\n01:11:59 Sponsor: Function\n01:13:46 Tool: Shunya \"Void\" Meditation & Resilience\n01:24:02 External Reminders, Environment; Men & Emotional Regulation\n01:30:04 Samskara, Yoga Nidra, Trauma & Learning, Shunya & Personal Co (truncated) 21:09:15.185 [debug] QUERY OK source="sources" db=0.2ms idle=987.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.185 [debug] QUERY OK source="media_items" db=0.5ms idle=7.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-20 18:54:29Z], 3] 21:09:15.188 [debug] QUERY OK source="media_items" db=1.9ms idle=8.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In How to Plan Your Life, a six-hour course, Dr. Jordan Peterson explores the principles of personal development, meaningful living, and psychological transformation. He examines the interplay between order and chaos, the role of boundaries and vision-setting, and how instincts and motivations shape identity. Through psychological insights, Biblical narratives, and practical strategies, the course emphasizes personal responsibility, the pursuit of meaning, and the power of individual choices. Dr. Peterson concludes by highlighting how self-reflection, courageous action, and truthful living drive transformation and shape both personal and societal growth.\n\nSee more at http://www.petersonacademy.com and make sure to subscribe to \u202A@PetersonAcademy for more uploaded lectures!", "How to Plan Your Life | Lecture One (Official) | Peterson Academy", "777368a4-615b-4c53-a727-fc1492d3756c", 3719, false, "h69SwIn-bA4", "https://www.youtube.com/watch?v=h69SwIn-bA4", 2, "/downloads/Jordan B Peterson/2025-11-20 How to Plan Your Life | Lecture One (Official) | Peterson Academy/How to Plan Your Life | Lecture One (Official) | Peterson Academy [h69SwIn-bA4].mp4", false, false, false, 3, [], 1, ~U[2025-11-20 18:54:29Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "In How to Plan Your Life, a six-hour course, Dr. Jordan Peterson explores the principles of personal development, meaningful living, and psychological transformation. He examines the interplay between order and chaos, the role of boundaries and vision-setting, and how instincts and motivations shape identity. Through psychological insights, Biblical narratives, and practical strategies, the course emphasizes personal responsibility, the pursuit of meaning, and the power of individual choices. Dr. Peterson concludes by highlighting how self-reflection, courageous action, and truthful living drive transformation and shape both personal and societal growth.\n\nSee more at http://www.petersonacademy.com and make sure to subscribe to \u202A@PetersonAcademy for more uploaded lectures!", "How to Plan Your Life | Lecture One (Official) | Peterson Academy", 3719, false, "h69SwIn-bA4", "https://www.youtube.com/watch?v=h69SwIn-bA4", "/downloads/Jordan B Peterson/2025-11-20 How to Plan Your Life | Lecture One (Official) | Peterson Academy/How to Plan Your Life | Lecture One (Official) | Peterson Academy [h69SwIn-bA4].mp4", false, 3, ~U[2025-11-20 18:54:29Z]] 21:09:15.189 [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" = ?) [3] 21:09:15.190 [debug] QUERY OK source="media_items" db=0.5ms idle=5.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-07 15:01:34Z], 3] 21:09:15.193 [debug] QUERY OK source="media_items" db=2.7ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Simon Sinek is a speaker, founder, and an author. \n\nWe live in an age of uncertainty, where finding purpose in your life feels harder than ever. So, how do you find a purpose that moves you and trust that it’s worth pursuing? How can you be sure your purpose serves both yourself and the world? In a world starved for meaning, finding yours might be the most important thing you ever do.\n\nExpect to learn if we are in a crisis of purpose, how to deliberately cultivate meaning in your life, how to find your Why and and what makes for a good Why, which struggles Gen Z can learn from millennials mistakes, why men are specifically are struggling with directionlessness in the modern world, if loneliness the cost of leadership, how you can apply an infinite mindset to your personal life and not just business, and much more...\n\n-\n\n00:00 Are We In A Crisis Of Purpose?\n09:32 Why It's Important To Sit In 'The Mud' With Someone\n22:24 Simon’s Definition of Friendship\n35:45 Everyone Thinks They Are On The Side Of Good\n44:04 Reverse Frankl Law & How Maslow Got It Wrong\n53:40 Success Is Learning Failure Can Be A Good Thing\n1:04:19 How To Stop Feeling Guilty When You Take A Day Off\n1:10:41 Don’t Confuse Your Goals With Life Purpose\n1:22:38 Reflecting On The “Millennial Question” 10 Years Later\n1:36:03 Advice For Someone Paralyzed By Fear\n1:41:21 What’s Next For Simon\n\n-\n\nGet up to $350 off the Pod 5 at https://eightsleep.com/modernwisdom\n\nGet 5 Free Travel Packs, Free Liquid Vitamin D, and more from AG1 at https://ag1.info/modernwisdom\n\nGet the best bloodwork analysis in America at https://functionhealth.com/modernwisdom\n\nGet a Free Sample Pack of LMNT’s most popular Flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spoti.fi/2LSimPn or Apple Podcasts - https://apple.co/2MNqIgw\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "Love, Friendship & a More Meaningful Life - Simon Sinek (4K)", "2ddbdb0a-e8c0-42d0-abce-12cfd956b715", 6225, false, "oZLR2HVQj9A", "https://www.youtube.com/watch?v=oZLR2HVQj9A", 3, "/downloads/Chris Williamson/2025-07-07 Love, Friendship & a More Meaningful Life - Simon Sinek (4K)/Love, Friendship & a More Meaningful Life - Simon Sinek (4K) [oZLR2HVQj9A].mp4", false, false, false, 3, [], 1, ~U[2025-07-07 15:01:34Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Simon Sinek is a speaker, founder, and an author. \n\nWe live in an age of uncertainty, where finding purpose in your life feels harder than ever. So, how do you find a purpose that moves you and trust that it’s worth pursuing? How can you be sure your purpose serves both yourself and the world? In a world starved for meaning, finding yours might be the most important thing you ever do.\n\nExpect to learn if we are in a crisis of purpose, how to deliberately cultivate meaning in your life, how to find your Why and and what makes for a good Why, which struggles Gen Z can learn from millennials mistakes, why men are specifically are struggling with directionlessness in the modern world, if loneliness the cost of leadership, how you can apply an infinite mindset to your personal life and not just business, and much more...\n\n-\n\n00:00 Are We In A Crisis Of Purpose?\n09:32 Why It's Important To Sit In 'The Mud' With Someone\n22:24 Simon’s Definition of Friendship\n35:45 Everyone Thinks They Are On The Side Of Good\n44:04 Reverse Frankl Law & How Maslow Got It Wrong\n53:40 Success Is Learning Failure Can Be A Good Thing\n1:04:19 How To Stop Feeling Guilty When You Take A Day Off\n1:10:41 Don’t Confuse Your Goals With Life Purpose\n1:22:38 Reflecting On The “Millennial Question” 10 Years Later\n1:36:03 Advice For Someone Paralyzed By Fear\n1:41:21 What’s Next For Simon\n\n-\n\nGet up to $350 off the Pod 5 at https://eightsleep.com/modernwisdom\n\nGet 5 Free Travel Packs, Free Liquid Vitamin D, and more from AG1 at https://ag1.info/modernwisdom\n\nGet the best bloodwork analysis in America at https://functionhealth.com/modernwisdom\n\nGet a Free Sample Pack of LMNT’s most popular Flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spoti.fi/2LSimPn or Apple Podcasts - https://apple.co/2MNqIgw\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "Love, Friendship & a More Meaningful Life - Simon Sinek (4K)", 6225, false, "oZLR2HVQj9A", "https://www.youtube.com/watch?v=oZLR2HVQj9A", "/downloads/Chris Williamson/2025-07-07 Love, Friendship & a More Meaningful Life - Simon Sinek (4K)/Love, Friendship & a More Meaningful Life - Simon Sinek (4K) [oZLR2HVQj9A].mp4", false, 3, ~U[2025-07-07 15:01:34Z]] 21:09:15.194 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.195 [debug] QUERY OK source="media_items" db=0.3ms idle=6.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-21 13:00:52Z], 3] 21:09:15.201 [debug] QUERY OK source="media_items" db=6.0ms idle=6.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n This is the second episode of Huberman Lab Essentials — short episodes (approximately 30 minutes) focused on essential science and protocol takeaways from past Huberman Lab episodes.\n\nThis Essentials episode offers insights into what makes us sleepy, helps us sleep soundly, and feel awake and alert. It covers a wide range of tools for anyone looking to improve their sleep and wakefulness, with the science and reasoning behind each tool explained.\n\nEssentials will be released every Thursday, and our full-length episodes will still be released every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/FESj0fJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/nm1TxQj9IsQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Introduction to Sleep & Wakefulness\n00:01:11 The Science of Sleep: Adenosine Explained\n00:03:30 Circadian Rhythms: The Body’s Internal Clock\n00:05:08 The Role of Cortisol & Melatonin\n00:10:16 Maximizing Morning Light Exposure\n00:14:12 Other Factors Influencing Circadian Rhythms\n00:16:08 The Impact of Light on Sleep Quality\n00:24:31 Napping & Non-Sleep Deep Rest\n\n#HubermanLab #Science #Sleep\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials", "4b8fca60-f1a3-48f5-ad32-3218661a003b", 2040, false, "lIo9FcrljDk", "https://www.youtube.com/watch?v=lIo9FcrljDk", 4, "/downloads/Andrew Huberman/2024-11-21 Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials/Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials [lIo9FcrljDk].mp4", false, false, false, 3, [], 1, ~U[2024-11-21 13:00:52Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n This is the second episode of Huberman Lab Essentials — short episodes (approximately 30 minutes) focused on essential science and protocol takeaways from past Huberman Lab episodes.\n\nThis Essentials episode offers insights into what makes us sleepy, helps us sleep soundly, and feel awake and alert. It covers a wide range of tools for anyone looking to improve their sleep and wakefulness, with the science and reasoning behind each tool explained.\n\nEssentials will be released every Thursday, and our full-length episodes will still be released every Monday.\n\nEpisode show notes: https://go.hubermanlab.com/FESj0fJ\n\nHuberman Lab Essentials are short episodes focused on essential science and protocol takeaways from past full-length Huberman Lab episodes. Watch the full-length episode: https://youtu.be/nm1TxQj9IsQ\n\nWatch more Huberman Lab Essentials episodes: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Introduction to Sleep & Wakefulness\n00:01:11 The Science of Sleep: Adenosine Explained\n00:03:30 Circadian Rhythms: The Body’s Internal Clock\n00:05:08 The Role of Cortisol & Melatonin\n00:10:16 Maximizing Morning Light Exposure\n00:14:12 Other Factors Influencing Circadian Rhythms\n00:16:08 The Impact of Light on Sleep Quality\n00:24:31 Napping & Non-Sleep Deep Rest\n\n#HubermanLab #Science #Sleep\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials", 2040, false, "lIo9FcrljDk", "https://www.youtube.com/watch?v=lIo9FcrljDk", "/downloads/Andrew Huberman/2024-11-21 Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials/Master Your Sleep & Be More Alert When Awake | Huberman Lab Essentials [lIo9FcrljDk].mp4", false, 3, ~U[2024-11-21 13:00:52Z]] 21:09:15.202 [debug] QUERY OK source="sources" db=0.4ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.203 [debug] QUERY OK source="media_items" db=0.7ms idle=8.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-06-17 14:00:20Z], 3] 21:09:15.206 [debug] QUERY OK source="media_items" db=1.6ms idle=9.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Trying to live your own life is difficult, especially when you have to fight against what your parents want for you. Healthy Gamer Coaching can help you create a plan to talk to your parents and move past their expectations. It's time to start living the life YOU want to, not what THEY want. Learn More Here: https://bit.ly/3HEIjAE\n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n\n0:00 -Preview\n1:06 - Reddit Post\n3:57 - Cultural challenges and expectations\n4:52 - Your parents' redemption arc\n7:42 - The inner critical parents\n18:06 - Dealing with unrealistic expectations\n20:25 - Use their values against their values\n26:48 - Limit setting\n32:22 - Real life application\n34:20 - Practicality\n37:53 - Questions\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "How to Start Living Your Own Life", "7ba8c4bd-1a43-421b-a5b0-afba3fe37de2", 2658, false, "hKnRO7CMTAs", "https://www.youtube.com/watch?v=hKnRO7CMTAs", 5, "/downloads/HealthyGamerGG/2022-06-17 How to Start Living Your Own Life/How to Start Living Your Own Life [hKnRO7CMTAs].mp4", false, false, false, 3, [], 1, ~U[2022-06-17 14:00:20Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Trying to live your own life is difficult, especially when you have to fight against what your parents want for you. Healthy Gamer Coaching can help you create a plan to talk to your parents and move past their expectations. It's time to start living the life YOU want to, not what THEY want. Learn More Here: https://bit.ly/3HEIjAE\n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n\n0:00 -Preview\n1:06 - Reddit Post\n3:57 - Cultural challenges and expectations\n4:52 - Your parents' redemption arc\n7:42 - The inner critical parents\n18:06 - Dealing with unrealistic expectations\n20:25 - Use their values against their values\n26:48 - Limit setting\n32:22 - Real life application\n34:20 - Practicality\n37:53 - Questions\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "How to Start Living Your Own Life", 2658, false, "hKnRO7CMTAs", "https://www.youtube.com/watch?v=hKnRO7CMTAs", "/downloads/HealthyGamerGG/2022-06-17 How to Start Living Your Own Life/How to Start Living Your Own Life [hKnRO7CMTAs].mp4", false, 3, ~U[2022-06-17 14:00:20Z]] 21:09:15.207 [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" = ?) [3] 21:09:15.207 [debug] QUERY OK source="media_items" db=0.5ms idle=5.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-10-13 15:07:41Z], 3] 21:09:15.211 [debug] QUERY OK source="media_items" db=2.1ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dr. Jordan B. Peterson and Andrew Huberman discuss neurology, the way humans and animals react to specific stimuli, and how this knowledge can be utilized for personal growth.\n \nDr. Andrew Huberman is a neuroscientist, and tenured professor in the department of neurobiology at the Stanford University School of Medicine. He runs the Huberman Lab, which has made significant contributions to the fields of brain development, brain function and neural plasticity. Dr. Huberman’s most recent work revolves around the influence of vision and respiration on human performance and brain states such as fear and courage. In 2017, he was chosen to receive the Cogan award, which is awarded to the scientist making the most significant discoveries in the study of vision. Work from the Huberman Laboratory has been published in top journals including Nature, Science, and Cell and has been featured in TIME, BBC, Scientific American, Discover, and other top media outlets. In 2021, Dr. Huberman launched the Huberman Lab Podcast, and has since grown to over 1.5 million subscribers.\n\nDr Peterson's extensive catalog is available now on DailyWire+: https://utm.io/ueSXh\n\n\n—Links— \n\nFor Andrew Huberman\n\nInstagram https://www.instagram.com/hubermanlab/?hl=en \n\nTwitter https://twitter.com/hubermanlab?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor \n\nWebsite https://hubermanlab.com/\n\nYoutube https://www.youtube.com/channel/UC2D2CMWXMOVWx7giW1n3LIg \n\n\n—Sponsors— \n\nBirch Gold: Text \"JORDAN\" to 989898 for your no-cost, no-obligation, FREE information kit\n\n\n—Chapters—\n\n(0:00) Coming Up\n(0:57) Intro \n(3:18) Where anxiety stems from\n(11:57) Flipping the autonomic response\n(23:10) Power of the prefrontal cortex\n(30:00) Accessing our alternate selves\n(36:25) When you stimulate the Insular cortex\n(42:08) The one true world currency\n(46:38) Dopamine’s pleasure derives from anticipation\n(50:10) Depressive cascades\n(54:12) Assess errors by state, not trait\n(1:01:45) Dopamine chases outer stimuli\n(1:04:13) Can new stimuli rewrite our neural pathways?\n(1:09:27) Manifesting and the dopamine cycle\n(1:15:59) Adrenaline, micro-narratives\n(1:20:33) Sustained attention and reward\n(1:27:03) Zone of proximal development\n(1:32:23) Resisting the easy dopamine hit, avoiding addiction\n\n// SUPPORT THIS CHANNEL //\nNewsletter: https://mailchi.mp/jordanbpeterson.com/youtubesignup\nDonations: https://jordanbpeterson.com/donate\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n// LINKS //\nWebsite: https://jordanbpeterson.com\nEvents: https://jordanbpeterson.com/events\nBlog: https://jordanbpeterson.com/blog\n\n// SOCIAL //\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://instagram.com/jordan.b.peterson\nFacebook: https://facebook.com/drjordanpeterson\nTelegram: https://t.me/DrJordanPeterson\nAll socials: https://linktr.ee/drjordanbpeterson\n\n#JordanPeterson #JordanBPeterson #DrJordanPeterson #drjordanbpeterson #DailyWirePlus #podcast #andrewhuberman #neurology #psychology #mentalhealth #neuroscience", "Neuroscience Meets Psychology | Dr. Andrew Huberman | EP 296", "491d19d0-5125-4756-a61e-666f79dab0e4", 6152, false, "z-mJEZbHFLs", "https://www.youtube.com/watch?v=z-mJEZbHFLs", 6, "/downloads/Jordan B Peterson/2022-10-13 Neuroscience Meets Psychology | Dr. Andrew Huberman | EP 296/Neuroscience Meets Psychology | Dr. Andrew Huberman | EP 296 [z-mJEZbHFLs].mp4", false, false, false, 3, [], 1, ~U[2022-10-13 15:07:41Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Dr. Jordan B. Peterson and Andrew Huberman discuss neurology, the way humans and animals react to specific stimuli, and how this knowledge can be utilized for personal growth.\n \nDr. Andrew Huberman is a neuroscientist, and tenured professor in the department of neurobiology at the Stanford University School of Medicine. He runs the Huberman Lab, which has made significant contributions to the fields of brain development, brain function and neural plasticity. Dr. Huberman’s most recent work revolves around the influence of vision and respiration on human performance and brain states such as fear and courage. In 2017, he was chosen to receive the Cogan award, which is awarded to the scientist making the most significant discoveries in the study of vision. Work from the Huberman Laboratory has been published in top journals including Nature, Science, and Cell and has been featured in TIME, BBC, Scientific American, Discover, and other top media outlets. In 2021, Dr. Huberman launched the Huberman Lab Podcast, and has since grown to over 1.5 million subscribers.\n\nDr Peterson's extensive catalog is available now on DailyWire+: https://utm.io/ueSXh\n\n\n—Links— \n\nFor Andrew Huberman\n\nInstagram https://www.instagram.com/hubermanlab/?hl=en \n\nTwitter https://twitter.com/hubermanlab?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor \n\nWebsite https://hubermanlab.com/\n\nYoutube https://www.youtube.com/channel/UC2D2CMWXMOVWx7giW1n3LIg \n\n\n—Sponsors— \n\nBirch Gold: Text \"JORDAN\" to 989898 for your no-cost, no-obligation, FREE information kit\n\n\n—Chapters—\n\n(0:00) Coming Up\n(0:57) Intro \n(3:18) Where anxiety stems from\n(11:57) Flipping the autonomic response\n(23:10) Power of the prefrontal cortex\n(30:00) Accessing our alternate selves\n(36:25) When you stimulate the Insular cortex\n(42:08) The one true world currency\n(46:38) Dopamine’s pleasure derives from anticipation\n(50:10) Depressive cascades\n(54:12) Assess errors by state, not trait\n(1:01:45) Dopamine chases outer stimuli\n(1:04:13) Can new stimuli rewrite our neural pathways?\n(1:09:27) Manifesting and the dopamine cycle\n(1:15:59) Adrenaline, micro-narratives\n(1:20:33) Sustained attention and reward\n(1:27:03) Zone of proximal development\n(1:32:23) Resisting the easy dopamine hit, avoiding addiction\n\n// SUPPORT THIS CHANNEL //\nNewsletter: https://mailchi.mp/jordanbpeterson.com/youtubesignup\nDonations: https://jordanbpeterson.com/donate\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n// LINKS //\nWebsite: https://jordanbpeterson.com\nEvents: https://jordanbpeterson.com/events\nBlog: https://jordanbpeterson.com/blog\n\n// SOCIAL //\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://instagram.com/jordan.b.peterson\nFacebook: https://facebook.com/drjordanpeterson\nTelegram: https://t.me/DrJordanPeterson\nAll socials: https://linktr.ee/drjordanbpeterson\n\n#JordanPeterson #JordanBPeterson #DrJordanPet (truncated) 21:09:15.211 [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" = ?) [3] 21:09:15.212 [debug] QUERY OK source="media_items" db=0.4ms idle=6.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-29 15:01:57Z], 3] 21:09:15.215 [debug] QUERY OK source="media_items" db=1.9ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Matthew McConaughey is an Academy Award-winning actor, a producer and an author.\n\nExpect to learn why Matthew says life often “rhymes”, why it’s okay if you do everything right and still not get the result you want, how Matthew views the role courage plays in his life, how to learn to deal with failure, the difference between a nice guy and a good man, the most important principle Matthew refuses to compromise on, the appropriate balance of running toward a life you want vs. away from one that you fear, how to balance self-confidence with humility, the difference between “being” and “acting”, what it means to be more impressed with the wow instead of the how, rumors on Matthew’s return to the True Detective franchise, and much more…\n\n-\n\n0:00 What It Means When Life “Rhymes”\n9:34 How Forgiving Betrayal Can Free You\n20:32 Hope, Faith, and How To Become Your Own Hero\n25:47 This Approach to Success is Everything\n31:57 The Mindset That Will Change Your Outlook on Life\n41:11 How To Find Significance in the Noise\n53:30 The Power of Courage and Conviction\n01:00:31 How To Find Balance Between Life and Work\n01:10:31 The Difference Between a Nice Guy and a Good Man\n01:17:17 Principles Matthew Refuses To Compromise On\n01:29:15 Why We Need to Stop Cancelling Men\n01:34:31 Why Living Better Outweighs Living Longer\n01:40:55 How to Build Confidence\n01:47:10 How to Stop Worrying & Trust the Process\n01:52:16 On the Road with Matthew\n\n-\n\nGet 5 Free Travel Packs, Free Liquid Vitamin D, and more from AG1 at https://ag1.info/modernwisdom\n\nGet a Free Sample Pack of LMNT’s most popular flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\nGet $100 off the best bloodwork analysis in America at https://functionhealth.com/modernwisdom\n\nGet 35% off your first subscription on the best supplements from Momentous at https://livemomentous.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spotify.modernwisdom.com or Apple Podcasts - https://apple.modernwisdom.com\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "Living with Confidence & Going All In - Matthew McConaughey (4K)", "f1a6c19b-1af7-47b8-9b32-28f7bc6420f5", 7066, false, "y_woFP79F0Q", "https://www.youtube.com/watch?v=y_woFP79F0Q", 7, "/downloads/Chris Williamson/2025-09-29 Living with Confidence & Going All In - Matthew McConaughey (4K)/Living with Confidence & Going All In - Matthew McConaughey (4K) [y_woFP79F0Q].mp4", false, false, false, 3, [], 1, ~U[2025-09-29 15:01:57Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Matthew McConaughey is an Academy Award-winning actor, a producer and an author.\n\nExpect to learn why Matthew says life often “rhymes”, why it’s okay if you do everything right and still not get the result you want, how Matthew views the role courage plays in his life, how to learn to deal with failure, the difference between a nice guy and a good man, the most important principle Matthew refuses to compromise on, the appropriate balance of running toward a life you want vs. away from one that you fear, how to balance self-confidence with humility, the difference between “being” and “acting”, what it means to be more impressed with the wow instead of the how, rumors on Matthew’s return to the True Detective franchise, and much more…\n\n-\n\n0:00 What It Means When Life “Rhymes”\n9:34 How Forgiving Betrayal Can Free You\n20:32 Hope, Faith, and How To Become Your Own Hero\n25:47 This Approach to Success is Everything\n31:57 The Mindset That Will Change Your Outlook on Life\n41:11 How To Find Significance in the Noise\n53:30 The Power of Courage and Conviction\n01:00:31 How To Find Balance Between Life and Work\n01:10:31 The Difference Between a Nice Guy and a Good Man\n01:17:17 Principles Matthew Refuses To Compromise On\n01:29:15 Why We Need to Stop Cancelling Men\n01:34:31 Why Living Better Outweighs Living Longer\n01:40:55 How to Build Confidence\n01:47:10 How to Stop Worrying & Trust the Process\n01:52:16 On the Road with Matthew\n\n-\n\nGet 5 Free Travel Packs, Free Liquid Vitamin D, and more from AG1 at https://ag1.info/modernwisdom\n\nGet a Free Sample Pack of LMNT’s most popular flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\nGet $100 off the best bloodwork analysis in America at https://functionhealth.com/modernwisdom\n\nGet 35% off your first subscription on the best supplements from Momentous at https://livemomentous.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spotify.modernwisdom.com or Apple Podcasts - https://apple.modernwisdom.com\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "Living with Confidence & Going All In - Matthew McConaughey (4K)", 7066, false, "y_woFP79F0Q", "https://www.youtube.com/watch?v=y_woFP79F0Q", "/downloads/Chris Williamson/2025-09-29 Living with Confidence & Going All In - Matthew McConaughey (4K)/Living with Confidence & Going All In - Matthew McConaughey (4K) [y_woFP79F0Q].mp4", false, 3, ~U[2025-09-29 15:01:57Z]] 21:09:15.216 [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" = ?) [3] 21:09:15.217 [debug] QUERY OK source="media_items" db=0.6ms idle=5.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-01-03 13:00:12Z], 3] 21:09:15.220 [debug] QUERY OK source="media_items" db=2.8ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, I review the science of habit formation and habit elimination and how the process of neuroplasticity (brain rewiring) underlies these processes. \n\nI describe two new systems for habit formation. The first system is grounded in the neuroscience of brain states and our ability to perform (and to avoid) certain tasks at different phases of the 24-hour day. The second system focuses on 21-day habit formation and consolidation.\n\nI also discuss \"task bracketing\" as an approach to enhancing habit formation and eliminating unwanted habits and the neural circuits that underlie task bracketing in the basal ganglia (a brain region for generating and stopping behaviors). I also review the science of dopamine rewards and how to apply that knowledge to shaping habits. \n\nThe science and tools in this episode ought to be helpful for anyone looking to build better habits and eliminate unwanted habits for school, work, fitness, relationships, creative endeavors, and more—indeed for any person or situation where behavioral changes are needed.\n\n#HubermanLab #Habits #Neuroscience\n\nThank you to our sponsors:\nAthletic Greens - http://www.athleticgreens.com/huberman\nInsideTracker - http://www.insidetracker.com/huberman\nHelix Sleep - http://www.helixsleep.com/huberman\n\nOur Patreon page:\nhttps://www.patreon.com/andrewhuberman\n\nSupplements from Thorne:\nhttp://www.thorne.com/u/huberman\n\nSocial:\nInstagram - https://www.instagram.com/hubermanlab\nTwitter - https://twitter.com/hubermanlab\nFacebook - https://www.facebook.com/hubermanlab\nWebsite - https://hubermanlab.com\nNewsletter - https://hubermanlab.com/neural-network\n\nLinks:\nExcellent review on science of habits - https://www.annualreviews.org/doi/abs/10.1146/annurev-psych-122414-033417\nMeta-analysis on habits - https://journals.sagepub.com/doi/full/10.1177/1539449219876877\n\nTimestamps:\n00:00:00 Introducing Habits; New Programs\n00:02:30 Athletic Greens, InsideTracker, Helix Sleep\n00:06:52 Habits versus Reflexes, Learning, Neuroplasticity\n00:08:51 Goal-Based Habits vs. Identity-Based Habits\n00:11:40 How Long It (Really) Takes to Form a Habit; Limbic-Friction\n00:16:07 Linchpin Habits \n00:18:55 Mapping Your Habits; Habit Strength, Context-Dependence\n00:22:55 Automaticity\n00:24:03 Tool 1: Applying Procedural Memory Visualizations\n00:27:48 Hebbian Learning, NMDA receptors\n00:31:00 Tool 2: Task Bracketing; Dorsolateral Striatum\n00:37:08 States of Mind, Not Scheduling Time Predicts Habit Strength\n00:38:16 Tool 3: Phase-Based Habit Plan: Phase 1\n00:46:29 Tool 3: Phase-Based Habit Plan: Phase 2\n00:55:24 Tool 3: Phase-Based Habit Plan: Phase 3\n01:01:34 Habit Flexibility\n01:04:57 Should We Reward Ourselves? How? When? When NOT to.\n01:10:30 Tool 4: “Dopamine Spotlighting” & Task Bracketing\n01:18:22 Tool 5: The 21-Day Habit Installation & Testing System\n01:28:26 Breaking Habits: Long-Term (Synaptic) Depression\n01:35:49 Notifications Don’t Work\n01:37:50 Tool 6: Break Bad Habits with Post-Bad-Habit “Positive Cargo”\n01:44:26 Addictions as Habits: https://hubermanlab.com/dr-anna-lembke-understanding-and-treating-addiction/\n01:45:28 Conclusion & Synthesis \n01:48:27 Zero-Cost Support, Sponsors, Patreon, Supplements, Instagram, Twitter\n\nPlease note that The Huberman Lab Podcast is distinct from Dr. Huberman's teaching and research roles at Stanford University School of Medicine. The information provided in this show is not medical advice, nor should it be taken or applied as a replacement for medical advice. The Huberman Lab Podcast, its employees, guests and affiliates assume no liability for the application of the information discussed.\n\nTitle Card Photo Credit: Mike Blabac - https://www.blabacphoto.com", "The Science of Making & Breaking Habits", "be88441e-6428-44ea-9264-e096ebd6c567", 6638, false, "Wcs2PFz5q6g", "https://www.youtube.com/watch?v=Wcs2PFz5q6g", 8, "/downloads/Andrew Huberman/2022-01-03 The Science of Making & Breaking Habits/The Science of Making & Breaking Habits [Wcs2PFz5q6g].mp4", false, false, false, 3, [], 1, ~U[2022-01-03 13:00:12Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, I review the science of habit formation and habit elimination and how the process of neuroplasticity (brain rewiring) underlies these processes. \n\nI describe two new systems for habit formation. The first system is grounded in the neuroscience of brain states and our ability to perform (and to avoid) certain tasks at different phases of the 24-hour day. The second system focuses on 21-day habit formation and consolidation.\n\nI also discuss \"task bracketing\" as an approach to enhancing habit formation and eliminating unwanted habits and the neural circuits that underlie task bracketing in the basal ganglia (a brain region for generating and stopping behaviors). I also review the science of dopamine rewards and how to apply that knowledge to shaping habits. \n\nThe science and tools in this episode ought to be helpful for anyone looking to build better habits and eliminate unwanted habits for school, work, fitness, relationships, creative endeavors, and more—indeed for any person or situation where behavioral changes are needed.\n\n#HubermanLab #Habits #Neuroscience\n\nThank you to our sponsors:\nAthletic Greens - http://www.athleticgreens.com/huberman\nInsideTracker - http://www.insidetracker.com/huberman\nHelix Sleep - http://www.helixsleep.com/huberman\n\nOur Patreon page:\nhttps://www.patreon.com/andrewhuberman\n\nSupplements from Thorne:\nhttp://www.thorne.com/u/huberman\n\nSocial:\nInstagram - https://www.instagram.com/hubermanlab\nTwitter - https://twitter.com/hubermanlab\nFacebook - https://www.facebook.com/hubermanlab\nWebsite - https://hubermanlab.com\nNewsletter - https://hubermanlab.com/neural-network\n\nLinks:\nExcellent review on science of habits - https://www.annualreviews.org/doi/abs/10.1146/annurev-psych-122414-033417\nMeta-analysis on habits - https://journals.sagepub.com/doi/full/10.1177/1539449219876877\n\nTimestamps:\n00:00:00 Introducing Habits; New Programs\n00:02:30 Athletic Greens, InsideTracker, Helix Sleep\n00:06:52 Habits versus Reflexes, Learning, Neuroplasticity\n00:08:51 Goal-Based Habits vs. Identity-Based Habits\n00:11:40 How Long It (Really) Takes to Form a Habit; Limbic-Friction\n00:16:07 Linchpin Habits \n00:18:55 Mapping Your Habits; Habit Strength, Context-Dependence\n00:22:55 Automaticity\n00:24:03 Tool 1: Applying Procedural Memory Visualizations\n00:27:48 Hebbian Learning, NMDA receptors\n00:31:00 Tool 2: Task Bracketing; Dorsolateral Striatum\n00:37:08 States of Mind, Not Scheduling Time Predicts Habit Strength\n00:38:16 Tool 3: Phase-Based Habit Plan: Phase 1\n00:46:29 Tool 3: Phase-Based Habit Plan: Phase 2\n00:55:24 Tool 3: Phase-Based Habit Plan: Phase 3\n01:01:34 Habit Flexibility\n01:04:57 Should We Reward Ourselves? How? When? When NOT to.\n01:10:30 Tool 4: “Dopamine Spotlighting” & Task Bracketing\n01:18:22 Tool 5: The 21-Day Habit Installation & Testing System\n01:28:26 Breaking Habits: Long-Term (Synaptic) Depression\n01:35:49 Notifications Don (truncated) 21:09:15.221 [debug] QUERY OK source="sources" db=0.3ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.222 [debug] QUERY OK source="media_items" db=0.4ms idle=7.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-02-17 16:00:44Z], 3] 21:09:15.225 [debug] QUERY OK source="media_items" db=1.7ms idle=6.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dr. Jordan B. Peterson is Professor Emeritus at the University of Toronto, a clinical psychologist and an author.\n\nLetting go of the good for the great is a terrifying prospect and most people fear risking what they have for what they want. I flew out to Texas to sit down with Jordan and discuss his principles for how to get past the things which keep us stuck in life.\n\nExpect to learn how to deal with feelings of loneliness from thinking in a different way, which skin-colour emoji Jordan Peterson uses, what he meant by \"enforced monogamy\", how to deal with imposter syndrome, how to become more dangerous in life, Jordan's thoughts after meeting Elon Musk, whether there's a value in having an enemy in life and much more...\n\nSponsors:\nJoin the Modern Wisdom Community to connect with me & other listeners - https://modernwisdom.locals.com/\n\nGet 5 Free Travel Packs, Free Liquid Vitamin D and Free Shipping from Athletic Greens at https://athleticgreens.com/modernwisdom (discount automatically applied)\n\nGet 10% discount on your first month from BetterHelp at https://betterhelp.com/modernwisdom (discount automatically applied)\n\nExtra Stuff:\nBuy Beyond Order - https://amzn.to/3d4eKdX\nFollow Jordan on Twitter - https://twitter.com/jordanbpeterson \nCheck out Jordan's Website - https://www.jordanbpeterson.com \nGet my free Reading List of 100 books to read before you die → https://chriswillx.com/books/\nTo support me on Patreon (thank you): https://www.patreon.com/modernwisdom\n\n#jordanpeterson #mindset #growth\n\n-\n\n00:00 Intro\n01:48 Jordan’s Thoughts on Elon Musk\n06:13 Is Identity Confusion a Psychological Epidemic?\n12:12 The Modern Dating Market\n17:10 Over 50% of Women are Childless at 30\n30:32 Should We Worry About Population Collapse?\n38:48 How to Overcome Complacency \n48:02 Dealing with Imposter Syndrome\n56:38 How to Make Yourself More Dangerous\n1:05:30 Jordan’s Recovery & Tour\n1:16:39 Is it Possible to Take on Too Much Responsibility?\n1:25:00 Truth in the Service of Love\n1:33:25 The Usefulness of an Enemy\n1:41:31 The Consequences of Blue-sky Vision\n1:48:25 Why Pursuing Excellence is Terrifying\n1:59:32 Repercussions of Zero-Costing\n2:08:35 Conclusion\n\n-\n\nJoin the Modern Wisdom Community on Locals - https://modernwisdom.locals.com/\n\nListen to all episodes on audio:\nApple Podcasts: https://apple.co/2MNqIgw\nSpotify: https://spoti.fi/2LSimPn\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "Jordan Peterson - How Years Fly By Without You Noticing", "0d5a4c50-523a-4b5e-918e-2dcb640cea64", 7765, false, "laSK7Pxh0_8", "https://www.youtube.com/watch?v=laSK7Pxh0_8", 9, "/downloads/Chris Williamson/2022-02-17 Jordan Peterson - How Years Fly By Without You Noticing/Jordan Peterson - How Years Fly By Without You Noticing [laSK7Pxh0_8].mp4", false, false, false, 3, [], 1, ~U[2022-02-17 16:00:44Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Dr. Jordan B. Peterson is Professor Emeritus at the University of Toronto, a clinical psychologist and an author.\n\nLetting go of the good for the great is a terrifying prospect and most people fear risking what they have for what they want. I flew out to Texas to sit down with Jordan and discuss his principles for how to get past the things which keep us stuck in life.\n\nExpect to learn how to deal with feelings of loneliness from thinking in a different way, which skin-colour emoji Jordan Peterson uses, what he meant by \"enforced monogamy\", how to deal with imposter syndrome, how to become more dangerous in life, Jordan's thoughts after meeting Elon Musk, whether there's a value in having an enemy in life and much more...\n\nSponsors:\nJoin the Modern Wisdom Community to connect with me & other listeners - https://modernwisdom.locals.com/\n\nGet 5 Free Travel Packs, Free Liquid Vitamin D and Free Shipping from Athletic Greens at https://athleticgreens.com/modernwisdom (discount automatically applied)\n\nGet 10% discount on your first month from BetterHelp at https://betterhelp.com/modernwisdom (discount automatically applied)\n\nExtra Stuff:\nBuy Beyond Order - https://amzn.to/3d4eKdX\nFollow Jordan on Twitter - https://twitter.com/jordanbpeterson \nCheck out Jordan's Website - https://www.jordanbpeterson.com \nGet my free Reading List of 100 books to read before you die → https://chriswillx.com/books/\nTo support me on Patreon (thank you): https://www.patreon.com/modernwisdom\n\n#jordanpeterson #mindset #growth\n\n-\n\n00:00 Intro\n01:48 Jordan’s Thoughts on Elon Musk\n06:13 Is Identity Confusion a Psychological Epidemic?\n12:12 The Modern Dating Market\n17:10 Over 50% of Women are Childless at 30\n30:32 Should We Worry About Population Collapse?\n38:48 How to Overcome Complacency \n48:02 Dealing with Imposter Syndrome\n56:38 How to Make Yourself More Dangerous\n1:05:30 Jordan’s Recovery & Tour\n1:16:39 Is it Possible to Take on Too Much Responsibility?\n1:25:00 Truth in the Service of Love\n1:33:25 The Usefulness of an Enemy\n1:41:31 The Consequences of Blue-sky Vision\n1:48:25 Why Pursuing Excellence is Terrifying\n1:59:32 Repercussions of Zero-Costing\n2:08:35 Conclusion\n\n-\n\nJoin the Modern Wisdom Community on Locals - https://modernwisdom.locals.com/\n\nListen to all episodes on audio:\nApple Podcasts: https://apple.co/2MNqIgw\nSpotify: https://spoti.fi/2LSimPn\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "Jordan Peterson - How Years Fly By Without You Noticing", 7765, false, "laSK7Pxh0_8", "https://www.youtube.com/watch?v=laSK7Pxh0_8", "/downloads/Chris Williamson/2022-02-17 Jordan Peterson - How Years Fly By Without You Noticing/Jordan Peterson - How Years Fly By Without You Noticing [laSK7Pxh0_8].mp4", false, 3, ~U[2022-02-17 16:00:44Z]] 21:09:15.225 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [3] 21:09:15.226 [debug] QUERY OK source="media_items" db=0.8ms idle=5.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-08 10:00:34Z], 3] 21:09:15.229 [debug] QUERY OK source="media_items" db=2.1ms idle=5.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Hol dir jetzt die Trade Republic App: https://trade.re/tim_kinderdepot (Werbung)\nDisclaimer: Kapitalanlagen bergen Risiken.\n\nJetzt in der OLAKALA App shoppen und Loyalty Punkte sammeln: http://app.olakala.de/ (Werbung)\n\nBewirb dich bei G-IN: \nhttps://g-in-gmbh.de/#jobs\nhttps://join.com/companies/combine/14000609?utm_medium=social_sharing&utm_source=copy_link\n \n📲 Dein individueller MCI Trainingsplan in 2 Minuten! Spare maximal mit dem Code: \"TIM\". Neukunden testen 7 Tage gratis! https://mci.sng.link/Dlusp/ttona?_smtype=3 (Werbung)\n\nHeute ist Wolfgang Grupp Senior im Podcast. \nDer Mann, der Trigema seit über 50 Jahren führt und fast die gesamte Wertschöpfungskette seiner Klamotten vor der Haustür hat. Der Mann lebt „Made in Germany“.\nHeute führen seine Kinder das Unternehmen und er blickt auf ein krasses Lebenswerk zurück und hat eine Menge zu erzählen. Haben unter anderem über Verantwortung gesprochen, welche Rolle seine Familie für ihn spielt und man merkt ihm eine tiefe Dankbarkeit an, wenn er über seine Familie spricht.\n\nDanke an die gesamte Grupp-Familie für die Einladung, hat Spaß gemacht!\n\nViel Spaß mit der Folge!\n\nGastvorschläge für Podcasts gerne in die Kommentare oder an timgabelpodcastgast@gmail.com\nGeschäftliche Anfragen an: office@combine.management \n\n► Zu Trigema: @TRIGEMAtv \n\n► Tim Gabel Podcast auf Spotify: https://open.spotify.com/show/1KHKsb92bs1qeitk6QR8zV?si=0278f4c514ab49ca\n► Instagram: https://www.instagram.com/tim_gabel/\n► TikTok: https://www.tiktok.com/@tim_gabel\n\n► Zu OLAKALA: https://www.olakala.de/\n► Zur MCI Fitness App: https://onelink.to/mciapp.timgabel\n► Zum Vybelle®-Shop: https://vybelle.de/\n\n0:00 Wie man wichtige Entscheidungen trifft\n11:01 Eigene Entscheidungen von Wolfgang Grupp\n22:23 6 Jahre Zusammenarbeit Aldi & Trigema\n31:44 Wichtigkeit von Familie\n46:23 Firmenübergabe an Kinder\n50:55 Leben in der Öffentlichkeit\n58:35 Wolfgang Grupp vs. Uli Hoeneß\n1:08:06 Deshalb verurteilt er René Benko\n1:11:46 Zukunft von Politik & Wirtschaft\n1:29:23 Wie viel eigener Wohlstand?\n1:33:55 Unternehmensverteilung an Familie", "WOLFGANG GRUPP: \"Der letzte Abschnitt meines Lebens\"", "6e29151c-3b02-4b96-b88e-d175657f90c1", 6117, false, "MRWEBBrAuJ0", "https://www.youtube.com/watch?v=MRWEBBrAuJ0", 10, "/downloads/Tim Gabel/2025-06-08 WOLFGANG GRUPP: "Der letzte Abschnitt meines Lebens"/WOLFGANG GRUPP: "Der letzte Abschnitt meines Lebens" [MRWEBBrAuJ0].mp4", false, false, false, 3, [], 1, ~U[2025-06-08 10:00:34Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Hol dir jetzt die Trade Republic App: https://trade.re/tim_kinderdepot (Werbung)\nDisclaimer: Kapitalanlagen bergen Risiken.\n\nJetzt in der OLAKALA App shoppen und Loyalty Punkte sammeln: http://app.olakala.de/ (Werbung)\n\nBewirb dich bei G-IN: \nhttps://g-in-gmbh.de/#jobs\nhttps://join.com/companies/combine/14000609?utm_medium=social_sharing&utm_source=copy_link\n \n📲 Dein individueller MCI Trainingsplan in 2 Minuten! Spare maximal mit dem Code: \"TIM\". Neukunden testen 7 Tage gratis! https://mci.sng.link/Dlusp/ttona?_smtype=3 (Werbung)\n\nHeute ist Wolfgang Grupp Senior im Podcast. \nDer Mann, der Trigema seit über 50 Jahren führt und fast die gesamte Wertschöpfungskette seiner Klamotten vor der Haustür hat. Der Mann lebt „Made in Germany“.\nHeute führen seine Kinder das Unternehmen und er blickt auf ein krasses Lebenswerk zurück und hat eine Menge zu erzählen. Haben unter anderem über Verantwortung gesprochen, welche Rolle seine Familie für ihn spielt und man merkt ihm eine tiefe Dankbarkeit an, wenn er über seine Familie spricht.\n\nDanke an die gesamte Grupp-Familie für die Einladung, hat Spaß gemacht!\n\nViel Spaß mit der Folge!\n\nGastvorschläge für Podcasts gerne in die Kommentare oder an timgabelpodcastgast@gmail.com\nGeschäftliche Anfragen an: office@combine.management \n\n► Zu Trigema: @TRIGEMAtv \n\n► Tim Gabel Podcast auf Spotify: https://open.spotify.com/show/1KHKsb92bs1qeitk6QR8zV?si=0278f4c514ab49ca\n► Instagram: https://www.instagram.com/tim_gabel/\n► TikTok: https://www.tiktok.com/@tim_gabel\n\n► Zu OLAKALA: https://www.olakala.de/\n► Zur MCI Fitness App: https://onelink.to/mciapp.timgabel\n► Zum Vybelle®-Shop: https://vybelle.de/\n\n0:00 Wie man wichtige Entscheidungen trifft\n11:01 Eigene Entscheidungen von Wolfgang Grupp\n22:23 6 Jahre Zusammenarbeit Aldi & Trigema\n31:44 Wichtigkeit von Familie\n46:23 Firmenübergabe an Kinder\n50:55 Leben in der Öffentlichkeit\n58:35 Wolfgang Grupp vs. Uli Hoeneß\n1:08:06 Deshalb verurteilt er René Benko\n1:11:46 Zukunft von Politik & Wirtschaft\n1:29:23 Wie viel eigener Wohlstand?\n1:33:55 Unternehmensverteilung an Familie", "WOLFGANG GRUPP: \"Der letzte Abschnitt meines Lebens\"", 6117, false, "MRWEBBrAuJ0", "https://www.youtube.com/watch?v=MRWEBBrAuJ0", "/downloads/Tim Gabel/2025-06-08 WOLFGANG GRUPP: "Der letzte Abschnitt meines Lebens"/WOLFGANG GRUPP: "Der letzte Abschnitt meines Lebens" [MRWEBBrAuJ0].mp4", false, 3, ~U[2025-06-08 10:00:34Z]] 21:09:15.230 [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" = ?) [3] 21:09:15.232 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=6.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 12:00:51Z], 3] 21:09:15.236 [debug] QUERY OK source="media_items" db=3.5ms idle=6.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is \u2060Dr. Emily Balcetis, PhD\u2060, a professor of psychology at New York University who studies how visual perception influences motivation and goal pursuit. She explains how to better visualize and overcome challenges to achieve physical or cognitive goals. We also explore the science of setting goals, measuring progress effectively and research showing how fitness level and energy state can shape how difficult the world appears.\n\nShow notes: https://go.hubermanlab.com/IoZCSSi\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Emily Balcetis\n00:00:21 Adjusting Vision to Meet Goals, Exercise, Tool: Narrow Visual Target\n00:07:39 Goal Setting, Do Vision Boards Work?\n00:11:16 Tool: Effectively Plan Goals, Plan for Obstacles\n00:16:40 How Fitness Shapes the Way People See the World \n00:22:03 Visual Spotlight, Exercise & Physical Fitness Level\n00:23:02 Stimulants & Motivation\n00:24:24 Cognitive Goals, Tools: Overcoming Bad Memories; Deadlines\n00:31:34 Acknowledgements\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis", "4851a5c9-cb8a-4914-9b63-ce4b0e53425b", 1922, false, "RECLTp_YxSU", "https://www.youtube.com/watch?v=RECLTp_YxSU", 11, "/downloads/Andrew Huberman/2026-03-19 Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis/Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis [RECLTp_YxSU].mp4", false, false, false, 3, [], 1, ~U[2026-03-19 12:00:51Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this \u2060Huberman Lab Essentials\u2060 episode, my guest is \u2060Dr. Emily Balcetis, PhD\u2060, a professor of psychology at New York University who studies how visual perception influences motivation and goal pursuit. She explains how to better visualize and overcome challenges to achieve physical or cognitive goals. We also explore the science of setting goals, measuring progress effectively and research showing how fitness level and energy state can shape how difficult the world appears.\n\nShow notes: https://go.hubermanlab.com/IoZCSSi\n\nWatch more Huberman Lab Essentials: https://youtube.com/playlist?list=PLPNW_gerXa4OGNy1yE-W9IX-tPu-tJa7S&si=a1_sA7rUT-fE0OM5\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Emily Balcetis\n00:00:21 Adjusting Vision to Meet Goals, Exercise, Tool: Narrow Visual Target\n00:07:39 Goal Setting, Do Vision Boards Work?\n00:11:16 Tool: Effectively Plan Goals, Plan for Obstacles\n00:16:40 How Fitness Shapes the Way People See the World \n00:22:03 Visual Spotlight, Exercise & Physical Fitness Level\n00:23:02 Stimulants & Motivation\n00:24:24 Cognitive Goals, Tools: Overcoming Bad Memories; Deadlines\n00:31:34 Acknowledgements\n\n#HubermanLab #Science \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis", 1922, false, "RECLTp_YxSU", "https://www.youtube.com/watch?v=RECLTp_YxSU", "/downloads/Andrew Huberman/2026-03-19 Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis/Essentials: Tools for Setting & Achieving Goals | Dr. Emily Balcetis [RECLTp_YxSU].mp4", false, 3, ~U[2026-03-19 12:00:51Z]] 21:09:15.238 [debug] QUERY OK source="sources" db=1.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" = ?) [3] 21:09:15.239 [debug] QUERY OK source="media_items" db=0.6ms idle=9.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-09 12:00:49Z], 3] 21:09:15.243 [debug] QUERY OK source="media_items" db=3.0ms idle=9.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, my guest is Dr. Marc Brackett, Ph.D., a professor in the Child Study Center at Yale University, director of the Yale Center for Emotional Intelligence, and a world expert on what emotions are, how to interpret them, and how to work with emotions to yield a more impactful, meaningful and healthier life. We explore differences between introverts and extroverts, in-person and text-based emotional communication, and how emotional suppression impacts us.\n\nWe discuss emotional intelligence and describe tools to improve emotional regulation and communication in personal and professional relationships. We also explore the role of emotions in learning, resolving conflicts, and decision-making. We also discuss bullying in kids and adults, both in person and online. This episode provides a clear and novel framework for thinking about emotions and data-supported tools to improve emotion regulation, self-awareness, and empathic attunement.\n\nAccess the full show notes for this episode: https://go.hubermanlab.com/hPHAezn\n\nUse Ask Huberman Lab, our chat-based tool, for summaries, clips, and insights from this episode: https://go.hubermanlab.com/t5vg8x\n \nPre-order Andrew's book, Protocols: https://go.hubermanlab.com/protocols\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman \nBetterHelp: https://betterhelp.com/huberman \nEight Sleep: https://eightsleep.com/huberman \nEudēmonia: https://eudemonia.net \nLMNT: https://drinklmnt.com/huberman \n\n*Dr. Marc Brackett*\nWebsite: https://marcbrackett.com \nYale academic profile: https://medicine.yale.edu/profile/marc-brackett\nYale Center for Emotional Intelligence: https://medicine.yale.edu/childstudy/services/community-and-schools-programs/center-for-emotional-intelligence\nPermission to Feel: https://marcbrackett.com/permission-to-feel\nInstagram: https://www.instagram.com/marc.brackett\nLinkedIn: https://www.linkedin.com/in/marc-brackett-10a563\nX: https://x.com/marcbrackett \nYouTube: https://www.youtube.com/@MarcBrackett \nFacebook: https://www.facebook.com/marc.brackett.5 \n\n*Timestamps*\n00:00:00 Dr. Marc Brackett\n00:02:02 Sponsors: BetterHelp, Eight Sleep & Eudēmonia\n00:06:03 What is Emotional Intelligence?; Self & Others\n00:11:18 Language & Emotion\n00:18:52 Emojis; Anger vs. Disappointment; Behavior & Emotion\n00:24:35 Sponsor: AG1\n00:26:05 Parent/Teacher Support; Online Etiquette\n00:31:24 Anonymity, Online Comments\n00:35:46 Happiness vs. Contentment; Knowing Oneself\n00:41:33 Introversion & Extroversion; Personality & Emotional Intelligence\n00:51:28 Sponsor: LMNT\n00:52:40 Texting & Relationships\n01:00:37 Tool: Mood Meter, Energy & Pleasantness Scale\n01:06:28 Emotion Suppression; Permission to Feel, Emotions Mentor\n01:19:42 Discussing Feelings; Emotional Self-Awareness \n01:25:00 Understanding Cause of Emotions, Stress, Envy\n01:33:40 Framing Empathy, Compassionate Empathy\n01:42:28 Asking Question; Tools: Reframing, Hot Air Balloon; Distancing\n01:49:44 Stereotypes, “Emotional”\n01:53:49 Emotions, Learning & Decision Making; Intention\n02:02:43 Emotion App & Self-Awareness; Gratitude Practice \n02:07:13 Bullying\n02:18:06 Courage & Bullying; Emotion Education\n02:25:33 Punishment; Uncle Marvin\n02:31:59 Zero-Cost Support, YouTube, Spotify & Apple Follow & Reviews, Sponsors, YouTube Feedback, Protocols Book, Social Media, Neural Network Newsletter\n\n#HubermanLab #Science #EmotionalIntelligence\n\nDisclaimer: https://www.hubermanlab.com/disclaimer", "How to Increase Your Emotional Intelligence | Dr. Marc Brackett", "eeba6124-6ce7-4919-93d9-4aca5fe30174", 9274, false, "kG5Qb9sr0YQ", "https://www.youtube.com/watch?v=kG5Qb9sr0YQ", 12, "/downloads/Andrew Huberman/2024-09-09 How to Increase Your Emotional Intelligence | Dr. Marc Brackett/How to Increase Your Emotional Intelligence | Dr. Marc Brackett [kG5Qb9sr0YQ].mp4", false, false, false, 3, [], 1, ~U[2024-09-09 12:00:49Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, my guest is Dr. Marc Brackett, Ph.D., a professor in the Child Study Center at Yale University, director of the Yale Center for Emotional Intelligence, and a world expert on what emotions are, how to interpret them, and how to work with emotions to yield a more impactful, meaningful and healthier life. We explore differences between introverts and extroverts, in-person and text-based emotional communication, and how emotional suppression impacts us.\n\nWe discuss emotional intelligence and describe tools to improve emotional regulation and communication in personal and professional relationships. We also explore the role of emotions in learning, resolving conflicts, and decision-making. We also discuss bullying in kids and adults, both in person and online. This episode provides a clear and novel framework for thinking about emotions and data-supported tools to improve emotion regulation, self-awareness, and empathic attunement.\n\nAccess the full show notes for this episode: https://go.hubermanlab.com/hPHAezn\n\nUse Ask Huberman Lab, our chat-based tool, for summaries, clips, and insights from this episode: https://go.hubermanlab.com/t5vg8x\n \nPre-order Andrew's book, Protocols: https://go.hubermanlab.com/protocols\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman \nBetterHelp: https://betterhelp.com/huberman \nEight Sleep: https://eightsleep.com/huberman \nEudēmonia: https://eudemonia.net \nLMNT: https://drinklmnt.com/huberman \n\n*Dr. Marc Brackett*\nWebsite: https://marcbrackett.com \nYale academic profile: https://medicine.yale.edu/profile/marc-brackett\nYale Center for Emotional Intelligence: https://medicine.yale.edu/childstudy/services/community-and-schools-programs/center-for-emotional-intelligence\nPermission to Feel: https://marcbrackett.com/permission-to-feel\nInstagram: https://www.instagram.com/marc.brackett\nLinkedIn: https://www.linkedin.com/in/marc-brackett-10a563\nX: https://x.com/marcbrackett \nYouTube: https://www.youtube.com/@MarcBrackett \nFacebook: https://www.facebook.com/marc.brackett.5 \n\n*Timestamps*\n00:00:00 Dr. Marc Brackett\n00:02:02 Sponsors: BetterHelp, Eight Sleep & Eudēmonia\n00:06:03 What is Emotional Intelligence?; Self & Others\n00:11:18 Language & Emotion\n00:18:52 Emojis; Anger vs. Disappointment; Behavior & Emotion\n00:24:35 Sponsor: AG1\n00:26:05 Parent/Teacher Support; Online Etiquette\n00:31:24 Anonymity, Online Comments\n00:35:46 Happiness vs. Contentment; Knowing Oneself\n00:41:33 Introversion & Extroversion; Personality & Emotional Intelligence\n00:51:28 Sponsor: LMNT\n00:52:40 Texting & Relationships\n01:00:37 Tool: Mood Meter, Energy & Pleasantness Scale\n01:06:28 Emotion Suppression; Permission to Feel, Emotions Mentor\n01:19:42 Discussing Feelings; Emotional Self-Awareness \n01:25:00 Understanding Cause of Emotions, Stress, Envy\n01:33:40 Framing Empathy, Compassionate Empathy\n01:42:28 Asking Question; Tools: Reframing, Hot Air Balloon; Distancing\n01:49:44 Stereotypes, “Emotional”\n01:53:49 Emotions, Learning & Decision Making; Intention\n02:02:43 Emotion App & Self-Awareness; Gratitude Practice \n02:07:13 B (truncated) 21:09:15.244 [debug] QUERY OK source="sources" db=1.0ms 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" = ?) [3] 21:09:15.246 [debug] QUERY OK source="media_items" db=0.9ms idle=9.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-06-08 17:40:53Z], 3] 21:09:15.250 [debug] QUERY OK source="media_items" db=3.1ms idle=8.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["And Jesus said unto him, Why callest thou me good? there is none good but one, that is, God. (Mark 10:18; see also Luke 18:19).\n\nNot every one that saith unto me, Lord, Lord, shall enter into the kingdom of heaven; but he that doeth the will of my Father which is in heaven. (Matthew 7:21, KJV). \n\nI have been asked many times by many people if I believe in God. I don't like this question. I generally respond by stating that I act as if God exists, but that's not sufficiently true. Who could do that? Who could conduct themselves with the moral exactitude and care necessary of someone who would dare to make that claim? Either claim? In any case, after being asked the question yet again, when I was in Australia, I decided to attempt to answer it in some detail. \n\nThis lecture, one of the 12 Rules for Life tour talks, was delivered in Sydney Feb 26, 2019, at the International Convention Centre. It was one of six I had professionally video recorded. Five of the six will be released directly on thinkspot, our new social media platform (to be announced in mid-June), as a bonus for direct subscribers (not to worry; there are still more than 50 to be released as audio on the Jordan B Peterson podcast at http://bit.ly/2HUdgnc, so it's not as if there will be any shortage). But I thought YouTube would be appropriate for this, given the potentially broad interest in the topic.\n\nI've made a new playlist for it, too, entitled On (my) Belief in God. Three videos make up that playlist: this one, a 20 minute talk I did for the Prager summit in May of 2019 (https://youtu.be/vwKCK5EhibM), and an interview/discussion I had with Dennis Prager at the same event (https://youtu.be/j0GL_4cAkhI)\n\n I would recommend watching them in the playlist order, which will be this lecture first, then my Prager talk, then the interview, if you're interested in doing so. I think they make a good group.The idea of belief in God is of extreme importance. I hope that these lectures and interviews add to everyone's understanding of my position and why I hold it.\n\nAs always, thank you very much for your continued support. \n\nThe adjunct videos are also available on the Prager U site: the lecture at https://www.youtube.com/watch?v=avInTfCd92Q; the interview at https://www.youtube.com/watch?v=L47oJxwp6yg\n\nThanks to the Prager U organization for the invitation and opportunity. \n\n--- SUPPORT THIS CHANNEL ---\n\nDonations: https://www.jordanbpeterson.com/donate\nMerchandise: https://teespring.com/stores/jordanbpeterson\n\n--- BOOKS ---\n\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life/\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning/\n\n--- LINKS ---\n\nWebsite: https://jordanbpeterson.com/\n12 Rules for Life Tour: https://jordanbpeterson.com/events/\nBlog: https://jordanbpeterson.com/blog/\nPodcast: https://jordanbpeterson.com/podcast/\nReading List: https://jordanbpeterson.com/great-books/\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nFacebook: https://www.facebook.com/drjordanpeterson\n\n--- PRODUCTS ---\n\nPersonality Course: https://www.jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com/\nUnderstand Myself personality test: https://understandmyself.com/\nMerchandise: https://teespring.com/stores/jordanbpeterson", "Lecture: Who Dares Say He Believes in God?", "bb89a471-c0b6-49b1-a3dd-74da2dcc6264", 6213, false, "MnUfXYGtT5Q", "https://www.youtube.com/watch?v=MnUfXYGtT5Q", 13, "/downloads/Jordan B Peterson/2019-06-08 Lecture: Who Dares Say He Believes in God?/Lecture: Who Dares Say He Believes in God? [MnUfXYGtT5Q].mp4", false, false, false, 3, [], 1, ~U[2019-06-08 17:40:53Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "And Jesus said unto him, Why callest thou me good? there is none good but one, that is, God. (Mark 10:18; see also Luke 18:19).\n\nNot every one that saith unto me, Lord, Lord, shall enter into the kingdom of heaven; but he that doeth the will of my Father which is in heaven. (Matthew 7:21, KJV). \n\nI have been asked many times by many people if I believe in God. I don't like this question. I generally respond by stating that I act as if God exists, but that's not sufficiently true. Who could do that? Who could conduct themselves with the moral exactitude and care necessary of someone who would dare to make that claim? Either claim? In any case, after being asked the question yet again, when I was in Australia, I decided to attempt to answer it in some detail. \n\nThis lecture, one of the 12 Rules for Life tour talks, was delivered in Sydney Feb 26, 2019, at the International Convention Centre. It was one of six I had professionally video recorded. Five of the six will be released directly on thinkspot, our new social media platform (to be announced in mid-June), as a bonus for direct subscribers (not to worry; there are still more than 50 to be released as audio on the Jordan B Peterson podcast at http://bit.ly/2HUdgnc, so it's not as if there will be any shortage). But I thought YouTube would be appropriate for this, given the potentially broad interest in the topic.\n\nI've made a new playlist for it, too, entitled On (my) Belief in God. Three videos make up that playlist: this one, a 20 minute talk I did for the Prager summit in May of 2019 (https://youtu.be/vwKCK5EhibM), and an interview/discussion I had with Dennis Prager at the same event (https://youtu.be/j0GL_4cAkhI)\n\n I would recommend watching them in the playlist order, which will be this lecture first, then my Prager talk, then the interview, if you're interested in doing so. I think they make a good group.The idea of belief in God is of extreme importance. I hope that these lectures and interviews add to everyone's understanding of my position and why I hold it.\n\nAs always, thank you very much for your continued support. \n\nThe adjunct videos are also available on the Prager U site: the lecture at https://www.youtube.com/watch?v=avInTfCd92Q; the interview at https://www.youtube.com/watch?v=L47oJxwp6yg\n\nThanks to the Prager U organization for the invitation and opportunity. \n\n--- SUPPORT THIS CHANNEL ---\n\nDonations: https://www.jordanbpeterson.com/donate\nMerchandise: https://teespring.com/stores/jordanbpeterson\n\n--- BOOKS ---\n\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life/\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning/\n\n--- LINKS ---\n\nWebsite: https://jordanbpeterson.com/\n12 Rules for Life Tour: https://jordanbpeterson.com/events/\nBlog: https://jordanbpeterson.com/blog/\nPodcast: https://jordanbpeterson.com/podcast/\nReading List: https://jordanbpeterson.com/great-books/\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nFacebook: https://www.facebook.com/drjordanpeterson\n\n--- PRODUCTS ---\n\nPersonality Course: https://www.jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com/\nUnderstand Myself personality test: https://understandmyself.com/\nMerchandise: https://teespring.com/stores/jordanbpeterson", "Lecture: Who Dares Say He Believes in God?", 6213, false, "MnUfXYGtT5Q", "https://www.youtube.com/watch?v=MnUfXYGtT5Q", "/d (truncated) 21:09:15.251 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [3] 21:09:15.251 [debug] QUERY OK source="media_items" db=0.6ms idle=8.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-04 16:30:12Z], 3] 21:09:15.254 [debug] QUERY OK source="media_items" db=1.8ms idle=7.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Jordan Peterson reveals why the people who carry the heaviest burdens are often the most silent.\n\nIn this analysis, we decode Dr. Jordan Peterson’s profound take on why the truly powerful don’t broadcast their struggles. Tying into clinical psychology, self-improvement trends, and silent resilience, this video explores the counterintuitive link between genuine strength and quiet withdrawal. If you’ve ever felt like you’re fighting battles no one sees, this breakdown is for you.\n\nIn This Video\n00:00 – The Paradox of Disappearing Strength\n05:45 – Why Silence Commands Immediate Respect\n11:20 – The Danger of “Oversharing” Your Inner World\n19:15 – How to Build Resilience Without Burning Out\n27:30 – Jordan Peterson on Masculinity, Mystery, and Mental Health\n\n// Why This Matters Right Now\nMindfulness, psychological insight, and personal development for men continue to dominate trending searches in 2026. The silent, steady approach to masculine identity and emotional fitness isn’t just philosophical—it’s a trending shift in how millions approach life. Jordan Peterson’s deep-dive into the power of silence explains exactly why the loudest person in the room is rarely the most dangerous.\n\n// Resources & Further Reading\n📖 12 Rules for Life: An Antidote to Chaos – https://www.jordanbpeterson.com/12-rules-for-life/\n📖 Beyond Order: 12 More Rules for Life – https://www.jordanbpeterson.com/beyond-order/\n🎙️ The Jordan B. Peterson Podcast – https://www.jordanbpeterson.com/podcast/\n🔗 Full unedited lectures available at Jordan Peterson’s official education hub.\n\n// Connect With This Community\n💬 What silent burden have you turned into your greatest strength? Drop it in the comments—but only if you feel you’re ready to share it.\n\n🔔 Subscribe For More\nIf you value depth over noise, hit subscribe and turn on notifications. We unpack the psychological frameworks and mindset shifts that help you build a life of meaning.\n\n#JordanPeterson #SilentStrength #Psychology #SelfImprovement #MensMentalHealth #2026Motivation", "Jordan Peterson: \"Why the Strongest People Disappear in Silence\"", "d3e9872e-4fa5-401d-94bb-56d626341ec9", 2015, false, "WbBY7UfbJrE", "https://www.youtube.com/watch?v=WbBY7UfbJrE", 14, "/downloads/Jordan Peterson Rules for Life/2026-05-04 Jordan Peterson: "Why the Strongest People Disappear in Silence"/Jordan Peterson: "Why the Strongest People Disappear in Silence" [WbBY7UfbJrE].mp4", false, false, false, 3, [], 1, ~U[2026-05-04 16:30:12Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Jordan Peterson reveals why the people who carry the heaviest burdens are often the most silent.\n\nIn this analysis, we decode Dr. Jordan Peterson’s profound take on why the truly powerful don’t broadcast their struggles. Tying into clinical psychology, self-improvement trends, and silent resilience, this video explores the counterintuitive link between genuine strength and quiet withdrawal. If you’ve ever felt like you’re fighting battles no one sees, this breakdown is for you.\n\nIn This Video\n00:00 – The Paradox of Disappearing Strength\n05:45 – Why Silence Commands Immediate Respect\n11:20 – The Danger of “Oversharing” Your Inner World\n19:15 – How to Build Resilience Without Burning Out\n27:30 – Jordan Peterson on Masculinity, Mystery, and Mental Health\n\n// Why This Matters Right Now\nMindfulness, psychological insight, and personal development for men continue to dominate trending searches in 2026. The silent, steady approach to masculine identity and emotional fitness isn’t just philosophical—it’s a trending shift in how millions approach life. Jordan Peterson’s deep-dive into the power of silence explains exactly why the loudest person in the room is rarely the most dangerous.\n\n// Resources & Further Reading\n📖 12 Rules for Life: An Antidote to Chaos – https://www.jordanbpeterson.com/12-rules-for-life/\n📖 Beyond Order: 12 More Rules for Life – https://www.jordanbpeterson.com/beyond-order/\n🎙️ The Jordan B. Peterson Podcast – https://www.jordanbpeterson.com/podcast/\n🔗 Full unedited lectures available at Jordan Peterson’s official education hub.\n\n// Connect With This Community\n💬 What silent burden have you turned into your greatest strength? Drop it in the comments—but only if you feel you’re ready to share it.\n\n🔔 Subscribe For More\nIf you value depth over noise, hit subscribe and turn on notifications. We unpack the psychological frameworks and mindset shifts that help you build a life of meaning.\n\n#JordanPeterson #SilentStrength #Psychology #SelfImprovement #MensMentalHealth #2026Motivation", "Jordan Peterson: \"Why the Strongest People Disappear in Silence\"", 2015, false, "WbBY7UfbJrE", "https://www.youtube.com/watch?v=WbBY7UfbJrE", "/downloads/Jordan Peterson Rules for Life/2026-05-04 Jordan Peterson: "Why the Strongest People Disappear in Silence"/Jordan Peterson: "Why the Strongest People Disappear in Silence" [WbBY7UfbJrE].mp4", false, 3, ~U[2026-05-04 16:30:12Z]] 21:09:15.255 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=8.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.256 [debug] QUERY OK source="media_items" db=0.4ms idle=5.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-07-22 13:00:40Z], 3] 21:09:15.257 [debug] QUERY OK source="media_items" db=1.1ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe for weekly videos.\n\nFollow us on Social Media:\nTwitter: https://twitter.com/chispamotvation\nInstagram: https://www.instagram.com/chispamotivation\nTiktok: https://www.tiktok.com/@chispamotivation You can now listen to all of our videos on Spotify\nlink to Spotify: https://open.spotify.com/show/45f7fpcboSgDbMRvbN1UAx\n\n\nSpeakers:\nJordan Peterson\nFollow his Podcast here: https://www.youtube.com/c/JordanPetersonVideos\n\nJocko Willink\nGary Vaynerhuk\n\n\n\nAll images shown in this video were taken from movies, stock footage and different spec commercials in order to give some context to the video.\n\n\nIf you have any issues or want to contact me, my email is elhartpablo@gmail.com", "DISCIPLINE YOURSELF - Best Motivational Speeches by Jordan Peterson", "6a8e6030-cad7-48d7-9a1c-73fccabb8bdc", 1237, false, "rhjiANJVR6g", "https://www.youtube.com/watch?v=rhjiANJVR6g", 15, "/downloads/Chispa Motivation/2022-07-22 DISCIPLINE YOURSELF - Best Motivational Speeches by Jordan Peterson/DISCIPLINE YOURSELF - Best Motivational Speeches by Jordan Peterson [rhjiANJVR6g].mp4", false, false, false, 3, [], 1, ~U[2022-07-22 13:00:40Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Subscribe for weekly videos.\n\nFollow us on Social Media:\nTwitter: https://twitter.com/chispamotvation\nInstagram: https://www.instagram.com/chispamotivation\nTiktok: https://www.tiktok.com/@chispamotivation You can now listen to all of our videos on Spotify\nlink to Spotify: https://open.spotify.com/show/45f7fpcboSgDbMRvbN1UAx\n\n\nSpeakers:\nJordan Peterson\nFollow his Podcast here: https://www.youtube.com/c/JordanPetersonVideos\n\nJocko Willink\nGary Vaynerhuk\n\n\n\nAll images shown in this video were taken from movies, stock footage and different spec commercials in order to give some context to the video.\n\n\nIf you have any issues or want to contact me, my email is elhartpablo@gmail.com", "DISCIPLINE YOURSELF - Best Motivational Speeches by Jordan Peterson", 1237, false, "rhjiANJVR6g", "https://www.youtube.com/watch?v=rhjiANJVR6g", "/downloads/Chispa Motivation/2022-07-22 DISCIPLINE YOURSELF - Best Motivational Speeches by Jordan Peterson/DISCIPLINE YOURSELF - Best Motivational Speeches by Jordan Peterson [rhjiANJVR6g].mp4", false, 3, ~U[2022-07-22 13:00:40Z]] 21:09:15.258 [debug] QUERY OK source="sources" db=0.3ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.259 [debug] QUERY OK source="media_items" db=0.4ms idle=4.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-01-29 19:38:41Z], 3] 21:09:15.261 [debug] QUERY OK source="media_items" db=1.6ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["\"Blessed is the one who perseveres under trial because, having stood the test, that person will receive the crown of life that the Lord has promised to those who love him.\"\n\nDoes Dr. Peterson deserve the crown? \n- What do you think?\n\n\n#JordanPeterson\n#PursuitofMeaning\n\n\nGet one of his books FOR FREE (narrated by Dr. Peterson himself) when signing up for an Audible Trial. This is his best one book, in my opinion - https://geni.us/DrJP.\n\n\nWe create to inspire, hopefully, worldwide.\n\nIf you're into a motivational speech or a motivational video from Dr. Jordan Peterson, you can stop here.\n\nHere, at the \"Pursuit of Meaning\" channel, we transform the original content from shows, podcasts, and key-notes with Dr. Jordan Peterson, to provide the viewers with a more immersive experience. \n\nWe amplify the content's original message by making it more cinematic and easier to understand by the end consumer. \n\nIf you are the legal content owner of any videos we posted on the channel and would like to remove them, please e-mail us at hello@succesonline.ro.\n\n✅ Fair Use Disclaimer\n1. The videos have no negative impact on the original works.\n2. The videos we make are used for teaching purposes.\n3. The videos are transformative in nature.\n4. We use only the audio component and tiny pieces of video footage, only if it's necessary.\n\n☢️ We hold license for using both video footage and songs.\n\n📧 Hello@succesonline.ro\n\n- Jordan Peterson Motivation\n- Jordan Peterson God\n- Jordan Peterson Meaning\n- Jordan Peterson Advice\n- Jordan Peterson Christ\n- Jordan Peterson Faith\n- Jordan Peterson Religion\n- Success Chasers\n- Wisdom Talks\n- Bite-sized Philosophy\n- Wise Advice Motivation\n- Be inspired\n- Motivation Madness\n- Chaos & Order\n- Better Chapter\n- Forever Inspired", "Jordan Peterson's INCREDIBLE Journey To GOD | Heartbreaking Moments on His FAITH", "55062128-0047-4bbe-b4cd-3fee34ad7723", 1086, false, "x6_ESSfyiYE", "https://www.youtube.com/watch?v=x6_ESSfyiYE", 16, "/downloads/Pursuit of Meaning/2022-01-29 Jordan Peterson's INCREDIBLE Journey To GOD | Heartbreaking Moments on His FAITH/Jordan Peterson's INCREDIBLE Journey To GOD | Heartbreaking Moments on His FAITH [x6_ESSfyiYE].mp4", false, false, false, 3, [], 1, ~U[2022-01-29 19:38:41Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "\"Blessed is the one who perseveres under trial because, having stood the test, that person will receive the crown of life that the Lord has promised to those who love him.\"\n\nDoes Dr. Peterson deserve the crown? \n- What do you think?\n\n\n#JordanPeterson\n#PursuitofMeaning\n\n\nGet one of his books FOR FREE (narrated by Dr. Peterson himself) when signing up for an Audible Trial. This is his best one book, in my opinion - https://geni.us/DrJP.\n\n\nWe create to inspire, hopefully, worldwide.\n\nIf you're into a motivational speech or a motivational video from Dr. Jordan Peterson, you can stop here.\n\nHere, at the \"Pursuit of Meaning\" channel, we transform the original content from shows, podcasts, and key-notes with Dr. Jordan Peterson, to provide the viewers with a more immersive experience. \n\nWe amplify the content's original message by making it more cinematic and easier to understand by the end consumer. \n\nIf you are the legal content owner of any videos we posted on the channel and would like to remove them, please e-mail us at hello@succesonline.ro.\n\n✅ Fair Use Disclaimer\n1. The videos have no negative impact on the original works.\n2. The videos we make are used for teaching purposes.\n3. The videos are transformative in nature.\n4. We use only the audio component and tiny pieces of video footage, only if it's necessary.\n\n☢️ We hold license for using both video footage and songs.\n\n📧 Hello@succesonline.ro\n\n- Jordan Peterson Motivation\n- Jordan Peterson God\n- Jordan Peterson Meaning\n- Jordan Peterson Advice\n- Jordan Peterson Christ\n- Jordan Peterson Faith\n- Jordan Peterson Religion\n- Success Chasers\n- Wisdom Talks\n- Bite-sized Philosophy\n- Wise Advice Motivation\n- Be inspired\n- Motivation Madness\n- Chaos & Order\n- Better Chapter\n- Forever Inspired", "Jordan Peterson's INCREDIBLE Journey To GOD | Heartbreaking Moments on His FAITH", 1086, false, "x6_ESSfyiYE", "https://www.youtube.com/watch?v=x6_ESSfyiYE", "/downloads/Pursuit of Meaning/2022-01-29 Jordan Peterson's INCREDIBLE Journey To GOD | Heartbreaking Moments on His FAITH/Jordan Peterson's INCREDIBLE Journey To GOD | Heartbreaking Moments on His FAITH [x6_ESSfyiYE].mp4", false, 3, ~U[2022-01-29 19:38:41Z]] 21:09:15.262 [debug] QUERY OK source="sources" db=0.5ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.263 [debug] QUERY OK source="media_items" db=0.4ms idle=5.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-21 18:02:32Z], 3] 21:09:15.266 [debug] QUERY OK source="media_items" db=2.0ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Stop waiting to feel motivated. In this powerful talk, Dr. Jordan Peterson cuts to the core of why you procrastinate and provides the psychological framework you need to build discipline, take responsibility for your life, and finally achieve your goals. This isn't about empty motivation; it's a practical guide to overcoming resistance and mastering the art of getting things done, even when you don't want to.\n\nWhat You'll Learn:\n\n· The Real Reason You Procrastinate: Understand the psychological barriers of anxiety and fear that hold you back.\n· Discipline Over Motivation: Why relying on feeling \"ready\" or \"inspired\" is a trap, and how to act regardless.\n· The Power of Small Starts: How to use micro-actions to build momentum and conquer overwhelming tasks.\n· Finding Meaning in Responsibility: How structuring your day and fulfilling your obligations is the path to a meaningful life.\n\nVideo Timestamps / Chapters:\n00:00 - The Problem with Waiting for Motivation\n03:15 - Why Your Brain Resists Starting\n07:42 - The Link Between Order, Responsibility, and Meaning\n12:30 - Practical Strategy: Start Small, Right Now\n15:10 - How to Schedule Your Day for Maximum Productivity\n19:05 - The Long-Term Impact of Building Discipline\n22:50 - Applying These Principles to Creative Work\n\n\n🔗 📚 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n📱 Connect with Dr. Peterson: \nInstagram → https://www.instagram.com/jordan.b.peterson/ \nTwitter → https://twitter.com/jordanbpeterson Website → https://www.jordanbpeterson.com/ Events → https://www.jordanbpeterson.com/events/\n\n💬 JOIN THE DISCUSSION 💬\nWhat’s the ONE task you’ve been putting off that you’ll tackle today after watching this? Share your commitment in the comments below—let's hold each other accountable. Don't forget to like this video if it helped you; it helps YouTube share it with more people who need to see it.\n\n🔔 SUBSCRIBE for more insights on practical psychology, personal development, and mastering your mindset. New videos every week. \n\n---\n\n#JordanPeterson #Discipline #Motivation #Procrastination #GetThingsDone #PersonalDevelopment #SelfImprovement #Productivity #Mindset #Psychology #Responsibility #LifeAdvice #Goals #Focus #Success\n\n---\n\n\nAbout This Channel:\nWelcome to Jordan Peterson Rules for Life, where we explore actionable ideas from psychology, philosophy, and science to help you live a more focused, productive, and meaningful life. We post new, in-depth videos every week. Subscribe and hit the bell so you never miss an upload!", "Jordan Peterson: \"Force Yourself to Get Things Done\"", "719a410d-17ba-4ac8-974f-046f57aa5c5b", 1463, false, "m5C_e8Lv9Ow", "https://www.youtube.com/watch?v=m5C_e8Lv9Ow", 17, "/downloads/Jordan Peterson Rules for Life/2025-12-21 Jordan Peterson: "Force Yourself to Get Things Done"/Jordan Peterson: "Force Yourself to Get Things Done" [m5C_e8Lv9Ow].mp4", false, false, false, 3, [], 1, ~U[2025-12-21 18:02:32Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Stop waiting to feel motivated. In this powerful talk, Dr. Jordan Peterson cuts to the core of why you procrastinate and provides the psychological framework you need to build discipline, take responsibility for your life, and finally achieve your goals. This isn't about empty motivation; it's a practical guide to overcoming resistance and mastering the art of getting things done, even when you don't want to.\n\nWhat You'll Learn:\n\n· The Real Reason You Procrastinate: Understand the psychological barriers of anxiety and fear that hold you back.\n· Discipline Over Motivation: Why relying on feeling \"ready\" or \"inspired\" is a trap, and how to act regardless.\n· The Power of Small Starts: How to use micro-actions to build momentum and conquer overwhelming tasks.\n· Finding Meaning in Responsibility: How structuring your day and fulfilling your obligations is the path to a meaningful life.\n\nVideo Timestamps / Chapters:\n00:00 - The Problem with Waiting for Motivation\n03:15 - Why Your Brain Resists Starting\n07:42 - The Link Between Order, Responsibility, and Meaning\n12:30 - Practical Strategy: Start Small, Right Now\n15:10 - How to Schedule Your Day for Maximum Productivity\n19:05 - The Long-Term Impact of Building Discipline\n22:50 - Applying These Principles to Creative Work\n\n\n🔗 📚 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n📱 Connect with Dr. Peterson: \nInstagram → https://www.instagram.com/jordan.b.peterson/ \nTwitter → https://twitter.com/jordanbpeterson Website → https://www.jordanbpeterson.com/ Events → https://www.jordanbpeterson.com/events/\n\n💬 JOIN THE DISCUSSION 💬\nWhat’s the ONE task you’ve been putting off that you’ll tackle today after watching this? Share your commitment in the comments below—let's hold each other accountable. Don't forget to like this video if it helped you; it helps YouTube share it with more people who need to see it.\n\n🔔 SUBSCRIBE for more insights on practical psychology, personal development, and mastering your mindset. New videos every week. \n\n---\n\n#JordanPeterson #Discipline #Motivation #Procrastination #GetThingsDone #PersonalDevelopment #SelfImprovement #Productivity #Mindset #Psychology #Responsibility #LifeAdvice #Goals #Focus #Success\n\n---\n\n\nAbout This Channel:\nWelcome to Jordan Peterson Rules for Life, where we explore actionable ideas from psychology, philosophy, and science to help you live a more focused, productive, and meaningful life. We post new, in-depth videos every week. Subscribe and hit the bell so you never miss an upload!", "Jordan Peterson: \"Force Yourself to Get Things Done\"", 1463, false, "m5C_e8Lv9Ow", "https://www.youtube.com/watch?v=m5C_e8Lv9Ow", "/downloads/Jordan Peterson Rules for Life/2025-12-21 Jordan Peterson: "Force Yourself to Get Things Done"/Jordan Peterson: "Force Yourself to Get Things Done" [m5C_e8Lv9Ow].mp4", false, 3, ~U[2025-12-21 18:02:32Z]] 21:09:15.267 [debug] QUERY OK source="sources" db=0.4ms idle=7.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.268 [debug] QUERY OK source="media_items" db=0.5ms idle=6.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-07 16:30:06Z], 3] 21:09:15.270 [debug] QUERY OK source="media_items" db=1.8ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dr. Jordan Peterson confronts the single question every man eventually asks: What actually makes a man’s life meaningful? This isn’t about fleeting happiness—it’s about the weight of responsibility, sacrifice, and the deep-seated drive to bring order out of chaos. In this powerful talk, Peterson lays out a raw psychological and philosophical roadmap for a life of genuine purpose.\n\nWhat You’ll Learn in This Video:\n• Why meaning beats happiness every single time\n• How personal responsibility fundamentally restructures your life\n• The unavoidable link between sacrifice and lasting fulfillment\n• Why telling the truth is the most revolutionary act you can commit\n• How to “pick up the heaviest burden you can carry”—and why you must\n\nKey Moments (Timestamps):\n00:00 – The Danger of a Meaningless Life\n03:45 – Responsibility as the Foundation of Identity\n08:20 – Sacrifice: Giving Up the Present for the Future\n14:15 – Truth, Chaos, and the Logos\n23:50 – What “Carrying Your Cross” Really Looks Like\n31:30 – Practical Steps to Start Building Meaning Today\n\n🔔 Subscribe for more deep-dive discussions on philosophy, psychology, and personal development.\n\n#JordanPeterson #MensMeaning #LifePurpose #PersonalResponsibility #Sacrifice #SelfImprovement #Psychology #Philosophy #Motivation\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nABOUT DR. JORDAN B. PETERSON:\nJordan B. Peterson is a clinical psychologist, professor emeritus at the University of Toronto, and one of the most influential public intellectuals of our time. He is the author of the global bestsellers 12 Rules for Life: An Antidote to Chaos and Beyond Order: 12 More Rules for Life. His work integrates psychology, philosophy, mythology, and religion to explore how individuals can find meaning and purpose in a chaotic world.\n\n🔗 Official Website: https://www.jordanbpeterson.com/\n🔗 YouTube Channel: https://www.youtube.com/@JordanBPeterson\n🔗 Podcast: https://www.jordanbpeterson.com/podcast/\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nWAYS TO SUPPORT THE CHANNEL:\n⭐ Become a Channel Member: https://www.youtube.com/channel/UC5ddsy9laN8sGjV1kTkvHAw/join\n☕ Buy Me a Coffee: buymeacoffee.com/jordan.peterson\n\n🔔 DON'T MISS OUT\n→ Subscribe & Hit the Bell (🔔) to join a community of people dedicated to building better lives every single week.\n→ Like This Video if you believe in aiming higher, even (especially) on the hard days.\n→ Share This With Someone who needs to hear this message right now.\n\n🗣️ WHAT’S YOUR BIGGEST TAKEAWAY? Drop a comment below\n\n📢 DISCLAIMER:\nThis video is for educational and informational purposes only and is not a substitute for professional medical or psychological advice.", "Jordan Peterson: \"What Gives A Man's Life Meaning\"", "5b1d3d22-c92d-469a-a263-8e60e45e14a7", 2270, false, "6NJJA0Ynzhw", "https://www.youtube.com/watch?v=6NJJA0Ynzhw", 18, "/downloads/Jordan Peterson Rules for Life/2026-05-07 Jordan Peterson: "What Gives A Man's Life Meaning"/Jordan Peterson: "What Gives A Man's Life Meaning" [6NJJA0Ynzhw].mp4", false, false, false, 3, [], 1, ~U[2026-05-07 16:30:06Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Dr. Jordan Peterson confronts the single question every man eventually asks: What actually makes a man’s life meaningful? This isn’t about fleeting happiness—it’s about the weight of responsibility, sacrifice, and the deep-seated drive to bring order out of chaos. In this powerful talk, Peterson lays out a raw psychological and philosophical roadmap for a life of genuine purpose.\n\nWhat You’ll Learn in This Video:\n• Why meaning beats happiness every single time\n• How personal responsibility fundamentally restructures your life\n• The unavoidable link between sacrifice and lasting fulfillment\n• Why telling the truth is the most revolutionary act you can commit\n• How to “pick up the heaviest burden you can carry”—and why you must\n\nKey Moments (Timestamps):\n00:00 – The Danger of a Meaningless Life\n03:45 – Responsibility as the Foundation of Identity\n08:20 – Sacrifice: Giving Up the Present for the Future\n14:15 – Truth, Chaos, and the Logos\n23:50 – What “Carrying Your Cross” Really Looks Like\n31:30 – Practical Steps to Start Building Meaning Today\n\n🔔 Subscribe for more deep-dive discussions on philosophy, psychology, and personal development.\n\n#JordanPeterson #MensMeaning #LifePurpose #PersonalResponsibility #Sacrifice #SelfImprovement #Psychology #Philosophy #Motivation\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nABOUT DR. JORDAN B. PETERSON:\nJordan B. Peterson is a clinical psychologist, professor emeritus at the University of Toronto, and one of the most influential public intellectuals of our time. He is the author of the global bestsellers 12 Rules for Life: An Antidote to Chaos and Beyond Order: 12 More Rules for Life. His work integrates psychology, philosophy, mythology, and religion to explore how individuals can find meaning and purpose in a chaotic world.\n\n🔗 Official Website: https://www.jordanbpeterson.com/\n🔗 YouTube Channel: https://www.youtube.com/@JordanBPeterson\n🔗 Podcast: https://www.jordanbpeterson.com/podcast/\n\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n\nWAYS TO SUPPORT THE CHANNEL:\n⭐ Become a Channel Member: https://www.youtube.com/channel/UC5ddsy9laN8sGjV1kTkvHAw/join\n☕ Buy Me a Coffee: buymeacoffee.com/jordan.peterson\n\n🔔 DON'T MISS OUT\n→ Subscribe & Hit the Bell (🔔) to join a community of people dedicated to building better lives every single week.\n→ Like This Video if you believe in aiming higher, even (especially) on the hard days.\n→ Share This With Someone who needs to hear this message right now.\n\n🗣️ WHAT’S YOUR BIGGEST TAKEAWAY? Drop a comment below\n\n📢 DISCLAIMER:\nThis video is for educational and informational purposes only and is not a substitute for professional medical or psychological advice.", "Jordan Peterson: \"What Gives A Man's Life Meaning\"", 2270, false, "6NJJA0Ynzhw", "https://www.youtube.com/watch?v=6NJJA0Ynzhw", "/downloads/Jordan Peterson Rules for Life/2026-05-07 Jordan Peterson: "What Gives A Man's Life Meaning"/Jordan Peterson: "What Gives A Man's Life Meaning" [6NJJA0Ynzhw].mp4", false, 3, ~U[2026-05-07 16:30:06Z]] 21:09:15.272 [debug] QUERY OK source="sources" db=1.0ms 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" = ?) [3] 21:09:15.272 [debug] QUERY OK source="media_items" db=0.5ms idle=6.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-08 19:00:52Z], 3] 21:09:15.283 [debug] QUERY OK source="media_items" db=9.4ms idle=6.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["📺 Jordan Peterson: \"You Must Believe in You\" - A Message on Responsibility, Sacrifice, and Upward Striving\nWhat is the one principle that can stabilize your world and start your journey out of suffering? In this powerful talk, Dr. Jordan B. Peterson argues that the foundational answer is voluntary self-sacrifice and upward striving. This isn't about grand gestures, but about the daily commitment to take responsibility, put your life in order, and aim toward your highest ideal.\n\nThis video captures essential lessons from Dr. Peterson's recent major address, where he explored how timeless biblical stories provide a roadmap for modern life. Discover why accepting responsibility for your errors is the first and most courageous step toward personal transformation and how \"believing in you\" is an active, moral process.\n\n📖 In This Video, You Will Learn:\nThe Path Out of \"Hell\": Dr. Peterson explains how much of our suffering stems from our own poor choices, and how recognizing this is the key to unlocking change.\n\nThe Power of \"Upward Striving\": Learn why the cosmic and moral principle of aiming upward—toward improvement, redemption, and your highest ideal—is essential for a meaningful life.\n\nStart Small, Think Big: Practical advice on beginning your journey. Transformation starts not with a huge leap, but with getting your immediate environment and habits in order.\n\nThe Edge of Adventure: Why we learn and grow only when we operate outside our comfort zone. Dr. Peterson discusses how facing challenges voluntarily builds the resilience and skill needed to withstand anything.\n\nThe Stories That Shape Us: Insights into narratives like Jacob and Esau (on the cost of craving power) and Abraham (on faithful adventure), and what they teach us about keeping our word, ambition, and courage.\n\n⏱️ CHAPTER TIMESTAMPS:\n00:00 - Introduction: \"You Must Believe in You\"\n02:15 - Where Does Suffering Really Come From?\n08:40 - The First Step: Accepting Responsibility\n11:20 - The Principle of Upward Striving & Sacrifice\n14:50 - How to Start Your Transformation (Practical Steps)\n17:10 - Learning on the \"Edge of Adventure\"\n20:05 - Biblical Wisdom for Modern Life\n24:00 - Key Insights: Finding Your Purpose\n\n📚 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\nFor official Jordan Peterson content, please visit his official website and YouTube channel.\n\n📱 Connect with Dr. Peterson: \nInstagram → https://www.instagram.com/jordan.b.peterson/ \nTwitter → https://twitter.com/jordanbpeterson Website → https://www.jordanbpeterson.com/ Events → https://www.jordanbpeterson.com/events/\n\n💬 Join the Discussion:\nWhat is one small thing you can put in order today? Share your commitment in the comments below. If this message resonated with you, please like the video, subscribe to the channel, and hit the notification bell. Sharing this video helps others who are on their own path toward taking responsibility and finding meaning.\n\n👉 Subscribe for more deep dives into psychology, philosophy, and personal development.\n\nAbout This Channel:\nWe are dedicated to curating and sharing impactful lectures, speeches, and conversations that challenge conventional thinking and promote personal sovereignty. Our focus is on psychology, philosophy, and the fundamental principles that lead to a meaningful life.\n\n\n#jordanpeterson #motivation #psychology #selfimprovement #responsibility #podcast #biblicalseries #meaning #lifeadvice #philosophy #psychologylectures #personaldevelopment", "Jordan Peterson: \"You Must Believe in You\"", "df31f30d-8188-474e-9843-4bffbe7e5129", 1567, false, "mRAguo1ZkHc", "https://www.youtube.com/watch?v=mRAguo1ZkHc", 19, "/downloads/Jordan Peterson Rules for Life/2025-12-08 Jordan Peterson: "You Must Believe in You"/Jordan Peterson: "You Must Believe in You" [mRAguo1ZkHc].mp4", false, false, false, 3, [], 1, ~U[2025-12-08 19:00:52Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "📺 Jordan Peterson: \"You Must Believe in You\" - A Message on Responsibility, Sacrifice, and Upward Striving\nWhat is the one principle that can stabilize your world and start your journey out of suffering? In this powerful talk, Dr. Jordan B. Peterson argues that the foundational answer is voluntary self-sacrifice and upward striving. This isn't about grand gestures, but about the daily commitment to take responsibility, put your life in order, and aim toward your highest ideal.\n\nThis video captures essential lessons from Dr. Peterson's recent major address, where he explored how timeless biblical stories provide a roadmap for modern life. Discover why accepting responsibility for your errors is the first and most courageous step toward personal transformation and how \"believing in you\" is an active, moral process.\n\n📖 In This Video, You Will Learn:\nThe Path Out of \"Hell\": Dr. Peterson explains how much of our suffering stems from our own poor choices, and how recognizing this is the key to unlocking change.\n\nThe Power of \"Upward Striving\": Learn why the cosmic and moral principle of aiming upward—toward improvement, redemption, and your highest ideal—is essential for a meaningful life.\n\nStart Small, Think Big: Practical advice on beginning your journey. Transformation starts not with a huge leap, but with getting your immediate environment and habits in order.\n\nThe Edge of Adventure: Why we learn and grow only when we operate outside our comfort zone. Dr. Peterson discusses how facing challenges voluntarily builds the resilience and skill needed to withstand anything.\n\nThe Stories That Shape Us: Insights into narratives like Jacob and Esau (on the cost of craving power) and Abraham (on faithful adventure), and what they teach us about keeping our word, ambition, and courage.\n\n⏱️ CHAPTER TIMESTAMPS:\n00:00 - Introduction: \"You Must Believe in You\"\n02:15 - Where Does Suffering Really Come From?\n08:40 - The First Step: Accepting Responsibility\n11:20 - The Principle of Upward Striving & Sacrifice\n14:50 - How to Start Your Transformation (Practical Steps)\n17:10 - Learning on the \"Edge of Adventure\"\n20:05 - Biblical Wisdom for Modern Life\n24:00 - Key Insights: Finding Your Purpose\n\n📚 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\nFor official Jordan Peterson content, please visit his official website and YouTube channel.\n\n📱 Connect with Dr. Peterson: \nInstagram → https://www.instagram.com/jordan.b.peterson/ \nTwitter → https://twitter.com/jordanbpeterson Website → https://www.jordanbpeterson.com/ Events → https://www.jordanbpeterson.com/events/\n\n💬 Join the Discussion:\nWhat is (truncated) 21:09:15.283 [debug] QUERY OK source="sources" db=0.2ms idle=15.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.284 [debug] QUERY OK source="media_items" db=0.3ms idle=13.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-03 16:30:02Z], 3] 21:09:15.287 [debug] QUERY OK source="media_items" db=1.9ms idle=12.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Are you feeling stuck, unmotivated, or overwhelmed by the chaos of modern life? In this transformative talk, Dr. Jordan Peterson—the world-renowned clinical psychologist and bestselling author of 12 Rules for Life and Beyond Order—delivers a masterclass on how to improve yourself and, more importantly, why you must to find meaning in a world full of suffering and nihilism. This isn't another fleeting motivational speech; it’s a deep, psychological framework built on radical responsibility and brutal self-honesty, perfect for anyone serious about personal growth.\n\n🔥 In This Self-Improvement Deep-Dive, You’ll Discover:\n\n· Why comparing yourself to others is a losing game–and the only competition that ever truly matters (Hint: It’s the person you were yesterday).\n· Peterson’s foundational principle: \"Treat yourself like someone you are responsible for helping\".\n· The critical link between taking personal responsibility and creating a meaningful life that keeps suffering at bay.\n· How to \"clean up your room\" of your mind and environment to establish order, build confidence, and take control of your narrative.\n· The necessity of honest self-confrontation–how the refusal to face your own weaknesses silently destroys your potential.\n· Why we often sabotage our own growth because we are terrified of our own potential for greatness.\n\nThis video explores the core themes of personal responsibility, self-discipline, psychological development, and human potential. Peterson’s teachings provide a timeless roadmap for navigating anxiety, overcoming self-doubt, and building an unshakable life of purpose.\n\nTimestamps:\n00:00 – The Opening Question: Why Bother Improving Yourself?\n02:15 – Rule 1: Radical Responsibility (Clean Your Room)\n06:40 – Treating Yourself Like Someone You Care For\n12:55 – The Danger of Comparison: Your Only Rival is Your Former Self\n19:20 – Confronting Your Shadow (The Peterson Method)\n25:00 – Finding Meaning, Not Happiness\n32:35 – The Practical Path Forward (Your First Step Today)\n\n🎧 Audio & Gear\nTo get the best experience, I recommend listening with headphones to catch every detail of this lecture.\n\n🔗 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n📱 Connect with Jordan Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n💬 What’s Your Biggest Takeaway? Drop your thoughts in the comments below. What is one area of your life you are going to start taking responsibility for today? Let’s build a community of high-value men and women dedicated to growth.\n\n🔔 Don't Forget:\nIf you found value in this, smash that LIKE button, SUBSCRIBE for weekly self-improvement content, and ring the bell so you never miss a new deep-dive video from us!\n\n---\n\n#JordanPeterson #SelfImprovement #Psychology #Motivation #12RulesForLife #PersonalResponsibility #MensMentalHealth #PersonalGrowth #LifeAdvice #MeaningOfLife", "Jordan Peterson: \"How to Improve Yourself and Why\"", "8054abf1-0701-436b-be34-dc74cf93337e", 2293, false, "5PphO5RNuRU", "https://www.youtube.com/watch?v=5PphO5RNuRU", 20, "/downloads/Jordan Peterson Rules for Life/2026-05-03 Jordan Peterson: "How to Improve Yourself and Why"/Jordan Peterson: "How to Improve Yourself and Why" [5PphO5RNuRU].mp4", false, false, false, 3, [], 2, ~U[2026-05-03 16:30:02Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Are you feeling stuck, unmotivated, or overwhelmed by the chaos of modern life? In this transformative talk, Dr. Jordan Peterson—the world-renowned clinical psychologist and bestselling author of 12 Rules for Life and Beyond Order—delivers a masterclass on how to improve yourself and, more importantly, why you must to find meaning in a world full of suffering and nihilism. This isn't another fleeting motivational speech; it’s a deep, psychological framework built on radical responsibility and brutal self-honesty, perfect for anyone serious about personal growth.\n\n🔥 In This Self-Improvement Deep-Dive, You’ll Discover:\n\n· Why comparing yourself to others is a losing game–and the only competition that ever truly matters (Hint: It’s the person you were yesterday).\n· Peterson’s foundational principle: \"Treat yourself like someone you are responsible for helping\".\n· The critical link between taking personal responsibility and creating a meaningful life that keeps suffering at bay.\n· How to \"clean up your room\" of your mind and environment to establish order, build confidence, and take control of your narrative.\n· The necessity of honest self-confrontation–how the refusal to face your own weaknesses silently destroys your potential.\n· Why we often sabotage our own growth because we are terrified of our own potential for greatness.\n\nThis video explores the core themes of personal responsibility, self-discipline, psychological development, and human potential. Peterson’s teachings provide a timeless roadmap for navigating anxiety, overcoming self-doubt, and building an unshakable life of purpose.\n\nTimestamps:\n00:00 – The Opening Question: Why Bother Improving Yourself?\n02:15 – Rule 1: Radical Responsibility (Clean Your Room)\n06:40 – Treating Yourself Like Someone You Care For\n12:55 – The Danger of Comparison: Your Only Rival is Your Former Self\n19:20 – Confronting Your Shadow (The Peterson Method)\n25:00 – Finding Meaning, Not Happiness\n32:35 – The Practical Path Forward (Your First Step Today)\n\n🎧 Audio & Gear\nTo get the best experience, I recommend listening with headphones to catch every detail of this lecture.\n\n🔗 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n📱 Connect with Jordan Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n💬 What’s Your Biggest Takeaway? Drop your thoughts in the comments below. What is one area of your life you are going to start taking responsibility for today? Let’s build a community of high-value men and women dedicated to growth.\n\n🔔 Don't Forget:\nIf you found value in this, smash that LIKE button, SUBSCRIBE for weekly self-improvement content, and ring the bell so you never miss a new deep-dive video from us!\n\n---\n\n#JordanPeterson #SelfImprovement #Psychology #Motivation #12RulesForLife #PersonalResponsibility #MensMentalHealth #PersonalGrowth #LifeAdvice #MeaningOfLife", "Jordan Peterson: \"How to Improve Yourself and Why\"", 2293, false, "5PphO5RNuRU", "https://www.youtu (truncated) 21:09:15.288 [debug] QUERY OK source="sources" db=0.2ms idle=14.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.288 [debug] QUERY OK source="media_items" db=0.4ms idle=5.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-02 16:30:18Z], 3] 21:09:15.291 [debug] QUERY OK source="media_items" db=1.9ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Jordan Peterson never tells you to be perfect. In this raw, no-excuses talk, he strips away the noise and lays out a simple truth: aim at the best version of yourself, and start by doing the best you can today. This isn't about grand, overnight transformations. It's a psychology-backed guide to finding meaning, crushing resentment, and taking responsibility for the one life you've been given. 🎯\n\nWhether you're stuck in a rut, battling self-doubt, or just seeking a clearer direction, this video hits the core of Peterson's life-changing philosophy. From Rule 4 of 12 Rules for Life to his deepest spiritual and psychological insights, we break down why incremental self-improvement is the only game worth playing. 💡\n\n👇 TIMESTAMPS (Navigate to the lesson you need most)\n\n00:00 – The Hard Truth: Why You Must Aim High\n02:45 – What Does “Your Best” Actually Mean? (Clinical Psychology Breakdown)\n05:30 – The Danger of Untapped Potential: Resentment & Nihilism\n09:15 – Rule 4: Compare Yourself to Who You Were Yesterday\n12:50 – How Small, Consistent Steps Rewire Your Brain\n16:20 – Jordan’s Most Vulnerable Moment: His Own Struggle to Do the Best He Can\n19:40 – The Spiritual Undertone: Suffering, Meaning & Responsibility\n23:10 – Practical Action Plan: Start Your Day Like This\n26:50 – Final Message: You Can’t Save the World Until You Save Yourself\n\n📌 ABOUT DR. JORDAN B. PETERSON\nDr. Jordan B. Peterson is a renowned clinical psychologist, Professor Emeritus at the University of Toronto, and the author of the global bestsellers 12 Rules for Life: An Antidote to Chaos and Beyond Order: 12 More Rules for Life. His insights have helped tens of millions understand personality, belief systems, and the psychology of meaning. His podcast and lectures consistently rank among the most-viewed motivational and educational content worldwide.\n\n🔔 DON'T MISS OUT\n→ Subscribe & Hit the Bell (🔔) to join a community of people dedicated to building better lives every single week.\n→ Like This Video if you believe in aiming higher, even (especially) on the hard days.\n→ Share This With Someone who needs to hear this message right now.\n\n🗣️ WHAT’S YOUR BIGGEST TAKEAWAY? Drop a comment below. Tell us: What’s one small thing you’ll do better today? Our team reads every story, and the best ones will be featured in our next community spotlight.\n\n🎧 Audio & Gear\nTo get the best experience, I recommend listening with headphones to catch every detail of this lecture.\n\n🔗 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n📱 Connect with Jordan Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n\n🤝 SUPPORT THE CHANNEL & STAY CONNECTED\n\n\n#JordanPeterson #12RulesForLife #SelfImprovement #Psychology #Motivation #LifeAdvice #MeaningOfLife #PersonalGrowth #MentalHealth #Philosophy #2025motivation", "Jordan Peterson: \"Do the Best You Can\"", "74620c72-87bc-4329-9e37-254d5be9d032", 1937, false, "sxVAJ5el62I", "https://www.youtube.com/watch?v=sxVAJ5el62I", 21, "/downloads/Jordan Peterson Rules for Life/2026-05-02 Jordan Peterson: "Do the Best You Can"/Jordan Peterson: "Do the Best You Can" [sxVAJ5el62I].mp4", false, false, false, 3, [], 1, ~U[2026-05-02 16:30:18Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Jordan Peterson never tells you to be perfect. In this raw, no-excuses talk, he strips away the noise and lays out a simple truth: aim at the best version of yourself, and start by doing the best you can today. This isn't about grand, overnight transformations. It's a psychology-backed guide to finding meaning, crushing resentment, and taking responsibility for the one life you've been given. 🎯\n\nWhether you're stuck in a rut, battling self-doubt, or just seeking a clearer direction, this video hits the core of Peterson's life-changing philosophy. From Rule 4 of 12 Rules for Life to his deepest spiritual and psychological insights, we break down why incremental self-improvement is the only game worth playing. 💡\n\n👇 TIMESTAMPS (Navigate to the lesson you need most)\n\n00:00 – The Hard Truth: Why You Must Aim High\n02:45 – What Does “Your Best” Actually Mean? (Clinical Psychology Breakdown)\n05:30 – The Danger of Untapped Potential: Resentment & Nihilism\n09:15 – Rule 4: Compare Yourself to Who You Were Yesterday\n12:50 – How Small, Consistent Steps Rewire Your Brain\n16:20 – Jordan’s Most Vulnerable Moment: His Own Struggle to Do the Best He Can\n19:40 – The Spiritual Undertone: Suffering, Meaning & Responsibility\n23:10 – Practical Action Plan: Start Your Day Like This\n26:50 – Final Message: You Can’t Save the World Until You Save Yourself\n\n📌 ABOUT DR. JORDAN B. PETERSON\nDr. Jordan B. Peterson is a renowned clinical psychologist, Professor Emeritus at the University of Toronto, and the author of the global bestsellers 12 Rules for Life: An Antidote to Chaos and Beyond Order: 12 More Rules for Life. His insights have helped tens of millions understand personality, belief systems, and the psychology of meaning. His podcast and lectures consistently rank among the most-viewed motivational and educational content worldwide.\n\n🔔 DON'T MISS OUT\n→ Subscribe & Hit the Bell (🔔) to join a community of people dedicated to building better lives every single week.\n→ Like This Video if you believe in aiming higher, even (especially) on the hard days.\n→ Share This With Someone who needs to hear this message right now.\n\n🗣️ WHAT’S YOUR BIGGEST TAKEAWAY? Drop a comment below. Tell us: What’s one small thing you’ll do better today? Our team reads every story, and the best ones will be featured in our next community spotlight.\n\n🎧 Audio & Gear\nTo get the best experience, I recommend listening with headphones to catch every detail of this lecture.\n\n🔗 RECOMMENDED JORDAN PETERSON RESOURCES:\n“We Who Wrestle With God” 👉 https://amzn.to/4358on9 \nJordan Peterson's Audiobook is available with Audible - https://amzn.to/3RJkBro\nBeyond Order: 12 More Rules for Life - https://amzn.to/3ok9wzw\n12 Rules of Life: An Antidote to Chaos - https://amzn.to/3PcjK3T\nMaps of Meaning: The Architecture of Belief - https://amzn.to/3ojDjbK\n\n📱 Connect with Jordan Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n\n🤝 SUPPORT THE CHANNEL & STAY CONNECTED\n\n\n#JordanPeterson #12RulesForLife #SelfImprovement #Psychology #Motivation #LifeAdvice #MeaningOfLife #PersonalGrowth #MentalHealth #Philosophy #2025motivation", "Jordan Peterson: \"Do the Best You Can\"", 1937, false, "sxVAJ5el62I", "https://www.youtube.com/watch?v=sxVAJ5el62I", "/downloads/Jordan Peterson Rules for Life/2026-05-02 Jordan Peterson: "Do the Best You Can"/Jordan Peterson: "Do th (truncated) 21:09:15.292 [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" = ?) [3] 21:09:15.292 [debug] QUERY OK source="media_items" db=0.4ms idle=5.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-11 12:01:11Z], 3] 21:09:15.296 [debug] QUERY OK source="media_items" db=2.8ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n Dr. Kentaro Fujita, PhD, is a professor of psychology at The Ohio State University and an expert in the science of self-control and motivation. We discuss the best tools for developing strong self-control: to do more of what you aspire to and cease doing things you would like to avoid. We discuss why you need more than one form of willpower to achieve sustained motivation and overcome procrastination. Dr. Fujita also clarifies the data on the 2-marshmallow test, delayed gratification and intrinsic vs. extrinsic motivation.\n\nShow notes: https://go.hubermanlab.com/a9vfEJ5\n\nThank you to our sponsors\nAG1: \u2060https://drinkag1.com/huberman\u2060\nDavid: \u2060https://davidprotein.com/huberman\u2060\nLingo: \u2060https://hellolingo.com/huberman\u2060\nLMNT: \u2060https://drinklmnt.com/huberman\u2060\nFunction: \u2060https://functionhealth.com/huberman\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Kentaro Fujita\nWebsite: https://u.osu.edu/fujita\nAcademic profile: https://psychology.osu.edu/people/fujita.5\nGoogle Scholar: https://scholar.google.com/citations?user=3KkWMHMAAAAJ&hl=en\nLinkedIn: https://www.linkedin.com/in/kentaro-fujita-842a13385\n\nTimestamps\n00:00:00 Kentaro Fujita\n00:03:08 Marshmallow Tests, Self-Control; Adult Modeling\n00:08:24 Criticism of Marshmallow Tests, Learning Self-Control\n00:15:08 Sponsors: David & Lingo\n00:17:34 Movement & Motivation\n00:21:42 Doing Hard Things; Exhaustion & Depletion Effect\n00:29:02 Willpower vs Self-Control, Improving Self-Control\n00:34:27 Aspiration or Fear for Motivation, Long- vs Short-Term Outcomes\n00:40:55 Self-Control Toolkit, Tool: Failure & Exploration\n00:46:44 Sponsor: AG1\n00:48:28 Motivation Warm-Up?, Tools: Mindset; Motivation Orientation\n00:57:30 Imperfect Conditions, Self-Control Conflicts, Tool: Why vs How\n01:05:25 Tool: \"Whys\" & Motivation Goals\n01:11:26 Competition, Tool: Motivation Types\n01:17:13 Sponsor: LMNT\n01:18:33 Abstinence vs Moderation, Consistency vs Rigidity\n01:27:48 Burnout; \"Invisible\" Goals, Single Goal & Trade-Offs\n01:35:17 Intrinsic Motivation for Sustained Goals\n01:40:16 Sponsor: Function\n01:41:53 Meaning in Simple Tasks, Ikigai\n01:49:03 Self-Control Failure, Tools: Distancing, 3rd Person & Heros\n01:55:04 Words as Motivation, Visualization, Social Validation\n02:03:51 Music, Anchors, Nostalgia\n02:06:46 Intrinsic vs Extrinsic Motivation, Job & Salary\n02:14:11 Mindfulness & Taking Breaks, Wabi-Sabi & Imperfection, Ikigai\n02:20:56 Future Directions\n02:25:19 Zero-Cost Support, YouTube, Spotify & Apple Follow, Reviews & Feedback, Sponsors, Protocols Book, Social Media, Neural Network Newsletter\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Master Self Control & Overcome Procrastination | Dr. Kentaro Fujita", "22a50d01-5863-43f6-abe0-aa2c2d5cb01c", 8869, false, "e89rVf4Pf0k", "https://www.youtube.com/watch?v=e89rVf4Pf0k", 22, "/downloads/Andrew Huberman/2026-05-11 Master Self Control & Overcome Procrastination | Dr. Kentaro Fujita/Master Self Control & Overcome Procrastination | Dr. Kentaro Fujita [e89rVf4Pf0k].mp4", false, false, false, 3, [], 1, ~U[2026-05-11 12:01:11Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n Dr. Kentaro Fujita, PhD, is a professor of psychology at The Ohio State University and an expert in the science of self-control and motivation. We discuss the best tools for developing strong self-control: to do more of what you aspire to and cease doing things you would like to avoid. We discuss why you need more than one form of willpower to achieve sustained motivation and overcome procrastination. Dr. Fujita also clarifies the data on the 2-marshmallow test, delayed gratification and intrinsic vs. extrinsic motivation.\n\nShow notes: https://go.hubermanlab.com/a9vfEJ5\n\nThank you to our sponsors\nAG1: \u2060https://drinkag1.com/huberman\u2060\nDavid: \u2060https://davidprotein.com/huberman\u2060\nLingo: \u2060https://hellolingo.com/huberman\u2060\nLMNT: \u2060https://drinklmnt.com/huberman\u2060\nFunction: \u2060https://functionhealth.com/huberman\n\nHuberman Lab\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\nDr. Kentaro Fujita\nWebsite: https://u.osu.edu/fujita\nAcademic profile: https://psychology.osu.edu/people/fujita.5\nGoogle Scholar: https://scholar.google.com/citations?user=3KkWMHMAAAAJ&hl=en\nLinkedIn: https://www.linkedin.com/in/kentaro-fujita-842a13385\n\nTimestamps\n00:00:00 Kentaro Fujita\n00:03:08 Marshmallow Tests, Self-Control; Adult Modeling\n00:08:24 Criticism of Marshmallow Tests, Learning Self-Control\n00:15:08 Sponsors: David & Lingo\n00:17:34 Movement & Motivation\n00:21:42 Doing Hard Things; Exhaustion & Depletion Effect\n00:29:02 Willpower vs Self-Control, Improving Self-Control\n00:34:27 Aspiration or Fear for Motivation, Long- vs Short-Term Outcomes\n00:40:55 Self-Control Toolkit, Tool: Failure & Exploration\n00:46:44 Sponsor: AG1\n00:48:28 Motivation Warm-Up?, Tools: Mindset; Motivation Orientation\n00:57:30 Imperfect Conditions, Self-Control Conflicts, Tool: Why vs How\n01:05:25 Tool: \"Whys\" & Motivation Goals\n01:11:26 Competition, Tool: Motivation Types\n01:17:13 Sponsor: LMNT\n01:18:33 Abstinence vs Moderation, Consistency vs Rigidity\n01:27:48 Burnout; \"Invisible\" Goals, Single Goal & Trade-Offs\n01:35:17 Intrinsic Motivation for Sustained Goals\n01:40:16 Sponsor: Function\n01:41:53 Meaning in Simple Tasks, Ikigai\n01:49:03 Self-Control Failure, Tools: Distancing, 3rd Person & Heros\n01:55:04 Words as Motivation, Visualization, Social Validation\n02:03:51 Music, Anchors, Nostalgia\n02:06:46 Intrinsic vs Extrinsic Motivation, Job & Salary\n02:14:11 Mindfulness & Taking Breaks, Wabi-Sabi & Imperfection, Ikigai\n02:20:56 Future Directions\n02:25:19 Zero-Cost Support, YouTube, Spotify & Apple Follow, Reviews & Feedback, Sponsors, Protocols Book, Social Media, Neural Network Newsletter\n\n#hubermanlab \n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Master Self Control & Overcome Procrastination | Dr. Kentaro Fujita", 8869, false, "e89rVf4Pf0k", "https://www.youtube.com/watch?v=e89rVf4Pf0k", "/downloads/Andrew Huberman/2026-05-11 Master Self Control & Overcome Procrastination | Dr. Kentaro Fujita/Master Self Control & Overcome Procrastination | Dr. Kentaro Fujita [e89rVf4Pf0k].mp4", false, 3, ~U[2026-05-11 12:01:11Z]] 21:09:15.297 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [3] 21:09:15.298 [debug] QUERY OK source="media_items" db=0.3ms idle=6.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-10-17 17:22:47Z], 3] 21:09:15.301 [debug] QUERY OK source="media_items" db=2.1ms idle=6.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dr Jordan B Peterson, Jonathan Pageau, and Mohammed Hijab discuss comparative religion, what is said about Islam versus what Islam has to say, and how the uncomfortable conversation - whether contentious or unnerving, is well worth having. \n \nMohammed Hijab is an author, comparative religionist, and philosopher of scripture. He is the co-founder of the Sapience Institute and is a researcher and instructor for the organization. He has a BA in Politics and a master’s degree in History. He has also acquired a second master’s in Islamic Studies from the School of Oriental and African Studies, as well as a third master’s degree in Applied Theology from the University of Oxford. Currently, he is working toward his PhD in Philosophy of Religion. Having completed Islamic seminary courses, he is one of very few Muslims who has been given formal permission to relay Islamic knowledge on selected Islamic fields, dealing with comparative, political, and theological issues. In his efforts, he has amassed a substantial following on YouTube, aided in part by authoring books such as “The Scientific Deception of the New Atheists.”\n \nJonathan Pageau is a French-Canadian liturgical artist and icon carver, known for his work featured in museums across the world. He carves Eastern Orthodox and other traditional images and teaches an online carving class. He also runs a YouTube channel dedicated to the exploration of symbolism across history and religion.\n\nDr Peterson's extensive catalog is available now on DailyWire+: https://utm.io/ueSXh\n \n\n—Links— \n\nFor Mohammed Hijab:\n\nYoutube - https://www.youtube.com/channel/UCHDFNoOk8WOXtHo8DIc8efQ \n\nInstagram - https://www.instagram.com/mohammedhijabofficial/?hl=en \n\nTwitter - https://twitter.com/mohammed_hijab?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor \n\nWebsite - www.mohammedhijab.com\n\nThe Sapience Institute - https://sapienceinstitute.org/\n\n\nFor Jonathan Pageau:\n\nCarvings - http://www.pageaucarvings.com \n\nWebsite - www.thesymbolicworld.com \n\nOrthodox Arts Journal - www.orthodoxartsjournal.org \n\nYoutube - https://www.youtube.com/c/jonathanpageau \n\n\n- Sponsor - \n\nGet pre-qualified and find the best deals near you: https://carzing.com/jordan \n\n\n— Chapters —\n\n(0:00) Coming up\n(1:12) Intro\n(4:16) Addressing “Message to Muslims”\n(14:35) Colonial amnesia and the pattern of resentment\n(15:19) Egyptian mythology and the bloodshed of the past\n(21:49) Ignoring the voices of disunity\n(27:53) Is there an ultimate purpose to life?\n(35:42) The role of worship and ritual\n(39:52) Unity is not the same as uniformity\n(43:20) Belief at your own peril, deviation, and depression\n(50:55) Islam recognizes Jesus, but not the son of god\n(59:16) We don’t know what we don’t know\n(1:08:40) Belief in word vs. belief in being\n(1:10:17) Why do we connect with specific scripture?\n(1:23:25) You are measured by how much you can endure\n(1:26:01) Would Jordan Peterson consider becoming Muslim?\n\n// SUPPORT THIS CHANNEL // \nNewsletter: https://mailchi.mp/jordanbpeterson.co... \nDonations: https://jordanbpeterson.com/donate \n\n// COURSES // \nDiscovering Personality: https://jordanbpeterson.com/personality \nSelf Authoring Suite: https://selfauthoring.com \nUnderstand Myself (personality test): https://understandmyself.com \n\n// BOOKS // \nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order \n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-... \nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-m... \n\n// LINKS // \nWebsite: https://jordanbpeterson.com \nEvents: https://jordanbpeterson.com/events \nBlog: https://jordanbpeterson.com/blog \n\n// SOCIAL // \nTwitter: https://twitter.com/jordanbpeterson \nInstagram: https://instagram.com/jordan.b.peterson \nFacebook: https://facebook.com/drjordanpeterson \nTelegram: https://t.me/DrJordanPeterson \nAll socials: https://linktr.ee/drjordanbpeterson\n\n#JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus #podcast #MohammedHijab #JonathanPageau #pageau #islam #muslim #religion", "Talking to Muslims About Christ | Mohammed Hijab & Jonathan Pageau | EP 297", "395da0c8-6bf2-4b58-af1c-b786184c8524", 5766, false, "gqS1ov4lSI0", "https://www.youtube.com/watch?v=gqS1ov4lSI0", 23, "/downloads/Jordan B Peterson/2022-10-17 Talking to Muslims About Christ | Mohammed Hijab & Jonathan Pageau | EP 297/Talking to Muslims About Christ | Mohammed Hijab & Jonathan Pageau | EP 297 [gqS1ov4lSI0].mp4", false, false, false, 3, [], 1, ~U[2022-10-17 17:22:47Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Dr Jordan B Peterson, Jonathan Pageau, and Mohammed Hijab discuss comparative religion, what is said about Islam versus what Islam has to say, and how the uncomfortable conversation - whether contentious or unnerving, is well worth having. \n \nMohammed Hijab is an author, comparative religionist, and philosopher of scripture. He is the co-founder of the Sapience Institute and is a researcher and instructor for the organization. He has a BA in Politics and a master’s degree in History. He has also acquired a second master’s in Islamic Studies from the School of Oriental and African Studies, as well as a third master’s degree in Applied Theology from the University of Oxford. Currently, he is working toward his PhD in Philosophy of Religion. Having completed Islamic seminary courses, he is one of very few Muslims who has been given formal permission to relay Islamic knowledge on selected Islamic fields, dealing with comparative, political, and theological issues. In his efforts, he has amassed a substantial following on YouTube, aided in part by authoring books such as “The Scientific Deception of the New Atheists.”\n \nJonathan Pageau is a French-Canadian liturgical artist and icon carver, known for his work featured in museums across the world. He carves Eastern Orthodox and other traditional images and teaches an online carving class. He also runs a YouTube channel dedicated to the exploration of symbolism across history and religion.\n\nDr Peterson's extensive catalog is available now on DailyWire+: https://utm.io/ueSXh\n \n\n—Links— \n\nFor Mohammed Hijab:\n\nYoutube - https://www.youtube.com/channel/UCHDFNoOk8WOXtHo8DIc8efQ \n\nInstagram - https://www.instagram.com/mohammedhijabofficial/?hl=en \n\nTwitter - https://twitter.com/mohammed_hijab?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor \n\nWebsite - www.mohammedhijab.com\n\nThe Sapience Institute - https://sapienceinstitute.org/\n\n\nFor Jonathan Pageau:\n\nCarvings - http://www.pageaucarvings.com \n\nWebsite - www.thesymbolicworld.com \n\nOrthodox Arts Journal - www.orthodoxartsjournal.org \n\nYoutube - https://www.youtube.com/c/jonathanpageau \n\n\n- Sponsor - \n\nGet pre-qualified and find the best deals near you: https://carzing.com/jordan \n\n\n— Chapters —\n\n(0:00) Coming up\n(1:12) Intro\n(4:16) Addressing “Message to Muslims”\n(14:35) Colonial amnesia and the pattern of resentment\n(15:19) Egyptian mythology and the bloodshed of the past\n(21:49) Ignoring the voices of disunity\n(27:53) Is there an ultimate purpose to life?\n(35:42) The role of worship and ritual\n(39:52) Unity is not the same as uniformity\n(43:20) B (truncated) 21:09:15.301 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [3] 21:09:15.302 [debug] QUERY OK source="media_items" db=0.6ms idle=5.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-05-10 16:55:33Z], 3] 21:09:15.304 [debug] QUERY OK source="media_items" db=1.6ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["This episode was recorded on April 4, 2022.\n\nI discussed gratitude, faith, and suffering in this conversation at the Franciscan University of Steubenville. How can we be sure that pain is a solid guiding principle as we navigate the world? What is the underlying structure of pain, and what does it point at?\n\nWe also touched on a myriad of topics around those central themes, such as sin and the symbol of the snake, giving advice, resurrection, the relationship between faith and suffering, evil, the effect we have on others, and sunsets.\n\n// SUPPORT THIS CHANNEL //\nNewsletter: https://linktr.ee/DrJordanBPeterson\nDonations: https://jordanbpeterson.com/donate\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n// LINKS //\nWebsite: https://jordanbpeterson.com\nEvents: https://jordanbpeterson.com/events\nBlog: https://jordanbpeterson.com/blog\nPodcast: https://jordanbpeterson.com/podcast\n\n// SOCIAL //\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://instagram.com/jordan.b.peterson\nFacebook: https://facebook.com/drjordanpeterson\nTelegram: https://t.me/DrJordanPeterson\n\n#Pain #Suffering #Bible #Faith #Evil #FranciscanUniversity #JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus #podcast", "This Lesson from the Bible will Make You Unstoppable | Franciscan University | EP 252", "936a5d64-67e0-42be-8e9e-76d179a1943e", 3486, false, "1xRtZybpyig", "https://www.youtube.com/watch?v=1xRtZybpyig", 24, "/downloads/Jordan B Peterson/2022-05-10 This Lesson from the Bible will Make You Unstoppable | Franciscan University | EP 252/This Lesson from the Bible will Make You Unstoppable | Franciscan University | EP 252 [1xRtZybpyig].mp4", false, false, false, 3, [], 1, ~U[2022-05-10 16:55:33Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "This episode was recorded on April 4, 2022.\n\nI discussed gratitude, faith, and suffering in this conversation at the Franciscan University of Steubenville. How can we be sure that pain is a solid guiding principle as we navigate the world? What is the underlying structure of pain, and what does it point at?\n\nWe also touched on a myriad of topics around those central themes, such as sin and the symbol of the snake, giving advice, resurrection, the relationship between faith and suffering, evil, the effect we have on others, and sunsets.\n\n// SUPPORT THIS CHANNEL //\nNewsletter: https://linktr.ee/DrJordanBPeterson\nDonations: https://jordanbpeterson.com/donate\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n// LINKS //\nWebsite: https://jordanbpeterson.com\nEvents: https://jordanbpeterson.com/events\nBlog: https://jordanbpeterson.com/blog\nPodcast: https://jordanbpeterson.com/podcast\n\n// SOCIAL //\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://instagram.com/jordan.b.peterson\nFacebook: https://facebook.com/drjordanpeterson\nTelegram: https://t.me/DrJordanPeterson\n\n#Pain #Suffering #Bible #Faith #Evil #FranciscanUniversity #JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus #podcast", "This Lesson from the Bible will Make You Unstoppable | Franciscan University | EP 252", 3486, false, "1xRtZybpyig", "https://www.youtube.com/watch?v=1xRtZybpyig", "/downloads/Jordan B Peterson/2022-05-10 This Lesson from the Bible will Make You Unstoppable | Franciscan University | EP 252/This Lesson from the Bible will Make You Unstoppable | Franciscan University | EP 252 [1xRtZybpyig].mp4", false, 3, ~U[2022-05-10 16:55:33Z]] 21:09:15.305 [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" = ?) [3] 21:09:15.305 [debug] QUERY OK source="media_items" db=0.3ms idle=5.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-17 14:35:08Z], 3] 21:09:15.308 [debug] QUERY OK source="media_items" db=1.7ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Listen in on how Dr. K breaks down how being a gifted kid may not be all it's cracked up to be. Talking through the pathway of gifted child that leads to burnt out perfectionist and how the gifted child moniker may be more of a burden than a benefit. \n\nUnlock your potential with HG Coaching: https://bit.ly/3Jgwvpa\nSet goals, build confidence, find purpose, & more.\n\nLearn more from Dr. K in his Guide to Mental Health: https://bit.ly/45NirwY\n180+ videos on Trauma, ADHD, Meditation, Anxiety, and Depression.\n\nComprehensive mental health resources here: https://explore.healthygamer.gg/mentalhealthresources\n\n▼ Timestamps ▼\n────────────\n0:00 - Reddit Post: Gifted Kid Meme\n0:45 - Perception of 'Gifted'\n1:57 - Gifted children are 'special needs'\n3:17 - The purpose of school\n3:53 - Falling into the trap of not studying\n4:16 - Being gifted young sets you up to fail\n6:49 - How this manifests later in life\n7:40 - The burden of expectation\n11:47 - Shame and low self-esteem\n14:24 - What do we do about it?\n15:01 - Stop comparison\n17:23 - Accept that success is hard work\n22:06 - Summary and questions\n────────────\nDISCLAIMER\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\nBecome a Healthy Gamer!\n\nHealthy Gamer Merch Store: https://healthygamerstore.com/\nDiscord: https://explore.healthygamer.gg/en/discord\nSupport us on Ko-fi: https://ko-fi.com/healthygamer\nInterviews & Lectures: https://www.youtube.com/healthygamergg\nTwitch Channel: https://www.twitch.tv/healthygamer_gg\nPodcast: https://open.spotify.com/show/6VaJwyS2KXxiXqR77jqzmP", "Why Gifted Kids Are Actually Special Needs", "16c7da05-e542-4c97-b117-3957f90b4616", 2162, false, "QUjYy4Ksy1E", "https://www.youtube.com/watch?v=QUjYy4Ksy1E", 25, "/downloads/HealthyGamerGG/2021-11-17 Why Gifted Kids Are Actually Special Needs/Why Gifted Kids Are Actually Special Needs [QUjYy4Ksy1E].mp4", false, false, false, 3, [], 1, ~U[2021-11-17 14:35:08Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Listen in on how Dr. K breaks down how being a gifted kid may not be all it's cracked up to be. Talking through the pathway of gifted child that leads to burnt out perfectionist and how the gifted child moniker may be more of a burden than a benefit. \n\nUnlock your potential with HG Coaching: https://bit.ly/3Jgwvpa\nSet goals, build confidence, find purpose, & more.\n\nLearn more from Dr. K in his Guide to Mental Health: https://bit.ly/45NirwY\n180+ videos on Trauma, ADHD, Meditation, Anxiety, and Depression.\n\nComprehensive mental health resources here: https://explore.healthygamer.gg/mentalhealthresources\n\n▼ Timestamps ▼\n────────────\n0:00 - Reddit Post: Gifted Kid Meme\n0:45 - Perception of 'Gifted'\n1:57 - Gifted children are 'special needs'\n3:17 - The purpose of school\n3:53 - Falling into the trap of not studying\n4:16 - Being gifted young sets you up to fail\n6:49 - How this manifests later in life\n7:40 - The burden of expectation\n11:47 - Shame and low self-esteem\n14:24 - What do we do about it?\n15:01 - Stop comparison\n17:23 - Accept that success is hard work\n22:06 - Summary and questions\n────────────\nDISCLAIMER\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\nBecome a Healthy Gamer!\n\nHealthy Gamer Merch Store: https://healthygamerstore.com/\nDiscord: https://explore.healthygamer.gg/en/discord\nSupport us on Ko-fi: https://ko-fi.com/healthygamer\nInterviews & Lectures: https://www.youtube.com/healthygamergg\nTwitch Channel: https://www.twitch.tv/healthygamer_gg\nPodcast: https://open.spotify.com/show/6VaJwyS2KXxiXqR77jqzmP", "Why Gifted Kids Are Actually Special Needs", 2162, false, "QUjYy4Ksy1E", "https://www.youtube.com/watch?v=QUjYy4Ksy1E", "/downloads/HealthyGamerGG/2021-11-17 Why Gifted Kids Are Actually Special Needs/Why Gifted Kids Are Actually Special Needs [QUjYy4Ksy1E].mp4", false, 3, ~U[2021-11-17 14:35:08Z]] 21:09:15.309 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.309 [debug] QUERY OK source="media_items" db=0.4ms idle=4.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-11-26 15:00:06Z], 3] 21:09:15.312 [debug] QUERY OK source="media_items" db=1.9ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Today, we're diving into a crucial discussion surrounding Borderline Personality Disorder (BPD). BPD stands as one of the most misunderstood and unfairly stigmatized mental health conditions, often shrouded in misconceptions and biases.\n\nCheck out Dr. K’s Guide to Mental Health https://bit.ly/45NirwY\nIncluded free with Healthy Gamer Coaching: https://bit.ly/3Q318lG\n\nJoin us in this important conversation as we shed light on BPD, aiming to dispel myths and misconceptions surrounding this complex disorder. We'll explore the nuances of BPD, unraveling the layers that contribute to its misunderstanding in society.\n\nWe’re here to help you take control of your mental health and your life.\nComprehensive list of mental health resources https://explore.healthygamer.gg/mentalhealthresources\n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Preview\n00:20 - Introduction\n02:09 - What does BPD look like externally?\n05:14 - What does BPD look like internally?\n10:39 - How does this manifest as behaviour?\n14:05 - BPD in essence\n22:40 - Development of BPD\n24:51 - Does this mean I'm screwed?\n28:55 - Conclusion\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#bpd #borderlinepersonalitydisorder #mentalhealth", "Dr. K Explains: Borderline Personality Disorder", "040c086a-e64f-4584-b2cc-dddf9d43998c", 1789, false, "6TS4d-zqRFA", "https://www.youtube.com/watch?v=6TS4d-zqRFA", 26, "/downloads/HealthyGamerGG/2022-11-26 Dr. K Explains: Borderline Personality Disorder/Dr. K Explains: Borderline Personality Disorder [6TS4d-zqRFA].mp4", false, false, false, 3, [], 1, ~U[2022-11-26 15:00:06Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Today, we're diving into a crucial discussion surrounding Borderline Personality Disorder (BPD). BPD stands as one of the most misunderstood and unfairly stigmatized mental health conditions, often shrouded in misconceptions and biases.\n\nCheck out Dr. K’s Guide to Mental Health https://bit.ly/45NirwY\nIncluded free with Healthy Gamer Coaching: https://bit.ly/3Q318lG\n\nJoin us in this important conversation as we shed light on BPD, aiming to dispel myths and misconceptions surrounding this complex disorder. We'll explore the nuances of BPD, unraveling the layers that contribute to its misunderstanding in society.\n\nWe’re here to help you take control of your mental health and your life.\nComprehensive list of mental health resources https://explore.healthygamer.gg/mentalhealthresources\n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Preview\n00:20 - Introduction\n02:09 - What does BPD look like externally?\n05:14 - What does BPD look like internally?\n10:39 - How does this manifest as behaviour?\n14:05 - BPD in essence\n22:40 - Development of BPD\n24:51 - Does this mean I'm screwed?\n28:55 - Conclusion\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#bpd #borderlinepersonalitydisorder #mentalhealth", "Dr. K Explains: Borderline Personality Disorder", 1789, false, "6TS4d-zqRFA", "https://www.youtube.com/watch?v=6TS4d-zqRFA", "/downloads/HealthyGamerGG/2022-11-26 Dr. K Explains: Borderline Personality Disorder/Dr. K Explains: Borderline Personality Disorder [6TS4d-zqRFA].mp4", false, 3, ~U[2022-11-26 15:00:06Z]] 21:09:15.313 [debug] QUERY OK source="sources" db=0.2ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.313 [debug] QUERY OK source="media_items" db=0.3ms idle=5.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-09-27 15:01:09Z], 3] 21:09:15.316 [debug] QUERY OK source="media_items" db=1.6ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Learn more from Dr. K in his Guide to Mental Health: https://bit.ly/3THwlO1\n\nDr. K gets a reddit question asking about porn consumption and it's affects on the brain's ability to form relationships. Listen in on how he breaks down the complicated dynamics of implicit and explicate content online and how it shapes people minds on the internet.\n\n▼ Timestamps ▼\n────────────\n\n00:12 - Reddit Post\n00:57 - Breaking It Down\n02:51 - Industries Adapting to Unhealthy Wants\n04:34 - Instagram Model Example\n5:50 - Expectations and Reality around Porn\n7:40 - Constant Evolving Landscape\n8:18 - OF and it's Impact on Relationships\n11:02 - Fighting Fire with Fire\n12:09 - There Will Always Be Change\n13:50 - VR Girlfriends\n\n────────────\nCheck Out Dr. K's Book Here: https://bit.ly/3IAEu0A\n\nHarvard-trained psychiatrist and former gaming addict Dr. Alok Kanojia—known as “Dr. K” to his millions of followers—offers a proven, tested plan to help parents define, set, and reinforce healthy boundaries around video games and help kids who have developed an addiction to gaming.\n\nJoin this channel to get access to perks:\nhttps://www.youtube.com/channel/UClHVl2N3jPEbkNJVx-ItQIQ/join\n\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\nHealthy Gamer Merch Store: https://healthygamerstore.com/\nDiscord: https://healthygamer.ac-page.com/discord\nSupport us on Ko-fi: https://ko-fi.com/healthygamer\nTwitch Channel: https://www.twitch.tv/healthygamer_gg\nPodcast: https://open.spotify.com/show/6VaJwyS2KXxiXqR77jqzmP", "How Years of Porn Consumption Affects Brain's Ability to Form Relationships", "3c366272-3b8b-4061-958a-b813e953ba08", 907, false, "mpRRix8m4SQ", "https://www.youtube.com/watch?v=mpRRix8m4SQ", 27, "/downloads/HealthyGamerGG/2021-09-27 How Years of Porn Consumption Affects Brain's Ability to Form Relationships/How Years of Porn Consumption Affects Brain's Ability to Form Relationships [mpRRix8m4SQ].mp4", false, false, false, 3, [], 1, ~U[2021-09-27 15:01:09Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Learn more from Dr. K in his Guide to Mental Health: https://bit.ly/3THwlO1\n\nDr. K gets a reddit question asking about porn consumption and it's affects on the brain's ability to form relationships. Listen in on how he breaks down the complicated dynamics of implicit and explicate content online and how it shapes people minds on the internet.\n\n▼ Timestamps ▼\n────────────\n\n00:12 - Reddit Post\n00:57 - Breaking It Down\n02:51 - Industries Adapting to Unhealthy Wants\n04:34 - Instagram Model Example\n5:50 - Expectations and Reality around Porn\n7:40 - Constant Evolving Landscape\n8:18 - OF and it's Impact on Relationships\n11:02 - Fighting Fire with Fire\n12:09 - There Will Always Be Change\n13:50 - VR Girlfriends\n\n────────────\nCheck Out Dr. K's Book Here: https://bit.ly/3IAEu0A\n\nHarvard-trained psychiatrist and former gaming addict Dr. Alok Kanojia—known as “Dr. K” to his millions of followers—offers a proven, tested plan to help parents define, set, and reinforce healthy boundaries around video games and help kids who have developed an addiction to gaming.\n\nJoin this channel to get access to perks:\nhttps://www.youtube.com/channel/UClHVl2N3jPEbkNJVx-ItQIQ/join\n\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\nHealthy Gamer Merch Store: https://healthygamerstore.com/\nDiscord: https://healthygamer.ac-page.com/discord\nSupport us on Ko-fi: https://ko-fi.com/healthygamer\nTwitch Channel: https://www.twitch.tv/healthygamer_gg\nPodcast: https://open.spotify.com/show/6VaJwyS2KXxiXqR77jqzmP", "How Years of Porn Consumption Affects Brain's Ability to Form Relationships", 907, false, "mpRRix8m4SQ", "https://www.youtube.com/watch?v=mpRRix8m4SQ", "/downloads/HealthyGamerGG/2021-09-27 How Years of Porn Consumption Affects Brain's Ability to Form Relationships/How Years of Porn Consumption Affects Brain's Ability to Form Relationships [mpRRix8m4SQ].mp4", false, 3, ~U[2021-09-27 15:01:09Z]] 21:09:15.316 [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" = ?) [3] 21:09:15.317 [debug] QUERY OK source="media_items" db=0.6ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-09-15 16:00:54Z], 3] 21:09:15.319 [debug] QUERY OK source="media_items" db=1.4ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Therapy can pose unique challenges for men, and in this video, we delve into the reasons behind this difficulty. Exploring the societal expectations, stereotypes, and stigmas attached to men seeking therapy, we uncover why the journey to therapy can be a daunting path for many men.\n\nLearn more from Dr. K in his Guide to Mental Health: https://bit.ly/45NirwY\nNot sure which module to start on? Take our quiz: https://bit.ly/47dGzKj\n\nJoin us as we navigate through these challenges, shedding light on the impact these barriers might have on men's mental health. We'll discuss the implications and offer insights into what this means for men considering or already engaged in therapy.\n\n▼ Timestamps ▼\n────────────\n00:18 - Why it’s hard for men to be in therapy\n02:50 - How men deal with their emotions\n04:14 - Men’s reluctance to couples counseling\n05:58 - How men communicate differently\n08:15 - Men are physical with emotional health\n10:54 - What does this mean for you as a man?\n11:52 - Language you can use in psychotherapy\n14:45 - Using your body to help with emotions\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#healthygamergg #mentalhealth #therapy", "Why Therapy Sucks For Men", "3849f26f-7f92-4053-8b49-a7771d97b27a", 1058, false, "uf8bt6fGQyA", "https://www.youtube.com/watch?v=uf8bt6fGQyA", 28, "/downloads/HealthyGamerGG/2023-09-15 Why Therapy Sucks For Men/Why Therapy Sucks For Men [uf8bt6fGQyA].mp4", false, false, false, 3, [], 1, ~U[2023-09-15 16:00:54Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Therapy can pose unique challenges for men, and in this video, we delve into the reasons behind this difficulty. Exploring the societal expectations, stereotypes, and stigmas attached to men seeking therapy, we uncover why the journey to therapy can be a daunting path for many men.\n\nLearn more from Dr. K in his Guide to Mental Health: https://bit.ly/45NirwY\nNot sure which module to start on? Take our quiz: https://bit.ly/47dGzKj\n\nJoin us as we navigate through these challenges, shedding light on the impact these barriers might have on men's mental health. We'll discuss the implications and offer insights into what this means for men considering or already engaged in therapy.\n\n▼ Timestamps ▼\n────────────\n00:18 - Why it’s hard for men to be in therapy\n02:50 - How men deal with their emotions\n04:14 - Men’s reluctance to couples counseling\n05:58 - How men communicate differently\n08:15 - Men are physical with emotional health\n10:54 - What does this mean for you as a man?\n11:52 - Language you can use in psychotherapy\n14:45 - Using your body to help with emotions\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#healthygamergg #mentalhealth #therapy", "Why Therapy Sucks For Men", 1058, false, "uf8bt6fGQyA", "https://www.youtube.com/watch?v=uf8bt6fGQyA", "/downloads/HealthyGamerGG/2023-09-15 Why Therapy Sucks For Men/Why Therapy Sucks For Men [uf8bt6fGQyA].mp4", false, 3, ~U[2023-09-15 16:00:54Z]] 21:09:15.320 [debug] QUERY OK source="sources" db=0.2ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.320 [debug] QUERY OK source="media_items" db=0.3ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-11-22 15:00:00Z], 3] 21:09:15.322 [debug] QUERY OK source="media_items" db=1.3ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join me for an important discussion on the topic of fatigue. Today, we're delving into the roots of tiredness to uncover effective strategies for overcoming it.\n\nCheck out Dr. K’s Guide to Mental Health https://bit.ly/45NirwY\n\nUnderstanding why we experience fatigue is the first step toward combating it. In this video, we'll explore the various factors that contribute to feeling tired, from physical exertion to emotional and mental stressors. By unpacking these causes, we'll gain valuable insights into how to address and alleviate tiredness effectively.\n\nWe’re here to help you take control of your mental health and your life.\nComprehensive list of mental health resources https://explore.healthygamer.gg/mentalhealthresources\n\nHealthy Gamer Coaching designed by Dr. K https://bit.ly/3WhLtAy\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n00:00 - Introduction\n02:22 - Immediate exhaustion\n07:07 - Evolution\n11:06 - Emotions are physiological\n13:20 - What is my body telling me not to do?\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#beingtired #tiredness #healthygamergg", "Psychiatrist Explains Why You Feel Tired All The Time", "323ddc12-52c5-4337-ad14-c1b2e7e55b35", 1081, false, "0sppw7Zq35w", "https://www.youtube.com/watch?v=0sppw7Zq35w", 29, "/downloads/HealthyGamerGG/2022-11-22 Psychiatrist Explains Why You Feel Tired All The Time/Psychiatrist Explains Why You Feel Tired All The Time [0sppw7Zq35w].mp4", false, false, false, 3, [], 1, ~U[2022-11-22 15:00:00Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Join me for an important discussion on the topic of fatigue. Today, we're delving into the roots of tiredness to uncover effective strategies for overcoming it.\n\nCheck out Dr. K’s Guide to Mental Health https://bit.ly/45NirwY\n\nUnderstanding why we experience fatigue is the first step toward combating it. In this video, we'll explore the various factors that contribute to feeling tired, from physical exertion to emotional and mental stressors. By unpacking these causes, we'll gain valuable insights into how to address and alleviate tiredness effectively.\n\nWe’re here to help you take control of your mental health and your life.\nComprehensive list of mental health resources https://explore.healthygamer.gg/mentalhealthresources\n\nHealthy Gamer Coaching designed by Dr. K https://bit.ly/3WhLtAy\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n00:00 - Introduction\n02:22 - Immediate exhaustion\n07:07 - Evolution\n11:06 - Emotions are physiological\n13:20 - What is my body telling me not to do?\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#beingtired #tiredness #healthygamergg", "Psychiatrist Explains Why You Feel Tired All The Time", 1081, false, "0sppw7Zq35w", "https://www.youtube.com/watch?v=0sppw7Zq35w", "/downloads/HealthyGamerGG/2022-11-22 Psychiatrist Explains Why You Feel Tired All The Time/Psychiatrist Explains Why You Feel Tired All The Time [0sppw7Zq35w].mp4", false, 3, ~U[2022-11-22 15:00:00Z]] 21:09:15.323 [debug] QUERY OK source="sources" db=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.323 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-02-07 18:00:03Z], 3] 21:09:15.360 [debug] QUERY OK source="media_items" db=35.6ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Start speaking a new language in 3 weeks with Babbel 🎉. Get up to 60% OFF your subscription ➡️Here: https://go.babbel.com/t?bsc=1200m60-youtube-healthygamergg-dec-2023&btp=default&utm_term=generic_v1&utm_medium=paidsocial&utm_source=YouTube&utm_content=Influencer..healthygamergg..USA..YouTube\n\nIn today's video, we explore how dopamine drives our interest and wants in life, how to reduce its dependency, and how to tackle the need for dopamine all the time. Dr K starts us off by discussing the nucleus accumbens, a study about dopamine in rats to give us an example of dopamine's effects on rats, and more. \n\nWhen someone develops dopamine resistance, they may experience reduced motivation, decreased pleasure from activities they once enjoyed, and difficulty experiencing positive emotions. This can contribute to issues like depression, apathy, and addiction.\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Introduction\n01:52 - Nucleus Accumbens\n04:41 - Dopamine in rats\n05:54 - Sustained effort\n11:55 - Amygdala and Limbic System\n14:57 - Prefrontal Cortex\n17:55 - “Play the tape through to the end”\n21:33 - Opioid circuit\n24:29 - Balance of pain\n27:21 - Conclusion\n\n────────────\n\nJoin this channel to get access to perks:\nhttps://www.youtube.com/channel/UClHVl2N3jPEbkNJVx-ItQIQ/join\n\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#mentalhealth #healthygamergg #dopamine", "DOPAMINE - What It Is, and How To Beat It", "fb0512c7-0b18-4b1b-b527-3214f9d5530f", 1711, false, "6CWq8wyS90o", "https://www.youtube.com/watch?v=6CWq8wyS90o", 30, "/downloads/HealthyGamerGG/2024-02-07 DOPAMINE - What It Is, and How To Beat It/DOPAMINE - What It Is, and How To Beat It [6CWq8wyS90o].mp4", false, false, false, 3, [], 1, ~U[2024-02-07 18:00:03Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Start speaking a new language in 3 weeks with Babbel 🎉. Get up to 60% OFF your subscription ➡️Here: https://go.babbel.com/t?bsc=1200m60-youtube-healthygamergg-dec-2023&btp=default&utm_term=generic_v1&utm_medium=paidsocial&utm_source=YouTube&utm_content=Influencer..healthygamergg..USA..YouTube\n\nIn today's video, we explore how dopamine drives our interest and wants in life, how to reduce its dependency, and how to tackle the need for dopamine all the time. Dr K starts us off by discussing the nucleus accumbens, a study about dopamine in rats to give us an example of dopamine's effects on rats, and more. \n\nWhen someone develops dopamine resistance, they may experience reduced motivation, decreased pleasure from activities they once enjoyed, and difficulty experiencing positive emotions. This can contribute to issues like depression, apathy, and addiction.\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Introduction\n01:52 - Nucleus Accumbens\n04:41 - Dopamine in rats\n05:54 - Sustained effort\n11:55 - Amygdala and Limbic System\n14:57 - Prefrontal Cortex\n17:55 - “Play the tape through to the end”\n21:33 - Opioid circuit\n24:29 - Balance of pain\n27:21 - Conclusion\n\n────────────\n\nJoin this channel to get access to perks:\nhttps://www.youtube.com/channel/UClHVl2N3jPEbkNJVx-ItQIQ/join\n\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#mentalhealth #healthygamergg #dopamine", "DOPAMINE - What It Is, and How To Beat It", 1711, false, "6CWq8wyS90o", "https://www.youtube.com/watch?v=6CWq8wyS90o", "/downloads/HealthyGamerGG/2024-02-07 DOPAMINE - What It Is, and How To Beat It/DOPAMINE - What It Is, and How To Beat It [6CWq8wyS90o].mp4", false, 3, ~U[2024-02-07 18:00:03Z]] 21:09:15.361 [debug] QUERY OK source="sources" db=0.4ms queue=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.362 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=39.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-10-16 17:00:33Z], 3] 21:09:15.367 [debug] QUERY OK source="media_items" db=4.7ms idle=39.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Start speaking a new language in 3 weeks with Babbel 🎉. Get up to 60% OFF your subscription ➡️Here: https://go.babbel.com/t?bsc=1200m60-youtube-healthygamergg-oct-2023&btp=default&utm_term=generic_v1&utm_medium=paidsocial&utm_source=YouTube&utm_content=Influencer..healthygamergg..USA..YouTube\n\nIn today's video, we delve into the fascinating world of self-control from a scientific perspective. We'll explore the latest research and evidence-based techniques designed to enhance your self-discipline. Our journey will uncover the psychological and neurological underpinnings of self-control, providing you with practical strategies to apply in your daily life.\n\nJoin us as we discuss actionable insights and methods to boost your self-control, helping you achieve your personal and professional goals. Whether you're looking to improve your focus, resist temptations, or manage your impulses more effectively, this video is tailored to provide you with the tools for success. Don't miss out on this opportunity to empower yourself with the science of self-control!\n\n▼ Timestamps ▼\n────────────\n\n00:11 You don’t really listen to you\n03:27 Understanding self control\n05:22 What diminishes your self control?\n10:03 Monitoring conflict is self control\n12:20 How to monitor conflict yourself\n15:40 Exerting self control\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#healthygamergg #lifeadvice #selfcontrol", "Dr. K Explains: The Science of Self Control", "541c65e1-1157-42b9-9a6f-b5e67b1ad540", 1131, false, "dgRSfhoHE4g", "https://www.youtube.com/watch?v=dgRSfhoHE4g", 31, "/downloads/HealthyGamerGG/2023-10-16 Dr. K Explains: The Science of Self Control/Dr. K Explains: The Science of Self Control [dgRSfhoHE4g].mp4", false, false, false, 3, [], 1, ~U[2023-10-16 17:00:33Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Start speaking a new language in 3 weeks with Babbel 🎉. Get up to 60% OFF your subscription ➡️Here: https://go.babbel.com/t?bsc=1200m60-youtube-healthygamergg-oct-2023&btp=default&utm_term=generic_v1&utm_medium=paidsocial&utm_source=YouTube&utm_content=Influencer..healthygamergg..USA..YouTube\n\nIn today's video, we delve into the fascinating world of self-control from a scientific perspective. We'll explore the latest research and evidence-based techniques designed to enhance your self-discipline. Our journey will uncover the psychological and neurological underpinnings of self-control, providing you with practical strategies to apply in your daily life.\n\nJoin us as we discuss actionable insights and methods to boost your self-control, helping you achieve your personal and professional goals. Whether you're looking to improve your focus, resist temptations, or manage your impulses more effectively, this video is tailored to provide you with the tools for success. Don't miss out on this opportunity to empower yourself with the science of self-control!\n\n▼ Timestamps ▼\n────────────\n\n00:11 You don’t really listen to you\n03:27 Understanding self control\n05:22 What diminishes your self control?\n10:03 Monitoring conflict is self control\n12:20 How to monitor conflict yourself\n15:40 Exerting self control\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#healthygamergg #lifeadvice #selfcontrol", "Dr. K Explains: The Science of Self Control", 1131, false, "dgRSfhoHE4g", "https://www.youtube.com/watch?v=dgRSfhoHE4g", "/downloads/HealthyGamerGG/2023-10-16 Dr. K Explains: The Science of Self Control/Dr. K Explains: The Science of Self Control [dgRSfhoHE4g].mp4", false, 3, ~U[2023-10-16 17:00:33Z]] 21:09:15.368 [debug] QUERY OK source="sources" db=0.6ms idle=44.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.370 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=9.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-04-12 14:26:17Z], 3] 21:09:15.373 [debug] QUERY OK source="media_items" db=1.6ms idle=9.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Making friends is tough, especially after being inside for almost 3 years, and social anxiety makes it so much harder. Doctor K’s guide to Mental Health can help you take control over your anxiety, find out more here: https://bit.ly/37kSfkA\n\n▼ Timestamps ▼\n────────────\n\n0:00 - Preview\n0:43 - Reddit Post\n3:29 - What is going on in your mind\n19:29 - Consequences of interaction\n25:06 - Ramping up interactions\n34:31 - Summary\n40:00 - Questions\n\n────────────\n\nToday Doctor K talks about how to start conversations, how to make friends, how to talk to strangers, how to talk to people, and more. HealthyGamer also talks about how to handle social anxiety, getting over your social anxiety, how to act in public, and more.\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "You Don’t Speak Unless You Are Spoken To", "435d2f78-6480-40b4-a1de-83347b0a33cd", 2628, false, "2FZ2AGo6Kec", "https://www.youtube.com/watch?v=2FZ2AGo6Kec", 32, "/downloads/HealthyGamerGG/2022-04-12 You Don’t Speak Unless You Are Spoken To/You Don’t Speak Unless You Are Spoken To [2FZ2AGo6Kec].mp4", false, false, false, 3, [], 1, ~U[2022-04-12 14:26:17Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Making friends is tough, especially after being inside for almost 3 years, and social anxiety makes it so much harder. Doctor K’s guide to Mental Health can help you take control over your anxiety, find out more here: https://bit.ly/37kSfkA\n\n▼ Timestamps ▼\n────────────\n\n0:00 - Preview\n0:43 - Reddit Post\n3:29 - What is going on in your mind\n19:29 - Consequences of interaction\n25:06 - Ramping up interactions\n34:31 - Summary\n40:00 - Questions\n\n────────────\n\nToday Doctor K talks about how to start conversations, how to make friends, how to talk to strangers, how to talk to people, and more. HealthyGamer also talks about how to handle social anxiety, getting over your social anxiety, how to act in public, and more.\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "You Don’t Speak Unless You Are Spoken To", 2628, false, "2FZ2AGo6Kec", "https://www.youtube.com/watch?v=2FZ2AGo6Kec", "/downloads/HealthyGamerGG/2022-04-12 You Don’t Speak Unless You Are Spoken To/You Don’t Speak Unless You Are Spoken To [2FZ2AGo6Kec].mp4", false, 3, ~U[2022-04-12 14:26:17Z]] 21:09:15.373 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [3] 21:09:15.374 [debug] QUERY OK source="media_items" db=0.4ms idle=6.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-09-01 14:00:02Z], 3] 21:09:15.376 [debug] QUERY OK source="media_items" db=1.4ms idle=5.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dr. Kanojia is a Harvard-trained psychiatrist and cofounder of Healthy Gamer. Dr. K's Healthy Gamer Coaching program is the highest-rated, most affordable coaching service with proven mental health outcomes. Learn more: https://www.healthygamer.gg/coaching/1-on-1 \n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Preview\n00:08 - Introduction\n01:11 - Habit 1: Avoid Tech\n03:55 - Habit 2: Cut back on Caffeine\n07:49 - Habit 3: Pacing \n10:33 - Habit 4: Give Yourself Time To Think\n11:54 - Habit 5: Become a Producer instead of a Consumer\n14:44 - Recap\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "5 Habits that Changed My Life", "46076ebb-5732-47ca-9a96-22d6ce147ff4", 934, false, "2--Nhxasrew", "https://www.youtube.com/watch?v=2--Nhxasrew", 33, "/downloads/HealthyGamerGG/2022-09-01 5 Habits that Changed My Life/5 Habits that Changed My Life [2--Nhxasrew].mp4", false, false, false, 3, [], 1, ~U[2022-09-01 14:00:02Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Dr. Kanojia is a Harvard-trained psychiatrist and cofounder of Healthy Gamer. Dr. K's Healthy Gamer Coaching program is the highest-rated, most affordable coaching service with proven mental health outcomes. Learn more: https://www.healthygamer.gg/coaching/1-on-1 \n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Preview\n00:08 - Introduction\n01:11 - Habit 1: Avoid Tech\n03:55 - Habit 2: Cut back on Caffeine\n07:49 - Habit 3: Pacing \n10:33 - Habit 4: Give Yourself Time To Think\n11:54 - Habit 5: Become a Producer instead of a Consumer\n14:44 - Recap\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provided medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved on are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "5 Habits that Changed My Life", 934, false, "2--Nhxasrew", "https://www.youtube.com/watch?v=2--Nhxasrew", "/downloads/HealthyGamerGG/2022-09-01 5 Habits that Changed My Life/5 Habits that Changed My Life [2--Nhxasrew].mp4", false, 3, ~U[2022-09-01 14:00:02Z]] 21:09:15.378 [debug] QUERY OK source="sources" db=0.3ms queue=0.7ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.379 [debug] QUERY OK source="media_items" db=0.8ms idle=5.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-22 00:00:27Z], 3] 21:09:15.452 [debug] QUERY OK source="media_items" db=72.4ms idle=5.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Join our (free) Porn Addiction course for helpful content, resources, and more!: https://bit.ly/3ZdZnaQ \n\nFor more content like this, check out HG Memberships: https://bit.ly/3DrJoOl 💚\n\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Introduction\n01:30 - Diving into the literature\n02:48 - The nature of addiction\n04:08 - Why is porn so addictive?\n05:48 - Thalamus & sensory input\n08:32 - Nucleus Accumbens & Dopamine\n09:42 - Reinforcement of Behavior\n12:38 - Amygdala and limbic system\n13:54 - Emotional disregulation\n15:22 - Oxytocin/Loneliness System\n18:15 - Social Status System\n19:48 - Creating a plan for success\n21:17 - Restrict the time window for use\n22:04 - Plan at the start of the day\n22:58 - Develop an emotional regulation practice\n23:46 - Find your triggers\n24:50 - Analyze your weak points\n25:35 - Working on dormant emotions\n25:53 - Find a community\n26:22 - Do something you can be proud of\n27:06 - Exercise and diet\n29:18 - Dual diagnosis\n30:42 - A simple technique...\n31:51 - Urge surfing practice\n\n────────────\n\nLearn more about the research that goes into making our videos:\nhttps://explore.healthygamer.gg/citations\n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer coaches, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "How to Kick Your P**n Habit in 35 Minutes", "7018461c-f7b2-4233-b134-e764cf36150e", 2153, false, "QJvHglNMsqc", "https://www.youtube.com/watch?v=QJvHglNMsqc", 34, "/downloads/HealthyGamerGG/2024-11-22 How to Kick Your P**n Habit in 35 Minutes/How to Kick Your P**n Habit in 35 Minutes [QJvHglNMsqc].mp4", false, false, false, 3, [], 1, ~U[2024-11-22 00:00:27Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Join our (free) Porn Addiction course for helpful content, resources, and more!: https://bit.ly/3ZdZnaQ \n\nFor more content like this, check out HG Memberships: https://bit.ly/3DrJoOl 💚\n\n\n▼ Timestamps ▼\n────────────\n\n00:00 - Introduction\n01:30 - Diving into the literature\n02:48 - The nature of addiction\n04:08 - Why is porn so addictive?\n05:48 - Thalamus & sensory input\n08:32 - Nucleus Accumbens & Dopamine\n09:42 - Reinforcement of Behavior\n12:38 - Amygdala and limbic system\n13:54 - Emotional disregulation\n15:22 - Oxytocin/Loneliness System\n18:15 - Social Status System\n19:48 - Creating a plan for success\n21:17 - Restrict the time window for use\n22:04 - Plan at the start of the day\n22:58 - Develop an emotional regulation practice\n23:46 - Find your triggers\n24:50 - Analyze your weak points\n25:35 - Working on dormant emotions\n25:53 - Find a community\n26:22 - Do something you can be proud of\n27:06 - Exercise and diet\n29:18 - Dual diagnosis\n30:42 - A simple technique...\n31:51 - Urge surfing practice\n\n────────────\n\nLearn more about the research that goes into making our videos:\nhttps://explore.healthygamer.gg/citations\n\nFind us on Instagram, Twitter, TikTok, and more here: https://bit.ly/4qiCXR7\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counselling, and it is not a substitute for professional medical care. Our coaches are peer coaches, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.", "How to Kick Your P**n Habit in 35 Minutes", 2153, false, "QJvHglNMsqc", "https://www.youtube.com/watch?v=QJvHglNMsqc", "/downloads/HealthyGamerGG/2024-11-22 How to Kick Your P**n Habit in 35 Minutes/How to Kick Your P**n Habit in 35 Minutes [QJvHglNMsqc].mp4", false, 3, ~U[2024-11-22 00:00:27Z]] 21:09:15.453 [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" = ?) [3] 21:09:15.453 [debug] QUERY OK source="media_items" db=0.3ms idle=77.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-07-05 16:00:19Z], 3] 21:09:15.455 [debug] QUERY OK source="media_items" db=1.4ms idle=76.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Welcome to today's exploration into the science of catching up in life. Have you ever pondered whether it's too late to begin anew or if there are viable strategies to bridge the gap? In this video, we delve into these questions, uncovering actionable insights to help you catch up and thrive.\n\nLearn more from Dr. K in his Guide to Mental Health: https://bit.ly/46CKHDO\nNot sure which module to start on? Take our quiz: https://bit.ly/47dGzKj\n\nWe'll examine the psychological and scientific aspects of catching up, breaking down misconceptions and exploring practical steps towards progress. This isn't merely a conversation about playing catch-up; it's about understanding the science behind progress and growth, regardless of where we currently stand.\n\n▼ Timestamps ▼\n────────────\n\n00:08 - Is it too late for me to catch up?\n01:05 The truth about this video\n01:56 - The science of catching up\n3:20 - Attachment and behavioral catch up\n4:55 - The “How” of real growth\n6:50 - You need a small amount of help \n9:00 - Changing your environment\n10:46 - How to expand your social circle\n13:10 - Changing your physical environment \n14:35 - How the mind sabotages you\n17:58 - What do we do about this?\n19:48 - “I” statements\n22:40 - Who you are no longer dictates what you do\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#healthygamergg #scienceofcatchingup #lifeadvice", "How To Catch Up In Life (Using Science)", "85743be8-09f2-4b1c-894b-6afd3822672a", 1495, false, "IOWelVx5CUw", "https://www.youtube.com/watch?v=IOWelVx5CUw", 35, "/downloads/HealthyGamerGG/2023-07-05 How To Catch Up In Life (Using Science)/How To Catch Up In Life (Using Science) [IOWelVx5CUw].mp4", false, false, false, 3, [], 1, ~U[2023-07-05 16:00:19Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Welcome to today's exploration into the science of catching up in life. Have you ever pondered whether it's too late to begin anew or if there are viable strategies to bridge the gap? In this video, we delve into these questions, uncovering actionable insights to help you catch up and thrive.\n\nLearn more from Dr. K in his Guide to Mental Health: https://bit.ly/46CKHDO\nNot sure which module to start on? Take our quiz: https://bit.ly/47dGzKj\n\nWe'll examine the psychological and scientific aspects of catching up, breaking down misconceptions and exploring practical steps towards progress. This isn't merely a conversation about playing catch-up; it's about understanding the science behind progress and growth, regardless of where we currently stand.\n\n▼ Timestamps ▼\n────────────\n\n00:08 - Is it too late for me to catch up?\n01:05 The truth about this video\n01:56 - The science of catching up\n3:20 - Attachment and behavioral catch up\n4:55 - The “How” of real growth\n6:50 - You need a small amount of help \n9:00 - Changing your environment\n10:46 - How to expand your social circle\n13:10 - Changing your physical environment \n14:35 - How the mind sabotages you\n17:58 - What do we do about this?\n19:48 - “I” statements\n22:40 - Who you are no longer dictates what you do\n\n────────────\n\nDISCLAIMER\n\nHealthy Gamer is an online community and resource platform for gamers and their families. It does not provide medical services or professional counseling, and it is not a substitute for professional medical care. Our coaches are peer supporters, not professionally trained experts, and they cannot provide medical service. If you or a loved one are experiencing an emergency, please call your nation's emergency telephone number.\n\nAll guests of Healthy Gamer are informed of the public, non-medical nature of the content and have expressly agreed to share their story.\n\n#healthygamergg #scienceofcatchingup #lifeadvice", "How To Catch Up In Life (Using Science)", 1495, false, "IOWelVx5CUw", "https://www.youtube.com/watch?v=IOWelVx5CUw", "/downloads/HealthyGamerGG/2023-07-05 How To Catch Up In Life (Using Science)/How To Catch Up In Life (Using Science) [IOWelVx5CUw].mp4", false, 3, ~U[2023-07-05 16:00:19Z]] 21:09:15.456 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [3] 21:09:15.457 [debug] QUERY OK source="media_items" db=0.6ms idle=4.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2019-12-22 11:00:00Z], 3] 21:09:15.459 [debug] QUERY OK source="media_items" db=1.6ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["⬇️ Timestamps in der Beschreibung & im angepinnten Kommentar!\n-\nFreunde, fast pünktlich zu Weihnachten ist es endlich soweit: \nDie aller erste Folge meines Podcasts ist online!\nMein erster Gast ist der gute Marc Gebauer von Cologne Watch.\nWir haben viel über seinen Weg zum muslimischen Glauben, die aktuelle Entwicklung des Uhrenmarktes sowie Gott & die Welt gesprochen.\n\nSchreibt gerne in die Kommentare was wir noch besser machen können und wen ihr euch als nächsten Gast wünscht!\n-\nParallel ist mein neuer zweiter Channel online gegangen:\n\nTim Gabel Clips\n\nDort findet ihr alle Podcast Highlights in gebündelter Kurzform, \n➡️ schaut vorbei: http://bit.ly/2PNEOi2\n-\nZU MARC:\nYoutube: http://bit.ly/2sbrhHN\nInstagram: http://bit.ly/2s9oLSw\n\nZU COLOGNE WATCH: \nYoutube: http://bit.ly/2POsmyB\nInstagram: http://bit.ly/35NKr54\nWeb: https://www.colognewatch.de/\n\n-------------------------------\n\nTIMESTAMPS:\n\nEinleitung zum Podcast \n0:00 - 2:10\nWer ist Marc Gebauer? \n2:10 - 5:23\n\n1 . UHREN\nJuwelier vs. Grauhändler\n5:23 - 16:20\nMarc über den Polosport \n16:20 - 21:40\nUhren als Finanzobjekt (Entwicklung des Uhrenmarktes)\n21:40 - 31:28\nUhren als Statussymbol\n31:28 - 39: 50\nUhren als Kunstobjekt\n39:50 - 52:07\n\n2 . Marc im Haterinterview\n52:07 - 1:12:15\n\n3 . ISLAM\nEinleitung zum Thema Glaube\n1:12:15 - 1:20:25\nWie Marc zum Islam kam\n1:20:25 - 1:30:10\nAuslegung und leben von Glaube, Glaubensstruktur, Interpretation\n1:30:10 - 1:42:00\nWie Marc seinen islamischen Glauben lebt\n1:42:00 - 1:48:36 \nHeutige Wahrnehmung des Islams in der westlichen Welt \n1:48:36 - 1:56:45\nMarc über jihadistische Attentate und die Position des Korans\n1:56:45 - 2:03:30\nInterpretation & Misinterpretation des Islam\n2:03:30 - 2:13:24\n\nMarc Persönlichkeitstest erklärt\n2:13:24 - 2:29:32\nOutro\n2:29:32 - 2:32:06\n\n-------------------------------\n\n► Hier findest du mein Trainings- und Ernährungsplan : \n(*Werbung) http://join-teamg.com/\n\n-------------------------------\n\n► Folgt mir auf Instagram: @tim_gabel\n\n► Snapt mir: timgabel95\n\n-------------------------------\n\n► Hier gibt es die Klamotten von Gymshark: \n(*Werbung) https://gym.sh/Shop-Tim-Gabel2\n\n► Hier bekommt ihr die besten Supplements aus Deutschland : (*Werbung) http://goo.gl/mB9N7T / https://healthplus.zecplus.de\n\n-------------------------------\n(*Werbung)\n► * Für massive Gains: https://amzn.to/2HKT0q3\n► * Eins der besten Supplements: https://amzn.to/2UsPFNM\n► * Beste Kombi: https://amzn.to/2BduPLd\n► * Essentiell: https://amzn.to/2Uz9AdT\n► * Klassiker: https://amzn.to/2HIWoSk\n► * Ehrenwirbelsäule: https://amzn.to/2Wzu0W8\n► * Ehrenlendenwirbelsäule: https://amzn.to/2D2lCoO", "PODCAST #1: MARC GEBAUER über muslimischen Glauben, Uhrenmarkt, \"Fake Friends\" mit Youtubern", "8a0366a2-5a51-4c70-8619-2a046ff4a433", 9126, false, "aVLetMOm7SM", "https://www.youtube.com/watch?v=aVLetMOm7SM", 36, "/downloads/Tim Gabel/2019-12-22 PODCAST #1: MARC GEBAUER über muslimischen Glauben, Uhrenmarkt, "Fake Friends" mit Youtubern/PODCAST #1: MARC GEBAUER über muslimischen Glauben, Uhrenmarkt, "Fake Friends" mit Youtubern [aVLetMOm7SM].mp4", false, false, false, 3, [], 1, ~U[2019-12-22 11:00:00Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "⬇️ Timestamps in der Beschreibung & im angepinnten Kommentar!\n-\nFreunde, fast pünktlich zu Weihnachten ist es endlich soweit: \nDie aller erste Folge meines Podcasts ist online!\nMein erster Gast ist der gute Marc Gebauer von Cologne Watch.\nWir haben viel über seinen Weg zum muslimischen Glauben, die aktuelle Entwicklung des Uhrenmarktes sowie Gott & die Welt gesprochen.\n\nSchreibt gerne in die Kommentare was wir noch besser machen können und wen ihr euch als nächsten Gast wünscht!\n-\nParallel ist mein neuer zweiter Channel online gegangen:\n\nTim Gabel Clips\n\nDort findet ihr alle Podcast Highlights in gebündelter Kurzform, \n➡️ schaut vorbei: http://bit.ly/2PNEOi2\n-\nZU MARC:\nYoutube: http://bit.ly/2sbrhHN\nInstagram: http://bit.ly/2s9oLSw\n\nZU COLOGNE WATCH: \nYoutube: http://bit.ly/2POsmyB\nInstagram: http://bit.ly/35NKr54\nWeb: https://www.colognewatch.de/\n\n-------------------------------\n\nTIMESTAMPS:\n\nEinleitung zum Podcast \n0:00 - 2:10\nWer ist Marc Gebauer? \n2:10 - 5:23\n\n1 . UHREN\nJuwelier vs. Grauhändler\n5:23 - 16:20\nMarc über den Polosport \n16:20 - 21:40\nUhren als Finanzobjekt (Entwicklung des Uhrenmarktes)\n21:40 - 31:28\nUhren als Statussymbol\n31:28 - 39: 50\nUhren als Kunstobjekt\n39:50 - 52:07\n\n2 . Marc im Haterinterview\n52:07 - 1:12:15\n\n3 . ISLAM\nEinleitung zum Thema Glaube\n1:12:15 - 1:20:25\nWie Marc zum Islam kam\n1:20:25 - 1:30:10\nAuslegung und leben von Glaube, Glaubensstruktur, Interpretation\n1:30:10 - 1:42:00\nWie Marc seinen islamischen Glauben lebt\n1:42:00 - 1:48:36 \nHeutige Wahrnehmung des Islams in der westlichen Welt \n1:48:36 - 1:56:45\nMarc über jihadistische Attentate und die Position des Korans\n1:56:45 - 2:03:30\nInterpretation & Misinterpretation des Islam\n2:03:30 - 2:13:24\n\nMarc Persönlichkeitstest erklärt\n2:13:24 - 2:29:32\nOutro\n2:29:32 - 2:32:06\n\n-------------------------------\n\n► Hier findest du mein Trainings- und Ernährungsplan : \n(*Werbung) http://join-teamg.com/\n\n-------------------------------\n\n► Folgt mir auf Instagram: @tim_gabel\n\n► Snapt mir: timgabel95\n\n-------------------------------\n\n► Hier gibt es die Klamotten von Gymshark: \n(*Werbung) https://gym.sh/Shop-Tim-Gabel2\n\n► Hier bekommt ihr die besten Supplements aus Deutschland : (*Werbung) http://goo.gl/mB9N7T / https://healthplus.zecplus.de\n\n-------------------------------\n(*Werbung)\n► * Für massive Gains: https://amzn.to/2HKT0q3\n► * Eins der besten Supplements: https://amzn.to/2UsPFNM\n► * Beste Kombi: https://amzn.to/2BduPLd\n► * Essentiell: https://amzn.to/2Uz9AdT\n► * Klassiker: https://amzn.to/2HIWoSk\n► * Ehrenwirbelsäule: https://amzn.to/2Wzu0W8\n► * Ehrenlendenwirbelsäule: https://amzn.to/2D2lCoO", "PODCAST #1: MARC GEBAUER über muslimischen Glauben, Uhrenmarkt, \"Fake Friends\" mit Youtubern", 9126, false, "aVLetMOm7SM", "https://www.youtube.com/watch?v=aVLetMOm7SM", "/downloads/Tim Gabel/2019-12-22 PODCAST #1: MARC GEBAUER über muslimischen Glauben, Uhrenmarkt, "Fake Friends" mit Youtubern/PODCAST #1: MARC GEBAUER über muslimischen Glauben, Uhrenmarkt, "Fake Friends" mit Youtubern [aVLetMOm7SM].mp4", false, 3, ~U[2019-12-22 11:00:00Z]] 21:09:15.460 [debug] QUERY OK source="sources" db=0.2ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.460 [debug] QUERY OK source="media_items" db=0.3ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-12 13:01:59Z], 3] 21:09:15.463 [debug] QUERY OK source="media_items" db=2.1ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n Dr. Keith Humphreys is a professor of psychiatry and behavioral sciences at Stanford School of Medicine and a leading expert on treating addictions, drug laws and policy. We discuss all the major addictive substances and behaviors, including alcohol, opioids, gambling, stimulants, nicotine, cannabis and more, focusing on how genetics and certain use patterns shape addiction susceptibility. We discuss the best evidence-based tools for recovery, from 12-step programs to emerging treatments such as psychedelics and ibogaine. Anyone interested in making better choices for their health and/or seeking to avoid or overcome addictions ought to benefit from this episode.\n\nEpisode show notes: https://go.hubermanlab.com/Ir6zQnv\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman\nDavid: https://davidprotein.com/huberman\nBetterHelp: https://betterhelp.com/huberman\nHelix Sleep: https://helixsleep.com/huberman\nLMNT: https://drinklmnt.com/huberman\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Keith Humphreys*\nStanford academic profile: https://profiles.stanford.edu/keith-humphreys \nBook: https://amzlink.to/az0Q03kPwfVJb \nStanford-Lancet Commission on the North American Opioid Crisis: https://opioids.stanford.edu \nStanford Network on Addiction Policy: https://addictionpolicy.stanford.edu \nThe Washington Post: https://www.washingtonpost.com/people/keith-humphreys\nThe Atlantic: https://www.theatlantic.com/author/keith-humphreys\nPublications: https://profiles.stanford.edu/keith-humphreys?tab=publications \nX: https://x.com/KeithNHumphreys \n\n*Timestamps*\n00:00:00 Keith Humphreys\n00:03:22 Addiction; Genetic Risk\n00:09:14 Alcohol Use Disorder & Alcoholism; Genetic Predisposition & Addiction Risk\n00:18:03 Sponsors: David & BetterHelp\n00:20:37 Women & Alcohol Use; Young Adults; Cannabis Use\n00:23:36 Health Benefit to Alcohol?, Red Wine, Cancer Risk; Social Pressure\n00:31:47 Alcohol in Social Gatherings, Social Anxiety, Vulnerability, Work & Dates\n00:37:41 Old vs New Cannabis & THC Levels; Smoked vs Edible Forms\n00:44:38 Cannabis & Psychosis Risk; Cardiac Health; Youth Cannabis Use & Transition to Adulthood \n00:52:29 Sponsor: AG1\n00:54:13 Industries of Addiction, Regulation; Gambling, Slot Machines, Novelty; Casinos\n01:05:28 Decriminalization vs Legalization; Cannabis, Gateway Drug?\n01:08:50 Psylocibin or LSD, Addiction Treatment; Microdosing, Clinical Trial Challenges\n01:18:58 Sponsor: Helix Sleep\n01:20:32 Brain Plasticity & Age; Ketamine, Depression, Transcranial Magnetic Stimulation (TMS)\n01:28:10 SSRIs, Mass Shootings, Suicide, Side Effects; Drug Approval; Ibogaine & PTSD\n01:36:10 Caffeine Addiction?; Stimulants & Rehab; Prescription Stimulants & ADHD\n01:44:04 Nicotine, Mistaking Withdrawal for Benefit\n01:47:24 Sponsor: LMNT\n01:48:44 Tool: How to Talk to Someone with Addiction\n01:55:23 Perception of Addicts, Character Defect, Pain\n02:00:58 Overcoming Addiction, Immediate Rewards, AA; Addict & Co-Dependency?\n02:09:53 Longterm Drug Use, Dopamine, Cues & Relapse; Social Media\n02:16:21 Brain Stimulation, TMS; Homelessness, Substance Use & Rehab \n02:26:11 Addiction Treatment Policy, Rehab & Insurance\n02:29:08 Tool: 12-Step Programs, AA, Accessibility & Benefits\n02:38:08 AA, Higher Power, Cult?; Flexibility, Tool: Open AA Meetings\n02:44:38 GLP-1s, Weight Loss, Alcohol Addiction; Pharmaceutical Advertisements\n02:52:39 Social Media Addiction, Tool: Avoiding Social Media Strategies\n02:58:36 “Failure to Launch”, Youth, Video Games, Social Media; Recovery Pathways\n03:04:13 AA as an Action Program, Tool: Try Different AA Meetings\n03:08:21 Hospice, Death, Overcoming Fear of Death\n03:13:54 Addiction to E" <> ..., "How to Overcome Addiction to Substances or Behaviors | Dr. Keith Humphreys", "ed00ac20-40ae-4319-8708-a37ae8466ade", 12421, false, "t6RCTP4fc9Q", "https://www.youtube.com/watch?v=t6RCTP4fc9Q", 37, "/downloads/Andrew Huberman/2026-01-12 How to Overcome Addiction to Substances or Behaviors | Dr. Keith Humphreys/How to Overcome Addiction to Substances or Behaviors | Dr. Keith Humphreys [t6RCTP4fc9Q].mp4", false, false, false, 3, [], 1, ~U[2026-01-12 13:01:59Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n Dr. Keith Humphreys is a professor of psychiatry and behavioral sciences at Stanford School of Medicine and a leading expert on treating addictions, drug laws and policy. We discuss all the major addictive substances and behaviors, including alcohol, opioids, gambling, stimulants, nicotine, cannabis and more, focusing on how genetics and certain use patterns shape addiction susceptibility. We discuss the best evidence-based tools for recovery, from 12-step programs to emerging treatments such as psychedelics and ibogaine. Anyone interested in making better choices for their health and/or seeking to avoid or overcome addictions ought to benefit from this episode.\n\nEpisode show notes: https://go.hubermanlab.com/Ir6zQnv\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman\nDavid: https://davidprotein.com/huberman\nBetterHelp: https://betterhelp.com/huberman\nHelix Sleep: https://helixsleep.com/huberman\nLMNT: https://drinklmnt.com/huberman\n\n*Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://x.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. Keith Humphreys*\nStanford academic profile: https://profiles.stanford.edu/keith-humphreys \nBook: https://amzlink.to/az0Q03kPwfVJb \nStanford-Lancet Commission on the North American Opioid Crisis: https://opioids.stanford.edu \nStanford Network on Addiction Policy: https://addictionpolicy.stanford.edu \nThe Washington Post: https://www.washingtonpost.com/people/keith-humphreys\nThe Atlantic: https://www.theatlantic.com/author/keith-humphreys\nPublications: https://profiles.stanford.edu/keith-humphreys?tab=publications \nX: https://x.com/KeithNHumphreys \n\n*Timestamps*\n00:00:00 Keith Humphreys\n00:03:22 Addiction; Genetic Risk\n00:09:14 Alcohol Use Disorder & Alcoholism; Genetic Predisposition & Addiction Risk\n00:18:03 Sponsors: David & BetterHelp\n00:20:37 Women & Alcohol Use; Young Adults; Cannabis Use\n00:23:36 Health Benefit to Alcohol?, Red Wine, Cancer Risk; Social Pressure\n00:31:47 Alcohol in Social Gatherings, Social Anxiety, Vulnerability, Work & Dates\n00:37:41 Old vs New Cannabis & THC Levels; Smoked vs Edible Forms\n00:44:38 Cannabis & Psychosis Risk; Cardiac Health; Youth Cannabis Use & Transition to Adulthood \n00:52:29 Sponsor: AG1\n00:54:13 Industries of Addiction, Regula (truncated) 21:09:15.464 [debug] QUERY OK source="sources" db=0.2ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.464 [debug] QUERY OK source="media_items" db=0.3ms idle=5.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-26 22:00:19Z], 3] 21:09:15.467 [debug] QUERY OK source="media_items" db=1.5ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Identity is not something we assume, nor something we 'decide.' The markers of it come from a source far beyond our knowledge and understanding. Through the analysis of Genesis and Peter Pan, Peterson connects his audience to the divine anchors that define identity properly.\n\nUnlock the ad-free experience of The Jordan B. Peterson Podcast and dive into exclusive bonus content on DailyWire+. Start watching now: http://dwpluspeterson.com/yt\n\nALL LINKS: https://feedlink.io/jordanbpeterson\n\n\n| Sponsors |\n\nShopify: Get a $1/ month FREE trial with full access to Shopify's entire suite of features: https://shopify.com/jbp\n\nPreborn!: Help save 11,000 babies from abortion: https://preborn.com/Jordan\n\nBalance of Nature: Get 35% off Your Order of Fruits & Veggies + FREE Fiber & Spice Supplements. Use promo code Jordan at checkout: https://www.balanceofnature.com/\n\nOracle Netsuite: Make better business decisions with NetSuite https://www.NetSuite.com/JBP\n\n\n| Chapters |\n\n(0:00) Intro\n(1:22) Differentiating identity from identity politics\n(4:13) The purpose of evaluating your thoughts — getting to the wheat\n(8:42) Why people offer what’s second-rate when they are capable and wanting of greatness\n(12:00) The logos, the word, the spirit of God — they are all the same thing\n(15:10) Bringing reality into being out of potential, levels of apprehension building to your identity\n(24:56) “Everything that you do … is a reflection of the entire order of things.”\n(27:06) Prioritizing the self above everything creates a form of hell on earth\n(34:17) Subjective and sovereign identity: pros and cons\n(40:00) Why are you writing the essay? Following the question all the way up\n(43:13) Why bother maturing? Peter Pan and the eternal child\n(54:19) What you’re serving when you forgo the immediate for the long-term\n(58:16) Adventure stories: the father, the son, and the dragon\n(1:07:23) The further you wander, the more increasingly you enter the religious\n\n\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n\nBooks - https://www.jordanbpeterson.com/books/\n\n#JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus", "We Who Wrestle With God: In the Image of God", "1d6cb30a-8eac-4256-96fa-10292634ed17", 4602, false, "dt-BeOTiNvk", "https://www.youtube.com/watch?v=dt-BeOTiNvk", 38, "/downloads/Jordan B Peterson/2024-12-26 We Who Wrestle With God: In the Image of God/We Who Wrestle With God: In the Image of God [dt-BeOTiNvk].mp4", false, false, false, 3, [], 1, ~U[2024-12-26 22:00:19Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Identity is not something we assume, nor something we 'decide.' The markers of it come from a source far beyond our knowledge and understanding. Through the analysis of Genesis and Peter Pan, Peterson connects his audience to the divine anchors that define identity properly.\n\nUnlock the ad-free experience of The Jordan B. Peterson Podcast and dive into exclusive bonus content on DailyWire+. Start watching now: http://dwpluspeterson.com/yt\n\nALL LINKS: https://feedlink.io/jordanbpeterson\n\n\n| Sponsors |\n\nShopify: Get a $1/ month FREE trial with full access to Shopify's entire suite of features: https://shopify.com/jbp\n\nPreborn!: Help save 11,000 babies from abortion: https://preborn.com/Jordan\n\nBalance of Nature: Get 35% off Your Order of Fruits & Veggies + FREE Fiber & Spice Supplements. Use promo code Jordan at checkout: https://www.balanceofnature.com/\n\nOracle Netsuite: Make better business decisions with NetSuite https://www.NetSuite.com/JBP\n\n\n| Chapters |\n\n(0:00) Intro\n(1:22) Differentiating identity from identity politics\n(4:13) The purpose of evaluating your thoughts — getting to the wheat\n(8:42) Why people offer what’s second-rate when they are capable and wanting of greatness\n(12:00) The logos, the word, the spirit of God — they are all the same thing\n(15:10) Bringing reality into being out of potential, levels of apprehension building to your identity\n(24:56) “Everything that you do … is a reflection of the entire order of things.”\n(27:06) Prioritizing the self above everything creates a form of hell on earth\n(34:17) Subjective and sovereign identity: pros and cons\n(40:00) Why are you writing the essay? Following the question all the way up\n(43:13) Why bother maturing? Peter Pan and the eternal child\n(54:19) What you’re serving when you forgo the immediate for the long-term\n(58:16) Adventure stories: the father, the son, and the dragon\n(1:07:23) The further you wander, the more increasingly you enter the religious\n\n\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n\nBooks - https://www.jordanbpeterson.com/books/\n\n#JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus", "We Who Wrestle With God: In the Image of God", 4602, false, "dt-BeOTiNvk", "https://www.youtube.com/watch?v=dt-BeOTiNvk", "/downloads/Jordan B Peterson/2024-12-26 We Who Wrestle With God: In the Image of God/We Who Wrestle With God: In the Image of God [dt-BeOTiNvk].mp4", false, 3, ~U[2024-12-26 22:00:19Z]] 21:09:15.467 [debug] QUERY OK source="sources" db=0.2ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.468 [debug] QUERY OK source="media_items" db=0.3ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-27 16:29:01Z], 3] 21:09:15.470 [debug] QUERY OK source="media_items" db=1.7ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Are you feeling stuck in a cycle of bad habits and wondering how to finally break free? This isn't another generic motivational video. In this powerful 33‑minute lecture, Dr. Jordan Peterson goes beyond simple advice and uncovers the deep psychology behind why we form habits—and the brutally honest process of replacing the ones that are silently destroying your life.\n\nYou'll learn why comfort is often your biggest enemy, how to use radical truth-telling as a tool for change, and the simple \"micro‑corrections\" that actually compound into a completely transformed future.\n\n---\n\n📌 IN THIS VIDEO (Timestamps):\n00:00 – Why You're Still Stuck (The Brutal Truth)\n12:45 – \"Have You Had Enough of Yourself?\" The Starting Point\n17:20 – The One Question That Exposes Your Bad Habits\n12:10 – Telling the Truth: Your Sharpest Tool for Change\n17:50 – Pursuing Meaning Over Quick Fixes\n23:15 – The Power of Tiny, \"Ridiculously Small\" Actions\n28:30 – Practical Steps to Start Before You Go to Bed Tonight\n31:00 – How to Stay Disciplined When Motivation Fades\n\n---\n\n🎯 KEY TAKEAWAYS FROM THIS LECTURE:\n• The hidden psychological cost of avoiding who you could become.\n• Why \"cleaning your room\" is the ultimate first step to taking control.\n• How to use brutal self-honesty to rewire your brain and your daily routine.\n• The link between personal responsibility, meaning, and mental health.\n• A concrete plan to build success habits that actually last.\n\n---\n\n🔗 NEXT STEPS & RECOMMENDED RESOURCES:\nIf this video hit something real in you, please LIKE, SUBSCRIBE, and SHARE it with someone who needs to hear it. Every action helps more people find the tools to change.\n\n📖 Further Learning:\n· Jordan Peterson's 12 Rules for Life: An Antidote to Chaos\n· Jordan Peterson's Beyond Order: 12 More Rules for Life\n\n📢 Connect with Dr. Jordan B. Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n🎧 Listen to The Jordan B. Peterson Podcast:\n• Spotify: https://open.spotify.com/show/2bGpVpDx3FbjsGvHGHjHNn\n• Apple Podcasts: https://podcasts.apple.com/ca/podcast/the-jordan-b-peterson-podcast/id1184022695\n\n🔔 Don't Get Left Behind! If you're serious about personal growth, hit that subscribe button and turn on notifications. We release new, life-changing content daily.\n\n---\n\nDisclaimer: This video is for educational purposes only and is not a substitute for professional medical or psychological advice. If you are in crisis, please contact a licensed mental health professional in your country.\n\n#jordanpeterson #GoodHabits #ChangeYourLife #PersonalDevelopment #SelfImprovement #SuccessHabits #DailyRoutine #PsychologyLecture #MentalHealth #Motivation #lifeadvice", "Jordan Peterson: \"Good Habits to Change Your Life\"", "2b0ed1be-e5b0-4dc8-a80d-76fb0b3f26cd", 2021, false, "Uq79WcEY9y4", "https://www.youtube.com/watch?v=Uq79WcEY9y4", 39, "/downloads/Jordan Peterson Rules for Life/2026-05-27 Jordan Peterson: "Good Habits to Change Your Life"/Jordan Peterson: "Good Habits to Change Your Life" [Uq79WcEY9y4].mp4", false, false, false, 3, [], 1, ~U[2026-05-27 16:29:01Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Are you feeling stuck in a cycle of bad habits and wondering how to finally break free? This isn't another generic motivational video. In this powerful 33‑minute lecture, Dr. Jordan Peterson goes beyond simple advice and uncovers the deep psychology behind why we form habits—and the brutally honest process of replacing the ones that are silently destroying your life.\n\nYou'll learn why comfort is often your biggest enemy, how to use radical truth-telling as a tool for change, and the simple \"micro‑corrections\" that actually compound into a completely transformed future.\n\n---\n\n📌 IN THIS VIDEO (Timestamps):\n00:00 – Why You're Still Stuck (The Brutal Truth)\n12:45 – \"Have You Had Enough of Yourself?\" The Starting Point\n17:20 – The One Question That Exposes Your Bad Habits\n12:10 – Telling the Truth: Your Sharpest Tool for Change\n17:50 – Pursuing Meaning Over Quick Fixes\n23:15 – The Power of Tiny, \"Ridiculously Small\" Actions\n28:30 – Practical Steps to Start Before You Go to Bed Tonight\n31:00 – How to Stay Disciplined When Motivation Fades\n\n---\n\n🎯 KEY TAKEAWAYS FROM THIS LECTURE:\n• The hidden psychological cost of avoiding who you could become.\n• Why \"cleaning your room\" is the ultimate first step to taking control.\n• How to use brutal self-honesty to rewire your brain and your daily routine.\n• The link between personal responsibility, meaning, and mental health.\n• A concrete plan to build success habits that actually last.\n\n---\n\n🔗 NEXT STEPS & RECOMMENDED RESOURCES:\nIf this video hit something real in you, please LIKE, SUBSCRIBE, and SHARE it with someone who needs to hear it. Every action helps more people find the tools to change.\n\n📖 Further Learning:\n· Jordan Peterson's 12 Rules for Life: An Antidote to Chaos\n· Jordan Peterson's Beyond Order: 12 More Rules for Life\n\n📢 Connect with Dr. Jordan B. Peterson:\n· Official Website: https://www.jordanbpeterson.com/\n· Podcast: The Jordan B. Peterson Podcast\n· Instagram: @jordan.b.peterson\n· Twitter: @jordanbpeterson\n\n🎧 Listen to The Jordan B. Peterson Podcast:\n• Spotify: https://open.spotify.com/show/2bGpVpDx3FbjsGvHGHjHNn\n• Apple Podcasts: https://podcasts.apple.com/ca/podcast/the-jordan-b-peterson-podcast/id1184022695\n\n🔔 Don't Get Left Behind! If you're serious about personal growth, hit that subscribe button and turn on notifications. We release new, life-changing content daily.\n\n---\n\nDisclaimer: This video is for educational purposes only and is not a substitute for professional medical or psychological advice. If you are in crisis, please contact a licensed mental health professional in your country.\n\n#jordanpeterson #GoodHabits #ChangeYourLife #PersonalDevelopment #SelfImprovement #SuccessHabits #DailyRoutine #PsychologyLecture #MentalHealth #Motivation #lifeadvice", "Jordan Peterson: \"Good Habits to Change Your Life\"", 2021, false, "Uq79WcEY9y4", "https://www.youtube.com/watch?v=Uq79WcEY9y4", "/downloads/Jordan Peterson Rules for Life/2026-05-27 Jordan Peterson: "Good Habits to Change Your Life"/Jordan Peterson: "Good Habits to Change Your Life" [Uq79WcEY9y4].mp4", false, 3, ~U[2026-05-27 16:29:01Z]] 21:09:15.471 [debug] QUERY OK source="sources" db=0.2ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.472 [debug] QUERY OK source="media_items" db=0.4ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-06-12 21:28:38Z], 3] 21:09:15.473 [debug] QUERY OK source="media_items" db=1.2ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["In light of Dr. Jordan B. Peterson’s Birthday, we are launching his newest course, Nietzsche: Further Down the Rabbit Hole today, available now on Peterson Academy.\n\nIn this course, Dr. Peterson guides students through Friedrich Nietzsche’s influential work, Beyond Good and Evil, drawing out insights on human nature, self-deception, suffering, and the dangers of nihilism, herd mentality, and short-term gratification in modern life. We analyze Nietzsche’s critique of philosophy, morality, religion, and institutions, along with key ideas such as the will to power, master versus slave morality, the “death of God,” and the free spirit.\n\nDr. Peterson critically engages Nietzsche’s framework, highlighting both its depth and limits, and proposes an alternative grounded in voluntary responsibility, competence, honesty, and reciprocal cooperation, emphasizing that meaning and stability arise when individuals take maximal responsibility for their own existence.\n\nLearn more at www.petersonacademy.com", "Dr. Jordan B. Peterson | Nietzsche: Further Down the Rabbit Hole", "5b8689ca-f2a0-45ae-93a7-16bb1c47ead8", 4526, false, "329Hdnssh_s", "https://www.youtube.com/watch?v=329Hdnssh_s", 40, "/downloads/Peterson Academy/2026-06-12 Dr. Jordan B. Peterson | Nietzsche: Further Down the Rabbit Hole/Dr. Jordan B. Peterson | Nietzsche: Further Down the Rabbit Hole [329Hdnssh_s].mp4", false, false, false, 3, [], 1, ~U[2026-06-12 21:28:38Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "In light of Dr. Jordan B. Peterson’s Birthday, we are launching his newest course, Nietzsche: Further Down the Rabbit Hole today, available now on Peterson Academy.\n\nIn this course, Dr. Peterson guides students through Friedrich Nietzsche’s influential work, Beyond Good and Evil, drawing out insights on human nature, self-deception, suffering, and the dangers of nihilism, herd mentality, and short-term gratification in modern life. We analyze Nietzsche’s critique of philosophy, morality, religion, and institutions, along with key ideas such as the will to power, master versus slave morality, the “death of God,” and the free spirit.\n\nDr. Peterson critically engages Nietzsche’s framework, highlighting both its depth and limits, and proposes an alternative grounded in voluntary responsibility, competence, honesty, and reciprocal cooperation, emphasizing that meaning and stability arise when individuals take maximal responsibility for their own existence.\n\nLearn more at www.petersonacademy.com", "Dr. Jordan B. Peterson | Nietzsche: Further Down the Rabbit Hole", 4526, false, "329Hdnssh_s", "https://www.youtube.com/watch?v=329Hdnssh_s", "/downloads/Peterson Academy/2026-06-12 Dr. Jordan B. Peterson | Nietzsche: Further Down the Rabbit Hole/Dr. Jordan B. Peterson | Nietzsche: Further Down the Rabbit Hole [329Hdnssh_s].mp4", false, 3, ~U[2026-06-12 21:28:38Z]] 21:09:15.474 [debug] QUERY OK source="sources" db=0.3ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.474 [debug] QUERY OK source="media_items" db=0.3ms idle=4.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-13 16:01:00Z], 3] 21:09:15.477 [debug] QUERY OK source="media_items" db=1.6ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Jetzt bei OLAKALA mit dem Code PODCAST 10% sparen: https://www.olakala.de/ (Werbung)\n\nMit dem Code tg spart ihr 10% auf eure PROZIS Bestellung https://www.prozis.com/de/de (Werbung)\n\nHIER GIBTS DIE LETZTEN TICKETS FÜR MEINE LIVE SHOW:\n\nhttps://www.myticket.de/de/tim-gabel-tickets#10229735699477\n\nWir suchen dich! Jetzt bei G-IN bewerben: \nhttps://g-in-gmbh.de/#jobs\n \n📲 Dein individueller MCI Trainingsplan in 2 Minuten! Spare maximal mit dem Code: \"TIM\". Neukunden testen 7 Tage gratis! https://mci.sng.link/Dlusp/ttona?_smtype=3 (Werbung)\n\nProf. Dr. Reinhard Genzel ist Astrophysiker, Nobelpreisträger für Physik und Direktor am Max-Planck-Institut für extraterrestrische Physik in Garching. Er hat über 30 Jahre lang das Zentrum unserer Galaxie beobachtet und dabei bewiesen, was vorher nur Theorie war: Dort sitzt ein supermassives Schwarzes Loch mit der Masse von vier Millionen Sonnen. Dafür hat er 2020 den Nobelpreis bekommen.\nIn dieser Folge sprechen wir darüber, wie man etwas erforscht, das per Definition unsichtbar ist. Wie es sich anfühlt, wenn die gesamte Wissenschaftswelt einen auslacht und man trotzdem weitermacht. Was Einsteins Relativitätstheorie mit seiner Arbeit zu tun hat und warum Einstein selbst nicht an das geglaubt hat, was Genzel am Ende bewiesen hat. Wir reden über die größten ungelösten Fragen der Physik, über Dunkle Materie, Dunkle Energie und die Frage ob wir das Universum jemals wirklich verstehen werden.\n\nViel Spaß mit dieser Folge!\n\nGastvorschläge für Podcasts gerne in die Kommentare oder an timgabelpodcastgast@gmail.com\n\n► Zu Prof. Dr. Reinhard Genzel:\nhttps://www.nobel.mpg.de/de/reinhard-genzel\nhttps://bsky.app/profile/mpe-garching.bsky.social\nwww.linkedin.com/company/mpe-garching\nwww.instagram.com/mpe_garching/\n\n► Tim Gabel Podcast auf Spotify: https://open.spotify.com/show/1KHKsb92bs1qeitk6QR8zV?si=0278f4c514ab49ca\n► Instagram: https://www.instagram.com/tim_gabel/\n► TikTok: https://www.tiktok.com/@tim_gabel\n\n00:00 Die Faszination der Astrophysik\n22:45 Der steinige Weg zum Nobelpreis: Rückschläge und Durchbrüche\n42:15 Was genau ist ein Schwarzes Loch? (Einfach erklärt)\n01:08:40 Die Entdeckung von Sagittarius A*: Ein historischer Moment in der Wissenschaft\n01:35:20 Das größte ungelöste Rätsel des Universums\n02:04:10 Wo die Physik an ihre Grenzen stößt\n02:28:45 Gibt es außerirdisches Leben? Ein Nobelpreisträger antwortet\n02:51:30 Der wichtigste Rat für ambitionierte junge Menschen", "PHYSIK-NOBELPREISTRÄGER: Selbst Einstein hätte das nicht geglaubt (Prof. Dr. Reinhard Genzel)", "682e1fc8-e67d-466b-8f4e-23d2e20b32c6", 10828, false, "XJgZO7-OOP8", "https://www.youtube.com/watch?v=XJgZO7-OOP8", 41, "/downloads/Tim Gabel/2026-04-13 PHYSIK-NOBELPREISTRÄGER: Selbst Einstein hätte das nicht geglaubt (Prof. Dr. Reinhard Genzel)/PHYSIK-NOBELPREISTRÄGER: Selbst Einstein hätte das nicht geglaubt (Prof. Dr. Reinhard Genzel) [XJgZO7-OOP8].mp4", false, false, false, 3, [], 1, ~U[2026-04-13 16:01:00Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Jetzt bei OLAKALA mit dem Code PODCAST 10% sparen: https://www.olakala.de/ (Werbung)\n\nMit dem Code tg spart ihr 10% auf eure PROZIS Bestellung https://www.prozis.com/de/de (Werbung)\n\nHIER GIBTS DIE LETZTEN TICKETS FÜR MEINE LIVE SHOW:\n\nhttps://www.myticket.de/de/tim-gabel-tickets#10229735699477\n\nWir suchen dich! Jetzt bei G-IN bewerben: \nhttps://g-in-gmbh.de/#jobs\n \n📲 Dein individueller MCI Trainingsplan in 2 Minuten! Spare maximal mit dem Code: \"TIM\". Neukunden testen 7 Tage gratis! https://mci.sng.link/Dlusp/ttona?_smtype=3 (Werbung)\n\nProf. Dr. Reinhard Genzel ist Astrophysiker, Nobelpreisträger für Physik und Direktor am Max-Planck-Institut für extraterrestrische Physik in Garching. Er hat über 30 Jahre lang das Zentrum unserer Galaxie beobachtet und dabei bewiesen, was vorher nur Theorie war: Dort sitzt ein supermassives Schwarzes Loch mit der Masse von vier Millionen Sonnen. Dafür hat er 2020 den Nobelpreis bekommen.\nIn dieser Folge sprechen wir darüber, wie man etwas erforscht, das per Definition unsichtbar ist. Wie es sich anfühlt, wenn die gesamte Wissenschaftswelt einen auslacht und man trotzdem weitermacht. Was Einsteins Relativitätstheorie mit seiner Arbeit zu tun hat und warum Einstein selbst nicht an das geglaubt hat, was Genzel am Ende bewiesen hat. Wir reden über die größten ungelösten Fragen der Physik, über Dunkle Materie, Dunkle Energie und die Frage ob wir das Universum jemals wirklich verstehen werden.\n\nViel Spaß mit dieser Folge!\n\nGastvorschläge für Podcasts gerne in die Kommentare oder an timgabelpodcastgast@gmail.com\n\n► Zu Prof. Dr. Reinhard Genzel:\nhttps://www.nobel.mpg.de/de/reinhard-genzel\nhttps://bsky.app/profile/mpe-garching.bsky.social\nwww.linkedin.com/company/mpe-garching\nwww.instagram.com/mpe_garching/\n\n► Tim Gabel Podcast auf Spotify: https://open.spotify.com/show/1KHKsb92bs1qeitk6QR8zV?si=0278f4c514ab49ca\n► Instagram: https://www.instagram.com/tim_gabel/\n► TikTok: https://www.tiktok.com/@tim_gabel\n\n00:00 Die Faszination der Astrophysik\n22:45 Der steinige Weg zum Nobelpreis: Rückschläge und Durchbrüche\n42:15 Was genau ist ein Schwarzes Loch? (Einfach erklärt)\n01:08:40 Die Entdeckung von Sagittarius A*: Ein historischer Moment in der Wissenschaft\n01:35:20 Das größte ungelöste Rätsel des Universums\n02:04:10 Wo die Physik an ihre Grenzen stößt\n02:28:45 Gibt es außerirdisches Leben? Ein Nobelpreisträger antwortet\n02:51:30 Der wichtigste Rat für ambitionierte junge Menschen", "PHYSIK-NOBELPREISTRÄGER: Selbst Einstein hätte das nicht geglaubt (Prof. Dr. Reinhard Genzel)", 10828, false, "XJgZO7-OOP8", "https://www.youtube.com/watch?v=XJgZO7-OOP8", "/downloads/Tim Gabel/2026-04-13 PHYSIK-NOBELPREISTRÄGER: Selbst Einstein hätte das nicht geglaubt (Prof. Dr. Reinhard Genzel)/PHYSIK-NOBELPREISTRÄGER: Selbst Einstein hätte das nicht geglaubt (Prof. Dr. Reinhard Genzel) [XJgZO7-OOP8].mp4", false, 3, ~U[2026-04-13 16:01:00Z]] 21:09:15.477 [debug] QUERY OK source="sources" db=0.2ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.478 [debug] QUERY OK source="media_items" db=0.3ms idle=4.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-05-03 10:01:02Z], 3] 21:09:15.481 [debug] QUERY OK source="media_items" db=1.8ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Brauchst du Unterstützung? \nBesuche https://betterhelp.com/timgabel,\num 10 % Rabatt auf deinen ersten Monat der Beratung mit unserem Sponsor BetterHelp zu erhalten (Werbung)\n\nJetzt bei OLAKALA mit dem Code PODCAST 10% sparen: https://www.olakala.de/ (Werbung)\n\nMit meinem Code TG bekommst du mindestens 10 % Rabatt bei PROZIS + Goodies: https://prozis.com/1L4g5 (Werbung)\n\nWir suchen dich! Jetzt bei G-IN bewerben: \nhttps://g-in-gmbh.de/#jobs\n \n📲 Dein individueller MCI Trainingsplan in 2 Minuten! Spare maximal mit dem Code: \"TIM\". Neukunden testen 7 Tage gratis! https://mci.sng.link/Dlusp/ttona?_smtype=3 (Werbung)\n\nChristian Solmecke ist der wahrscheinlich bekannteste Anwalt Deutschlands und das fast ausschließlich, weil er vor 15 Jahren als einer der ersten auf die Idee kam, Jura auf YouTube zu erklären. Heute hat sein Kanal über eine Million Abonnenten, seine Kanzlei WBS.LEGAL bearbeitet Massenverfahren mit Zehntausenden Mandanten, und 60 bis 70 Prozent seiner Mandate kommen über den Kanal rein.\nIn der Folge spricht Christian offen über das Geschäftsmodell hinter dem YouTube-Anwalt, die deutsche Abmahn-Industrie und warum er an einer Hochschule Markenrecht ausgerechnet am Beispiel von ApoRed und Drachenlord unterrichtet. \n\nWir gehen den Fall Collien Fernandes und das neue Deepfake-Gesetz durch, er erzählt von der schwersten Krise seiner Kanzlei kurz vor Weihnachten 2024 und davon, wie er als Angestellter mehr Umsatz reingeholt hat als beide Partner zusammen und damit seinen Weg zum Kanzlei-Partner erzwungen hat. \n\nWas kostet Christian als Anwalt eigentlich, macht KI seinen Beruf bald überflüssig, und kann man ChatGPT inzwischen wirklich als Anwalt-Ersatz nutzen?\n\nViel Spaß mit dem Podcast!\n\nGastvorschläge für Podcasts gerne in die Kommentare oder an timgabelpodcastgast@gmail.com\n\n► Zu Christian Solmecke: @wbs_legal \n\n► Tim Gabel Podcast auf Spotify: https://open.spotify.com/show/1KHKsb92bs1qeitk6QR8zV?si=0278f4c514ab49ca\n► Instagram: https://www.instagram.com/tim_gabel/\n► TikTok: https://www.tiktok.com/@tim_gabel\n\n00:00:00 Das Millionen-Business YouTube-Anwalt\n00:15:16 Die deutsche Abmahn-Industrie\n00:40:26 ApoRed & Drachenlord in der Uni\n00:57:30 Strafbare Deepfakes: Der Fall Collien Fernandes\n01:34:18 Die schwerste Krise seiner Kanzlei\n02:01:17 Der harte Weg zum Kanzlei-Partner\n02:39:25 Macht KI Anwälte bald arbeitslos?\n02:58:11 Wie viel kostet Christian Solmecke als Anwalt?\n03:08:20 Kann man ChatGPT als Anwalt nutzen?", "CHRISTIAN SOLMECKE: Der Fall ApoRed, Drachenlord & wie ich von Karl Ess mein Geld zurückbekomme", "9d0014d6-36da-4ca9-8651-d256d360e169", 12998, false, "cadM-LGDyAM", "https://www.youtube.com/watch?v=cadM-LGDyAM", 42, "/downloads/Tim Gabel/2026-05-03 CHRISTIAN SOLMECKE: Der Fall ApoRed, Drachenlord & wie ich von Karl Ess mein Geld zurückbekomme/CHRISTIAN SOLMECKE: Der Fall ApoRed, Drachenlord & wie ich von Karl Ess mein Geld zurückbekomme [cadM-LGDyAM].mp4", false, false, false, 3, [], 2, ~U[2026-05-03 10:01:02Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Brauchst du Unterstützung? \nBesuche https://betterhelp.com/timgabel,\num 10 % Rabatt auf deinen ersten Monat der Beratung mit unserem Sponsor BetterHelp zu erhalten (Werbung)\n\nJetzt bei OLAKALA mit dem Code PODCAST 10% sparen: https://www.olakala.de/ (Werbung)\n\nMit meinem Code TG bekommst du mindestens 10 % Rabatt bei PROZIS + Goodies: https://prozis.com/1L4g5 (Werbung)\n\nWir suchen dich! Jetzt bei G-IN bewerben: \nhttps://g-in-gmbh.de/#jobs\n \n📲 Dein individueller MCI Trainingsplan in 2 Minuten! Spare maximal mit dem Code: \"TIM\". Neukunden testen 7 Tage gratis! https://mci.sng.link/Dlusp/ttona?_smtype=3 (Werbung)\n\nChristian Solmecke ist der wahrscheinlich bekannteste Anwalt Deutschlands und das fast ausschließlich, weil er vor 15 Jahren als einer der ersten auf die Idee kam, Jura auf YouTube zu erklären. Heute hat sein Kanal über eine Million Abonnenten, seine Kanzlei WBS.LEGAL bearbeitet Massenverfahren mit Zehntausenden Mandanten, und 60 bis 70 Prozent seiner Mandate kommen über den Kanal rein.\nIn der Folge spricht Christian offen über das Geschäftsmodell hinter dem YouTube-Anwalt, die deutsche Abmahn-Industrie und warum er an einer Hochschule Markenrecht ausgerechnet am Beispiel von ApoRed und Drachenlord unterrichtet. \n\nWir gehen den Fall Collien Fernandes und das neue Deepfake-Gesetz durch, er erzählt von der schwersten Krise seiner Kanzlei kurz vor Weihnachten 2024 und davon, wie er als Angestellter mehr Umsatz reingeholt hat als beide Partner zusammen und damit seinen Weg zum Kanzlei-Partner erzwungen hat. \n\nWas kostet Christian als Anwalt eigentlich, macht KI seinen Beruf bald überflüssig, und kann man ChatGPT inzwischen wirklich als Anwalt-Ersatz nutzen?\n\nViel Spaß mit dem Podcast!\n\nGastvorschläge für Podcasts gerne in die Kommentare oder an timgabelpodcastgast@gmail.com\n\n► Zu Christian Solmecke: @wbs_legal \n\n► Tim Gabel Podcast auf Spotify: https://open.spotify.com/show/1KHKsb92bs1qeitk6QR8zV?si=0278f4c514ab49ca\n► Instagram: https://www.instagram.com/tim_gabel/\n► TikTok: https://www.tiktok.com/@tim_gabel\n\n00:00:00 Das Millionen-Business YouTube-Anwalt\n00:15:16 Die deutsche Abmahn-Industrie\n00:40:26 ApoRed & Drachenlord in der Uni\n00:57:30 Strafbare Deepfakes: Der Fall Collien Fernandes\n01:34:18 Die schwerste Krise seiner Kanzlei\n02:01:17 Der harte Weg zum Kanzlei-Partner\n02:39:25 Macht KI Anwälte bald arbeitslos?\n02:58:11 Wie viel kostet Christian Solmecke als Anwalt?\n03:08:20 Kann man ChatGPT als Anwalt nutzen?", "CHRISTIAN SOLMECKE: Der Fall ApoRed, Drachenlord & wie ich von Karl Ess mein Geld zurückbekomme", 12998, false, "cadM-LGDyAM", "https://www.youtube.com/watch?v=cadM-LGDyAM", "/downloads/Tim Gabel/2026-05-03 CHRISTIAN SOLMECKE: Der Fall ApoRed, Drachenlord & wie ich von Karl Ess mein Geld zurückbekomme/CHRISTIAN SOLMECKE: Der Fall ApoRed, Drachenlord & wie ich von Karl Ess mein Geld zurückbekomme [cadM-LGDyAM].mp4", false, 3, ~U[2026-05-03 10:01:02Z]] 21:09:15.481 [debug] QUERY OK source="sources" db=0.3ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.482 [debug] QUERY OK source="media_items" db=0.3ms idle=4.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-30 13:00:21Z], 3] 21:09:15.485 [debug] QUERY OK source="media_items" db=2.2ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, my guest is Dr. Jordan Peterson, Ph.D., psychologist, professor emeritus at the University of Toronto, best-selling author, and prominent online educator. We discuss the biology of human emotions and motivations, healthy versus destructive impulses, addictions, and generative drives. Topics include how brain states shape decision-making—for better or worse—and how religion and culture can guide us toward and through the best paths in life. \n\nWe also explore the innate human drive to create \"impact at a distance\" and how it influences social interactions, educational pursuits, career choices, and relationships. Additional subjects include morality, social media, politics, the human appetite for drama, and the importance of embracing responsibility as a form of adventure to avoid wasting time. \n\nListeners will gain practical knowledge from psychology, neuroscience, philosophy, and religion.\n\nRead the full show notes: https://go.hubermanlab.com/3qKWtpF\n\nGet summaries, clips, and insights from this episode with Ask Huberman Lab, our zero-cost chat-based tool: https://go.hubermanlab.com/OKw9EDv\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman\nDavid: https://davidprotein.com/huberman\nLevels: https://levels.link/huberman\nROKA: https://roka.com/huberman\nFunction: https://functionhealth.com/huberman\nLMNT: https://drinklmnt.com/huberman\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nTwitter: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*More Huberman Lab*\nHuberman Lab Premium: https://go.hubermanlab.com/premium\nHuberman Lab Merch: https://go.hubermanlab.com/merch\n\n*Dr. Jordan Peterson*\nWebsite: https://www.jordanbpeterson.com \nUniversity of Toronto academic profile: https://www.psych.utoronto.ca/people/directories/all-faculty/jordan-peterson \nBooks: https://amzlink.to/az0woBkDzpJTZ\nThe Jordan B. Peterson Podcast: https://www.jordanbpeterson.com/podcast\nPeterson Academy: https://petersonacademy.com \nTour: https://www.jordanbpeterson.com/events\nThe Gospels: https://www.dailywire.com/show/the-gospels \nYouTube: https://www.youtube.com/c/jordanpetersonvideos \nInstagram: https://www.instagram.com/jordan.b.peterson \nX: https://x.com/jordanbpeterson \nTikTok: https://www.tiktok.com/@dr.jordan.b.peterson \n\n*Timestamps*\n00:00:00 Dr. Jordan Peterson\n00:02:32 Sponsors: David & Levels\n00:05:19 Brain, Impulses, Integration, Personalities\n00:14:08 Personalities, Motivation\n00:18:18 Context & Children; Religion, Motivation & Personality\n00:24:08 Hypothalamus, Context, Maturation\n00:29:46 Psychopathy, Kids & Aggressive Behavior & Socialization\n00:33:37 Polytheistic & Monotheistic Religions; Rage, Sociopathy & Addiction\n00:41:05 Sponsors: AG1 & ROKA\n00:43:58 Belief in God, Addiction\n00:50:34 Pornography, Dopamine, Processed Foods\n00:56:20 Clean Diet, Satiety; Fundamental Pleasures, Food, Sexuality\n01:04:44 Power, Target, Sin\n01:06:46 Sponsor: Function\n01:08:33 Abraham; Call to Adventure, Success, Respect, Community\n01:21:30 Wisdom, Noah; Religion, Incentive Structure & Motivation\n01:26:52 Dopamine & Target, Sin; Frontal Eye Fields\n01:31:59 Meta-Target & Goals, Sermon on the Mount; Fears\n01:40:36 Sponsor: LMNT\n01:41:51 Ultimate vs. Local Victory, Pearl of Great Price\n01:45:05 Time Scales & Rewards; Entropy, Dopamine & Goals\n01:51:20 Pornography, Effortless Gratification; Revelation & Sexuality Demise\n02:02:33 Adventure & Responsibility, Sacrifice; Tool: Ordering Room\n02:12:02 Storytelling, Science, Career Advancement, Pursuing Truth\n02:23:46 Abraham & Adventure; Purposeful Satisfaction, Podcast\n02:28:13 Finding Your Calling, Tools: Calling & Conscience; Creating Order\n02:35:06 Order vs. Chaos; Public Shootings, Narcis" <> ..., "How to Best Guide Your Life Decisions & Path | Dr. Jordan Peterson", "b71eca9b-7451-43fd-b7e7-6f83e22b4d43", 13870, false, "K0hkhbGYaGQ", "https://www.youtube.com/watch?v=K0hkhbGYaGQ", 43, "/downloads/Andrew Huberman/2024-12-30 How to Best Guide Your Life Decisions & Path | Dr. Jordan Peterson/How to Best Guide Your Life Decisions & Path | Dr. Jordan Peterson [K0hkhbGYaGQ].mp4", false, false, false, 3, [], 1, ~U[2024-12-30 13:00:21Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, my guest is Dr. Jordan Peterson, Ph.D., psychologist, professor emeritus at the University of Toronto, best-selling author, and prominent online educator. We discuss the biology of human emotions and motivations, healthy versus destructive impulses, addictions, and generative drives. Topics include how brain states shape decision-making—for better or worse—and how religion and culture can guide us toward and through the best paths in life. \n\nWe also explore the innate human drive to create \"impact at a distance\" and how it influences social interactions, educational pursuits, career choices, and relationships. Additional subjects include morality, social media, politics, the human appetite for drama, and the importance of embracing responsibility as a form of adventure to avoid wasting time. \n\nListeners will gain practical knowledge from psychology, neuroscience, philosophy, and religion.\n\nRead the full show notes: https://go.hubermanlab.com/3qKWtpF\n\nGet summaries, clips, and insights from this episode with Ask Huberman Lab, our zero-cost chat-based tool: https://go.hubermanlab.com/OKw9EDv\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman\nDavid: https://davidprotein.com/huberman\nLevels: https://levels.link/huberman\nROKA: https://roka.com/huberman\nFunction: https://functionhealth.com/huberman\nLMNT: https://drinklmnt.com/huberman\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nTwitter: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*More Huberman Lab*\nHuberman Lab Premium: https://go.hubermanlab.com/premium\nHuberman Lab Merch: https://go.hubermanlab.com/merch\n\n*Dr. Jordan Peterson*\nWebsite: https://www.jordanbpeterson.com \nUniversity of Toronto academic profile: https://www.psych.utoronto.ca/people/directories/all-faculty/jordan-peterson \nBooks: https://amzlink.to/az0woBkDzpJTZ\nThe Jordan B. Peterson Podcast: https://www.jordanbpeterson.com/podcast\nPeterson Academy: https://petersonacademy.com \nTour: https://www.jordanbpeterson.com/events\nThe Gospels: https://www.dailywire.com/show/the-gospels \nYouTube: https://www.youtube.com/c/jordanpetersonvideos \nInstagram: https://www.instagram.com/jordan.b.peterson \nX: https://x.com/jordanbpeterson \nTikTok: https://www.tiktok.com/@dr.jor (truncated) 21:09:15.486 [debug] QUERY OK source="sources" db=0.2ms idle=7.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.486 [debug] QUERY OK source="media_items" db=0.3ms idle=5.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-05 16:00:54Z], 3] 21:09:15.489 [debug] QUERY OK source="media_items" db=1.6ms idle=5.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dr Andrew Huberman is a neuroscientist, Associate Professor at the Stanford University School of Medicine and a podcaster.\n\nThere’s an overwhelming amount of information on how to level up your body and mind, and it can be difficult to know where the latest science truly stands. Thankfully, Dr. Andrew Huberman breaks down the research on habits, the brain, sleep, supplements, and his personal go-to protocols.\n\nExpect to learn why high cortisol isn’t actually a bad think to have a lot of, Andrew’s advice on how to overcome burnout, what the new science of better sleep would be, how to make and set better habits easier, what Andrew thinks of the new “protein in everything” trend, the next wave of supplements to take to optimise your life, Andrew’s take on religion and faith and much more…\n\n-\n\n0:00 How Cortisol Programs Our Day\n9:22 Understanding Stress & Burnout\n14:16 The Silent Cost of Sleep Debt\n21:47 Breakthrough Secrets for Better Sleep\n36:19 Should We Sleep With Our Head Raised?\n51:44 The #1 Hack for Deep Focus\n01:08:08 The Science of Spirituality\n01:25:28 How Much Can We Control Our Internal World?\n01:33:38 Why Understanding People Changes Everything\n01:46:35 Healthy Media Habits\n02:06:28 The Next Breakthrough Supplement\n02:25:09 The Nutrient That Heals Your Second Brain\n02:31:24 Hacking Your Mitochondrial DNA\n02:39:55 Making Sense of Complex Health Issues\n03:04:02 Andrew’s Upcoming Book\n\n-\n\nGet a Free Sample Pack of LMNT’s most popular flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\nGet a free bottle of D3K2, an AG1 Welcome Kit, and more when you first subscribe at https://ag1.info/modernwisdom\n\nGet 35% off your first subscription on the best supplements from Momentous at https://livemomentous.com/modernwisdom\n\nNew pricing since recording: Function is now just $365, plus get $25 off at https://functionhealth.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spotify.modernwisdom.com or Apple Podcasts - https://apple.modernwisdom.com\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "These Habits Are Much Better than People Realise - Dr Andrew Huberman (4K)", "da62b7a2-2222-4673-a5ff-0f6ee5558e8a", 11136, false, "YvWU4Zd-IMc", "https://www.youtube.com/watch?v=YvWU4Zd-IMc", 44, "/downloads/Chris Williamson/2026-01-05 These Habits Are Much Better than People Realise - Dr Andrew Huberman (4K)/These Habits Are Much Better than People Realise - Dr Andrew Huberman (4K) [YvWU4Zd-IMc].mp4", false, false, false, 3, [], 2, ~U[2026-01-05 16:00:54Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Dr Andrew Huberman is a neuroscientist, Associate Professor at the Stanford University School of Medicine and a podcaster.\n\nThere’s an overwhelming amount of information on how to level up your body and mind, and it can be difficult to know where the latest science truly stands. Thankfully, Dr. Andrew Huberman breaks down the research on habits, the brain, sleep, supplements, and his personal go-to protocols.\n\nExpect to learn why high cortisol isn’t actually a bad think to have a lot of, Andrew’s advice on how to overcome burnout, what the new science of better sleep would be, how to make and set better habits easier, what Andrew thinks of the new “protein in everything” trend, the next wave of supplements to take to optimise your life, Andrew’s take on religion and faith and much more…\n\n-\n\n0:00 How Cortisol Programs Our Day\n9:22 Understanding Stress & Burnout\n14:16 The Silent Cost of Sleep Debt\n21:47 Breakthrough Secrets for Better Sleep\n36:19 Should We Sleep With Our Head Raised?\n51:44 The #1 Hack for Deep Focus\n01:08:08 The Science of Spirituality\n01:25:28 How Much Can We Control Our Internal World?\n01:33:38 Why Understanding People Changes Everything\n01:46:35 Healthy Media Habits\n02:06:28 The Next Breakthrough Supplement\n02:25:09 The Nutrient That Heals Your Second Brain\n02:31:24 Hacking Your Mitochondrial DNA\n02:39:55 Making Sense of Complex Health Issues\n03:04:02 Andrew’s Upcoming Book\n\n-\n\nGet a Free Sample Pack of LMNT’s most popular flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\nGet a free bottle of D3K2, an AG1 Welcome Kit, and more when you first subscribe at https://ag1.info/modernwisdom\n\nGet 35% off your first subscription on the best supplements from Momentous at https://livemomentous.com/modernwisdom\n\nNew pricing since recording: Function is now just $365, plus get $25 off at https://functionhealth.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spotify.modernwisdom.com or Apple Podcasts - https://apple.modernwisdom.com\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "These Habits Are Much Better than People Realise - Dr Andrew Huberman (4K)", 11136, false, "YvWU4Zd-IMc", "https://www.youtube.com/watch?v=YvWU4Zd-IMc", "/downloads/Chris Williamson/2026-01-05 These Habits Are Much Better than People Realise - Dr Andrew Huberman (4K)/These Habits Are Much Better than People Realise - Dr Andrew Huberman (4K) [YvWU4Zd-IMc].mp4", false, 3, ~U[2026-01-05 16:00:54Z]] 21:09:15.489 [debug] QUERY OK source="sources" db=0.2ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.490 [debug] QUERY OK source="media_items" db=0.3ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-25 12:00:56Z], 3] 21:09:15.493 [debug] QUERY OK source="media_items" db=2.0ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n My guest is \u2060Dr. David DeSteno, PhD\u2060, a professor of psychology at Northeastern University. We discuss science, God and religion, including what science can and can’t reveal about the existence of God and where religious faith and science do and do not align. We also discuss why questions about life’s origins, miracles and the afterlife have persisted across time. Dr. DeSteno explains how religious rituals cause meaningful improvements in mental and physical health and how prayer and gratitude can markedly reduce stress, increase honesty and compassion and buffer against loneliness and despair. Finally, we explore what distinguishes religions and mission-based communities from cults, and we discuss the role that communities such as 12-step and Burning Man play in modern life.\n\nEpisode show notes: https://go.hubermanlab.com/wXf7nNR\n\n*Thank you to our sponsors*\nAG1: \u2060https://drinkag1.com/huberman\u2060\nOur Place: \u2060https://fromourplace.com/huberman\u2060\nLMNT: \u2060https://drinklmnt.com/huberman\u2060\nEight Sleep: \u2060https://eightsleep.com/huberman\u2060\nFunction: \u2060https://functionhealth.com/huberman\u2060\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. David DeSteno*\nWebsite: https://davedesteno.com\nNortheastern University academic profile: https://cos.northeastern.edu/people/david-desteno\nHow God Works (book): https://amzn.to/4njja27\nHow God Works (Podcast): https://www.howgodworks.org\nBooks: https://amzn.to/3HRWIhh\nGoogle Scholar: https://scholar.google.com/citations?user=N-kiWT4AAAAJ \nX: https://x.com/daviddesteno \nInstagram: https://www.instagram.com/howgodworkspod\nBlueSky: https://bsky.app/profile/daviddesteno.bsky.social \nLinkedIn: https://www.linkedin.com/in/david-desteno-016ab6110 \n\n*Timestamps*\n00:00:00 David DeSteno\n00:02:10 Science & Belief in God, Does God Exist?\n00:07:06 Universe Origins & Scientific Questions; Religion & Life/Health Benefits\n00:15:16 Sponsors: Our Place & LMNT\n00:18:23 Russell's Teapot, “Overbelief”, Faith; Religio-prospecting, Traditional Practices\n00:26:49 Mediation & Compassion, Prayer & Stress Relief, Tools: Meditation, Prayer\n00:34:40 Superstition, Prayers & Rituals; Mourning Rituals, Eulogies, Shiva, Connection\n00:43:58 Grieving & Different Religious Traditions\n00:47:15 Sponsors: AG1 & Eight Sleep\n00:50:12 God vs Religion?; Prayer, Community, Religious Rituals & Ideals\n00:56:17 Psychedelics, Ego Death, Right vs Left-Handed Roots\n01:01:24 Good & Evil; Lies & Cheating; Gratitude & Prayer\n01:11:03 Loneliness, Community & Religion, Relationship with God & “3AM Friend”\n01:16:25 Sponsor: Function\n01:18:12 Feeling God; Intelligent Design, Evolution, Eye; Awe\n01:25:21 Overwhelm & Spiritual Experiences, Awe Despite Understanding\n01:31:01 Fear of Death, Afterlife, Tool: Contemplating Death\n01:37:11 Time Perception, Connectedness, Traditional Practices\n01:42:53 Addiction; 12-Step Programs & Surrender to a Higher Power\n01:49:02 New Religions, Burning Man, Modern Spiritual Experiences, Cults\n01:58:06 Cults vs Religions, Religious Interpretation & Reorientation \n02:03:56 AI, Technology, Religion & Intelligence; Religious “Branding”\n02:11:05 Religion Figures & Flaws, Direct Experience of God\n02:15:13 Finding a Belief System, Embracing Religious Practices, Tool: Sampling Religions\n02:21:40 Zero-Cost Support, YouTube, Spotify & Apple Follow & Reviews, Sponsors, YouTube Feedback, Protocols Book, Social Media, Neural Network Newsletter\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "Science & Health Benefits of Belief in God & Religion | Dr. David DeSteno", "3fd18e55-ac0b-4abb-8633-fc4a73b01d55", 8658, false, "Whe2Jh9q6jI", "https://www.youtube.com/watch?v=Whe2Jh9q6jI", 45, "/downloads/Andrew Huberman/2025-08-25 Science & Health Benefits of Belief in God & Religion | Dr. David DeSteno/Science & Health Benefits of Belief in God & Religion | Dr. David DeSteno [Whe2Jh9q6jI].mp4", false, false, false, 3, [], 1, ~U[2025-08-25 12:00:56Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n My guest is \u2060Dr. David DeSteno, PhD\u2060, a professor of psychology at Northeastern University. We discuss science, God and religion, including what science can and can’t reveal about the existence of God and where religious faith and science do and do not align. We also discuss why questions about life’s origins, miracles and the afterlife have persisted across time. Dr. DeSteno explains how religious rituals cause meaningful improvements in mental and physical health and how prayer and gratitude can markedly reduce stress, increase honesty and compassion and buffer against loneliness and despair. Finally, we explore what distinguishes religions and mission-based communities from cults, and we discuss the role that communities such as 12-step and Burning Man play in modern life.\n\nEpisode show notes: https://go.hubermanlab.com/wXf7nNR\n\n*Thank you to our sponsors*\nAG1: \u2060https://drinkag1.com/huberman\u2060\nOur Place: \u2060https://fromourplace.com/huberman\u2060\nLMNT: \u2060https://drinklmnt.com/huberman\u2060\nEight Sleep: \u2060https://eightsleep.com/huberman\u2060\nFunction: \u2060https://functionhealth.com/huberman\u2060\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Dr. David DeSteno*\nWebsite: https://davedesteno.com\nNortheastern University academic profile: https://cos.northeastern.edu/people/david-desteno\nHow God Works (book): https://amzn.to/4njja27\nHow God Works (Podcast): https://www.howgodworks.org\nBooks: https://amzn.to/3HRWIhh\nGoogle Scholar: https://scholar.google.com/citations?user=N-kiWT4AAAAJ \nX: https://x.com/daviddesteno \nInstagram: https://www.instagram.com/howgodworkspod\nBlueSky: https://bsky.app/profile/daviddesteno.bsky.social \nLinkedIn: https://www.linkedin.com/in/david-desteno-016ab6110 \n\n*Timestamps*\n00:00:00 David DeSteno\n00:02:10 Science & Belief in God, Does God Exist?\n00:07:06 Universe Origins & Scientific Questions; Religion & Life/Health Benefits\n00:15:16 Sponsors: Our Place & LMNT\n00:18:23 Russell's Teapot, “Overbelief”, Faith; Religio-prospecting, Traditional Practices\n00:26:49 Mediation & Compassion, Prayer & Stress Relief, Tools: Meditation, Prayer\n00:34:40 Superstition, Prayers & Rituals; Mourning Rituals, Eulogies, Shiva, Connection\n00:43:58 Grieving & Different Religious Traditions\n00:47:15 Sponsors: AG1 & Eight Sleep\n00 (truncated) 21:09:15.493 [debug] QUERY OK source="sources" db=0.2ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.494 [debug] QUERY OK source="media_items" db=0.3ms idle=5.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-05 13:01:25Z], 3] 21:09:15.809 [debug] QUERY OK source="media_items" db=213.7ms idle=105.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n James Clear is an expert on behavioral change and habits and the author of the bestselling book \u2060Atomic Habits\u2060. We discuss the best ways to build new healthy habits and end bad ones without relying on motivation or willpower. Rather than list off categories of tools or acronyms, James explains how anchoring the changes you want to make in your identity and physical environment allows you to make desired changes quickly and ones that stick. Whether your goal is better fitness and physical health, productivity or mental health, you'll learn actionable, zero-cost protocols to build powerful and meaningful habits.\n\nEpisode show notes: https://go.hubermanlab.com/mi0yht0\n\n*Thank you to our sponsors*\nAG1: \u2060https://drinkag1.com/huberman\nLingo: \u2060https://hellolingo.com/huberman\nWealthfront*: \u2060https://wealthfront.com/huberman\nJoovv: \u2060https://joovv.com/huberman\nEight Sleep: \u2060https://eightsleep.com/huberman\nFunction: \u2060https://functionhealth.com/huberman\n\n*James Clear*\nWebsite: https://jamesclear.com\nNewsletter: https://jamesclear.com/3-2-1\nBooks: https://amzlink.to/az0enLjjDsO0c\nAtoms App: https://atoms.jamesclear.com\nMasterClass: https://www.masterclass.com/classes/small-habits-that-make-a-big-impact-on-your-life \nX: https://x.com/jamesclear\nInstagram: https://www.instagram.com/jamesclear\nThreads: https://www.threads.com/@jamesclear\nFacebook: https://www.facebook.com/jamesclear\nLinkedIn: https://www.linkedin.com/in/jamesclear\n\n*Timestamps*\n00:00:00 James Clear\n00:02:57 Common Habits, Tool: Habit Success & Getting Started\n00:06:16 Make Starting a Habit Easier, Tool: 4 Laws of Behavior Change\n00:10:18 Sponsors: Lingo & Wealthfront\n00:13:26 Writing Habits, Seasons & Flexibility; Adaptability, Tool: Bad Day Plan\n00:18:42 Consistency, Flow vs Grind, Master Showing Up, Learning & Practice\n00:24:54 Chunking, Getting Started at Gym\n00:28:01 Flow Don’t Fight, Dissatisfaction & Effort, Tool: Identity-Based Habits\n00:34:10 Friction, Competition & Effort; Credentials\n00:39:38 Make Effort Rewarding, Mindset, Tools: Previsualization, Emphasize Positives\n00:45:59 Sponsors: AG1 & Joovv\n00:48:56 Reflection & Learning, Tool: Self-Testing; Perfectionism, Tool: Curiosity\n00:55:18 Striving vs Relaxation, Balance, Tool: Turn On/Off; Hiking, Nature Reset\n01:04:20 Identity & Professional Pursuits; Choosing New Projects; Clinging to Identity\n01:14:24 Sponsor: Eight Sleep\n01:15:42 Criticism; Identity & Growth\n01:21:47 Failure, Identity, Sports, Tool: Rebounding & Reaching; Public Failures\n01:30:03 Daily Habits, Tools: Day in Quarters; Never Miss Twice; Meal Timing\n01:38:22 Daily Habit Timing & Sequencing, Tool: Mindfully Choose Inputs\n01:45:37 Creativity, Specialization vs Generalization; Books\n01:51:31 Sponsor: Function\n01:53:18 Habits & Context, Environmental Cues, Tools for Minimizing Phone Use\n02:02:01 Bad Habits, Checking Phone, Tools for Breaking Bad Habits\n02:08:21 Physical & Social Environment, New Habits, Tool: Join/Create Groups\n02:18:40 Family, Habits; Kids & Parenting, Tools: Stimulus; Good Conditions\n02:26:05 Impact of Habits, Habits as Solutions; Upcoming Projects\n02:32:45 Zero-Cost Support, YouTube, Spotify & Apple Follow, Reviews & Feedback, Sponsors, Protocols Book, Social Media, Neural Network Newsletter\n\n_*This experience may not be representative of other Wealthfront clients, and there is no guarantee of future performance or success. Experiences will vary. Andrew Huberman receives cash compensation from Wealthfront Brokerage for paid testimonials in his podcast, creating a conflict of interest. The Cash Account, which is not a deposit account, is offered by Wealthfront Brokerage LLC, member FINRA/SIPC. Wealthfront Brokerage is not a bank. The base APY is 3.25% on cash deposits as of December 19, 2025, is representative, subject to change, and requires no minimum. If eligible for the overall boosted rate of 3.90% offered in connection with this promo, your boosted rate is also subject to change if the base rate decreases duri" <> ..., "Best Ways to Build Better Habits & Break Bad Ones | James Clear", "aea70b5a-d923-4a8e-a7c9-1fdcd0b35c84", 9319, false, "bdsc3Spm6Sw", "https://www.youtube.com/watch?v=bdsc3Spm6Sw", 46, "/downloads/Andrew Huberman/2026-01-05 Best Ways to Build Better Habits & Break Bad Ones | James Clear/Best Ways to Build Better Habits & Break Bad Ones | James Clear [bdsc3Spm6Sw].mp4", false, false, false, 3, [], 2, ~U[2026-01-05 13:01:25Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n James Clear is an expert on behavioral change and habits and the author of the bestselling book \u2060Atomic Habits\u2060. We discuss the best ways to build new healthy habits and end bad ones without relying on motivation or willpower. Rather than list off categories of tools or acronyms, James explains how anchoring the changes you want to make in your identity and physical environment allows you to make desired changes quickly and ones that stick. Whether your goal is better fitness and physical health, productivity or mental health, you'll learn actionable, zero-cost protocols to build powerful and meaningful habits.\n\nEpisode show notes: https://go.hubermanlab.com/mi0yht0\n\n*Thank you to our sponsors*\nAG1: \u2060https://drinkag1.com/huberman\nLingo: \u2060https://hellolingo.com/huberman\nWealthfront*: \u2060https://wealthfront.com/huberman\nJoovv: \u2060https://joovv.com/huberman\nEight Sleep: \u2060https://eightsleep.com/huberman\nFunction: \u2060https://functionhealth.com/huberman\n\n*James Clear*\nWebsite: https://jamesclear.com\nNewsletter: https://jamesclear.com/3-2-1\nBooks: https://amzlink.to/az0enLjjDsO0c\nAtoms App: https://atoms.jamesclear.com\nMasterClass: https://www.masterclass.com/classes/small-habits-that-make-a-big-impact-on-your-life \nX: https://x.com/jamesclear\nInstagram: https://www.instagram.com/jamesclear\nThreads: https://www.threads.com/@jamesclear\nFacebook: https://www.facebook.com/jamesclear\nLinkedIn: https://www.linkedin.com/in/jamesclear\n\n*Timestamps*\n00:00:00 James Clear\n00:02:57 Common Habits, Tool: Habit Success & Getting Started\n00:06:16 Make Starting a Habit Easier, Tool: 4 Laws of Behavior Change\n00:10:18 Sponsors: Lingo & Wealthfront\n00:13:26 Writing Habits, Seasons & Flexibility; Adaptability, Tool: Bad Day Plan\n00:18:42 Consistency, Flow vs Grind, Master Showing Up, Learning & Practice\n00:24:54 Chunking, Getting Started at Gym\n00:28:01 Flow Don’t Fight, Dissatisfaction & Effort, Tool: Identity-Based Habits\n00:34:10 Friction, Competition & Effort; Credentials\n00:39:38 Make Effort Rewarding, Mindset, Tools: Previsualization, Emphasize Positives\n00:45:59 Sponsors: AG1 & Joovv\n00:48:56 Reflection & Learning, Tool: Self-Testing; Perfectionism, Tool: Curiosity\n00:55:18 Striving vs Relaxation, Balance, Tool: Turn On/Off; Hiking, Nature Reset\n01:04:20 Identity & Professional Pursuits; Choosing New Projects; Clinging to Identity\n01:14:24 Sponsor: Eight Sleep\n01:15:42 Criticism; Identity & Growth\n01:21:47 Failure, Identity, Sports, Tool: Rebounding & Reaching; Public Failu (truncated) 21:09:15.810 [debug] QUERY OK source="sources" db=0.2ms idle=319.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.810 [debug] QUERY OK source="media_items" db=0.3ms idle=317.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-05-28 03:30:24Z], 3] 21:09:15.816 [debug] QUERY OK source="media_items" db=4.5ms idle=317.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Watch Exodus available exclusively on DailyWire+: https://bit.ly/3UgQLe6\n\nLecture II in my Psychological Significance of the Biblical Stories from May 23 at Isabel Bader Theatre, Toronto. In this lecture, I present Genesis 1, which presents the idea that a pre-existent cognitive structure (God the Father) uses the Logos, the Christian Word, the Second Person of the Trinity, to generate habitable order out of pre-cosmogonic chaos at the beginning of time. It is in that Image that Man and Woman are created -- indicating, perhaps, that it is (1) through speech that we participate in the creation of the cosmos of experience and (2) that what true speech creates is good. \n\nIt is a predicate of Western culture that each individual partakes in some manner in the divine. This is the true significance of consciousness, which has a world-creating aspect. \n\nQ & A Starts: 1:59:00\n\nPatreon: https://www.patreon.com/jordanbpeterson\nSelf Authoring: http://selfauthoring.com/\nJordan Peterson Website: http://jordanbpeterson.com/\nPodcast: http://jordanbpeterson.com/jordan-b-p...\nReading List: http://jordanbpeterson.com/2017/03/gr...\nTwitter: https://twitter.com/jordanbpeterson\n\nProducer Credit and thanks to the following $200/month Patreon supporters. Without such support, this series would not have happened: Adam Clarke, Alexander Meckhai’el Beraeros, Andy Baker, Arden C. Armstrong, Badr Amari, BC, Ben Baker, Benjamin Cracknell, Brandon Yates, Chad Grills, Chris Martakis, Christopher Ballew, Craig Morrison, Daljeet Singh, Damian Fink, Dan Gaylinn, Daren Connel, David Johnson, David Tien, Donald Mitchell, Eleftheria Libertatem, Enrico Lejaru, George Diaz, GeorgeB, Holly Lindquist, Ian Trick, James Bradley, James N. Daniel, III, Jan Schanek, Jason R. Ferenc, Jesse Michalak, Joe Cairns, Joel Kurth, John Woolley, Johnny Vinje, Julie Byrne, Keith Jones, Kevin Fallon, Kevin Patrick McSurdy, Kevin Van Eekeren, Kristina Ripka, Louise Parberry, Matt Karamazov, Matt Sattler, Mayor Berkowitz , Michael Thiele, Nathan Claus, Nick Swenson , Patricia Newman, Robb Kelley, Robin Otto, Ryan Kane, Sabish Balan, Salman Alsabah, Scott Carter, Sean C., Sean Magin, Sebastian Thaci, Shiqi Hu, Soheil Daftarian, Srdan Pavlovic, Starting Ideas, Too Analytical, Trey McLemore, William Wilkinson, Yazz Troche, Zachary Vader\n\n--- SUPPORT THIS CHANNEL ---\n\nDirect Support: https://www.jordanbpeterson.com/donate\nMerchandise: https://teespring.com/stores/jordanbpeterson\n\n--- BOOKS ---\n\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life/\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning/\n\n--- LINKS ---\n\nWebsite: https://jordanbpeterson.com/\n12 Rules for Life Tour: https://jordanbpeterson.com/events/\nBlog: https://jordanbpeterson.com/blog/\nPodcast: https://jordanbpeterson.com/podcast/\nReading List: https://jordanbpeterson.com/great-books/\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nFacebook: https://www.facebook.com/drjordanpeterson\n\n--- PRODUCTS ---\n\nPersonality Course: https://www.jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com/\nUnderstand Myself personality test: https://understandmyself.com/\nMerchandise: https://teespring.com/stores/jordanbpeterson", "Lecture: Biblical Series II: Genesis 1: Chaos & Order", "56e60ab5-5c0f-4095-ab73-83c0796ae1ce", 9153, false, "hdrLQ7DpiWs", "https://www.youtube.com/watch?v=hdrLQ7DpiWs", 47, "/downloads/Jordan B Peterson/2017-05-28 Lecture: Biblical Series II: Genesis 1: Chaos & Order/Lecture: Biblical Series II: Genesis 1: Chaos & Order [hdrLQ7DpiWs].mp4", false, false, false, 3, [], 1, ~U[2017-05-28 03:30:24Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Watch Exodus available exclusively on DailyWire+: https://bit.ly/3UgQLe6\n\nLecture II in my Psychological Significance of the Biblical Stories from May 23 at Isabel Bader Theatre, Toronto. In this lecture, I present Genesis 1, which presents the idea that a pre-existent cognitive structure (God the Father) uses the Logos, the Christian Word, the Second Person of the Trinity, to generate habitable order out of pre-cosmogonic chaos at the beginning of time. It is in that Image that Man and Woman are created -- indicating, perhaps, that it is (1) through speech that we participate in the creation of the cosmos of experience and (2) that what true speech creates is good. \n\nIt is a predicate of Western culture that each individual partakes in some manner in the divine. This is the true significance of consciousness, which has a world-creating aspect. \n\nQ & A Starts: 1:59:00\n\nPatreon: https://www.patreon.com/jordanbpeterson\nSelf Authoring: http://selfauthoring.com/\nJordan Peterson Website: http://jordanbpeterson.com/\nPodcast: http://jordanbpeterson.com/jordan-b-p...\nReading List: http://jordanbpeterson.com/2017/03/gr...\nTwitter: https://twitter.com/jordanbpeterson\n\nProducer Credit and thanks to the following $200/month Patreon supporters. Without such support, this series would not have happened: Adam Clarke, Alexander Meckhai’el Beraeros, Andy Baker, Arden C. Armstrong, Badr Amari, BC, Ben Baker, Benjamin Cracknell, Brandon Yates, Chad Grills, Chris Martakis, Christopher Ballew, Craig Morrison, Daljeet Singh, Damian Fink, Dan Gaylinn, Daren Connel, David Johnson, David Tien, Donald Mitchell, Eleftheria Libertatem, Enrico Lejaru, George Diaz, GeorgeB, Holly Lindquist, Ian Trick, James Bradley, James N. Daniel, III, Jan Schanek, Jason R. Ferenc, Jesse Michalak, Joe Cairns, Joel Kurth, John Woolley, Johnny Vinje, Julie Byrne, Keith Jones, Kevin Fallon, Kevin Patrick McSurdy, Kevin Van Eekeren, Kristina Ripka, Louise Parberry, Matt Karamazov, Matt Sattler, Mayor Berkowitz , Michael Thiele, Nathan Claus, Nick Swenson , Patricia Newman, Robb Kelley, Robin Otto, Ryan Kane, Sabish Balan, Salman Alsabah, Scott Carter, Sean C., Sean Magin, Sebastian Thaci, Shiqi Hu, Soheil Daftarian, Srdan Pavlovic, Starting Ideas, Too Analytical, Trey McLemore, William Wilkinson, Yazz Troche, Zachary Vader\n\n--- SUPPORT THIS CHANNEL ---\n\nDirect Support: https://www.jordanbpeterson.com/donate\nMerchandise: https://teespring.com/stores/jordanbpeterson\n\n--- BOOKS ---\n\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life/\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning/\n\n--- LINKS ---\n\nWebsite: https://jordanbpeterson.com/\n12 Rules for Life Tour: https://jordanbpeterson.com/events/\nBlog: https://jordanbpeterson.com/blog/\nPodcast: https://jordanbpeterson.com/podcast/\nReading List: https://jordanbpeterson.com/great-books/\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nFacebook: https://www.facebook.com/drjordanpeterson\n\n--- PRODUCTS ---\n\nPersonality Course: https://www.jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com/\nUnderstand Myself personality test: https://understandmyself.com/\nMerchandise: https://teespring.com/stores/jordanbpeterson", "Lecture: Biblical Series II: Genesis 1: Chaos & Order", 9153, false, "hdrLQ7DpiWs", "https://www.youtube.com/watch?v=hdrLQ7DpiWs", "/downloads/Jordan B Peterson/2017-05-28 Lecture: B (truncated) 21:09:15.816 [debug] QUERY OK source="sources" db=0.2ms idle=322.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.818 [debug] QUERY OK source="media_items" db=0.9ms idle=8.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2017-07-03 14:25:39Z], 3] 21:09:15.820 [debug] QUERY OK source="media_items" db=1.9ms idle=8.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Watch Exodus available exclusively on DailyWire+: https://bit.ly/3UgQLe6\n\nThe story of Noah and the Ark is next in the Genesis sequence. This is a more elaborated tale than the initial creation account, or the story of Adam and Eve or Cain and Abel. However, it cannot be understood in its true depth without some investigation into what the motif of the flood means, psychologically, and an analysis of how that motif is informed by the order/chaos dichotomy, as well as by the idea of an involuntary voyage to the underworld or confrontation with the dragon. In consequence, this lecture concentrates almost exclusively on psychology: How is an encounter with the unknown to be understood, conceptually? How and why is that represented with themes such as the underworld voyage, the dragon fight, or the flood? \n\nAll that constitutes the theme of lecture VI.\n\nProducer Credit and thanks to the following $200/month Patreon supporters. Without such support, this series would not have happened: Adam Clarke, Alexander Meckhai’el Beraeros, Andy Baker, Arden C. Armstrong, Badr Amari, BC, Ben Baker, Benjamin Cracknell, Brandon Yates, Chad Grills, Chris Martakis, Christopher Ballew, Craig Morrison, Daljeet Singh, Damian Fink, Dan Gaylinn, Daren Connel, David Johnson, David Tien, Donald Mitchell, Eleftheria Libertatem, Enrico Lejaru, George Diaz, GeorgeB, Holly Lindquist, Ian Trick, James Bradley, James N. Daniel, III, Jan Schanek, Jason R. Ferenc, Jesse Michalak, Joe Cairns, Joel Kurth, John Woolley, Johnny Vinje, Julie Byrne, Keith Jones, Kevin Fallon, Kevin Patrick McSurdy, Kevin Van Eekeren, Kristina Ripka, Louise Parberry, Matt Karamazov, Matt Sattler, Mayor Berkowitz , Michael Thiele, Nathan Claus, Nick Swenson , Patricia Newman, Robb Kelley, Robin Otto, Ryan Kane, Sabish Balan, Salman Alsabah, Scott Carter, Sean C., Sean Magin, Sebastian Thaci, Shiqi Hu, Soheil Daftarian, Srdan Pavlovic, Starting Ideas, Too Analytical, Trey McLemore, William Wilkinson, Yazz Troche, Zachary Vader\n\n--- SUPPORT THIS CHANNEL ---\n\nDirect Support: https://www.jordanbpeterson.com/donate\nMerchandise: https://teespring.com/stores/jordanbpeterson\n\n--- BOOKS ---\n\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life/\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning/\n\n--- LINKS ---\n\nWebsite: https://jordanbpeterson.com/\n12 Rules for Life Tour: https://jordanbpeterson.com/events/\nBlog: https://jordanbpeterson.com/blog/\nPodcast: https://jordanbpeterson.com/podcast/\nReading List: https://jordanbpeterson.com/great-books/\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nFacebook: https://www.facebook.com/drjordanpeterson\n\n--- PRODUCTS ---\n\nPersonality Course: https://www.jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com/\nUnderstand Myself personality test: https://understandmyself.com/\nMerchandise: https://teespring.com/stores/jordanbpeterson", "Lecture: Biblical Series VI: The Psychology of the Flood", "ba064ac2-4472-4a2c-8138-5687364dc91b", 9357, false, "wNjbasba-Qw", "https://www.youtube.com/watch?v=wNjbasba-Qw", 48, "/downloads/Jordan B Peterson/2017-07-03 Lecture: Biblical Series VI: The Psychology of the Flood/Lecture: Biblical Series VI: The Psychology of the Flood [wNjbasba-Qw].mp4", false, false, false, 3, [], 1, ~U[2017-07-03 14:25:39Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Watch Exodus available exclusively on DailyWire+: https://bit.ly/3UgQLe6\n\nThe story of Noah and the Ark is next in the Genesis sequence. This is a more elaborated tale than the initial creation account, or the story of Adam and Eve or Cain and Abel. However, it cannot be understood in its true depth without some investigation into what the motif of the flood means, psychologically, and an analysis of how that motif is informed by the order/chaos dichotomy, as well as by the idea of an involuntary voyage to the underworld or confrontation with the dragon. In consequence, this lecture concentrates almost exclusively on psychology: How is an encounter with the unknown to be understood, conceptually? How and why is that represented with themes such as the underworld voyage, the dragon fight, or the flood? \n\nAll that constitutes the theme of lecture VI.\n\nProducer Credit and thanks to the following $200/month Patreon supporters. Without such support, this series would not have happened: Adam Clarke, Alexander Meckhai’el Beraeros, Andy Baker, Arden C. Armstrong, Badr Amari, BC, Ben Baker, Benjamin Cracknell, Brandon Yates, Chad Grills, Chris Martakis, Christopher Ballew, Craig Morrison, Daljeet Singh, Damian Fink, Dan Gaylinn, Daren Connel, David Johnson, David Tien, Donald Mitchell, Eleftheria Libertatem, Enrico Lejaru, George Diaz, GeorgeB, Holly Lindquist, Ian Trick, James Bradley, James N. Daniel, III, Jan Schanek, Jason R. Ferenc, Jesse Michalak, Joe Cairns, Joel Kurth, John Woolley, Johnny Vinje, Julie Byrne, Keith Jones, Kevin Fallon, Kevin Patrick McSurdy, Kevin Van Eekeren, Kristina Ripka, Louise Parberry, Matt Karamazov, Matt Sattler, Mayor Berkowitz , Michael Thiele, Nathan Claus, Nick Swenson , Patricia Newman, Robb Kelley, Robin Otto, Ryan Kane, Sabish Balan, Salman Alsabah, Scott Carter, Sean C., Sean Magin, Sebastian Thaci, Shiqi Hu, Soheil Daftarian, Srdan Pavlovic, Starting Ideas, Too Analytical, Trey McLemore, William Wilkinson, Yazz Troche, Zachary Vader\n\n--- SUPPORT THIS CHANNEL ---\n\nDirect Support: https://www.jordanbpeterson.com/donate\nMerchandise: https://teespring.com/stores/jordanbpeterson\n\n--- BOOKS ---\n\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life/\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning/\n\n--- LINKS ---\n\nWebsite: https://jordanbpeterson.com/\n12 Rules for Life Tour: https://jordanbpeterson.com/events/\nBlog: https://jordanbpeterson.com/blog/\nPodcast: https://jordanbpeterson.com/podcast/\nReading List: https://jordanbpeterson.com/great-books/\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://www.instagram.com/jordan.b.peterson/\nFacebook: https://www.facebook.com/drjordanpeterson\n\n--- PRODUCTS ---\n\nPersonality Course: https://www.jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com/\nUnderstand Myself personality test: https://understandmyself.com/\nMerchandise: https://teespring.com/stores/jordanbpeterson", "Lecture: Biblical Series VI: The Psychology of the Flood", 9357, false, "wNjbasba-Qw", "https://www.youtube.com/watch?v=wNjbasba-Qw", "/downloads/Jordan B Peterson/2017-07-03 Lecture: Biblical Series VI: The Psychology of the Flood/Lecture: Biblical Series VI: The Psychology of the Flood [wNjbasba-Qw].mp4", false, 3, ~U[2017-07-03 14:25:39Z]] 21:09:15.821 [debug] QUERY OK source="sources" db=0.2ms idle=10.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.822 [debug] QUERY OK source="media_items" db=0.4ms idle=5.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-04 12:00:37Z], 3] 21:09:15.824 [debug] QUERY OK source="media_items" db=1.9ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, I explain cortisol and science-based protocols for properly setting your cortisol rhythm, which can significantly increase your daytime energy, focus, mood, and stress resilience, while also improving your sleep quality.\n\nMost people mistakenly think cortisol is bad, and many assume their levels are too high, when in fact many health and performance challenges simply stem from a disrupted cortisol rhythm. Getting your cortisol rhythm right can be transformative for your health and performance.\n\nI outline behavioral, nutritional, and supplement-based strategies to raise or lower your cortisol levels at the appropriate times of day and night. I also provide specific protocols for overcoming burnout.\n\nIf you’re dealing with stress, low energy, hormone or sleep challenges—or simply want to optimize these for the sake of your physical and mental health and performance—this episode offers science-backed protocols to help.\n\nEpisode show notes: https://go.hubermanlab.com/UbpcfeH\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman\nCarbon: https://joincarbon.com/huberman\nBetterHelp: https://betterhelp.com/huberman\nDavid: https://davidprotein.com/huberman\nLMNT: https://drinklmnt.com/huberman\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Cortisol \n00:01:29 Stress, Tool: Daily Cortisol Rhythm \n00:03:16 Cortisol & Directing Energy, Glucose, Adrenals \n00:06:39 Sponsors: Carbon & BetterHelp \n00:10:14 Daily Cortisol Phases & Rhythm, Waking Up & Cortisol \n00:17:55 Cortisol Release & Regulation, Hypothalamic-Pituitary-Adrenal (HPA) Axis \n00:24:57 Rapid & Delayed Stress Response, HPA Axis \n00:28:42 Bright Light & Cortisol Release, Tool: Increase Morning Cortisol & Sunlight \n00:36:58 Sponsors: AG1 & David \n00:39:48 Viewing Bright Light & Mood, Depression, Seasonal Affective Disorder (SAD) \n00:41:44 Increase Morning Cortisol, Tools: Hydration, Delaying Caffeine Intake \n00:49:30 Exercise, Entrainment Cues & Cortisol Rhythm, Tool: Boost Energy & Exercise Schedule \n00:57:52 Does Deliberate Cold Exposure Increase Cortisol?, Energy & Mood \n01:01:19 Sponsor: LMNT \n01:02:51 Increase Morning Cortisol & Nutrition, Grapefruit, Black Licorice \n01:11:34 Afternoon & Evening Cortisol Rhythms, Sunlight, Screens \n01:14:30 Lower Evening Cortisol, Tools: Dim Lights, Light Color \n01:20:54 Lower Evening Cortisol, Tools: Caffeine Timing; Stress Response & Exhales; Starchy Carbohydrates \n01:30:42 Low-Carb Diets & Cortisol, Metabolic Syndrome \n01:35:30 Evening Exercise & Cortisol, Tool: Spike Your Morning Cortisol \n01:44:32 Supplements to Reduce Cortisol, Ashwagandha, Apigenin, Magnesium \n01:50:57 Burnout, Cushing's & Addison's, 2 Burnout Patterns \n01:55:23 Early-Phase Burnout, Tools: NSDR/Yoga Nidra, Boost Morning Cortisol, Caffeine \n02:01:35 Late-Phase Burnout, Tools: Reduce Evening Cortisol \n02:08:02 Age, Male vs Females, Lifespan, Cancer; Menopause; Brain Health \n02:13:41 Zero-Cost Support, YouTube, Spotify & Apple Follow & Reviews, Sponsors, YouTube Feedback, Protocols Book, Social Media, Neural Network Newsletter\n\nDisclaimer & Disclosures: https://www.hubermanlab.com/disclaimer", "How to Control Your Cortisol & Overcome Burnout", "9039e58f-eb0a-471f-a913-958c0ceb32f4", 8176, false, "Ibj1k3IZTNU", "https://www.youtube.com/watch?v=Ibj1k3IZTNU", 49, "/downloads/Andrew Huberman/2025-08-04 How to Control Your Cortisol & Overcome Burnout/How to Control Your Cortisol & Overcome Burnout [Ibj1k3IZTNU].mp4", false, false, false, 3, [], 1, ~U[2025-08-04 12:00:37Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "See Andrew Huberman live in New York, Los Angeles & San Francisco:\nhttps://go.hubermanlab.com/protocols-event\n\n In this episode, I explain cortisol and science-based protocols for properly setting your cortisol rhythm, which can significantly increase your daytime energy, focus, mood, and stress resilience, while also improving your sleep quality.\n\nMost people mistakenly think cortisol is bad, and many assume their levels are too high, when in fact many health and performance challenges simply stem from a disrupted cortisol rhythm. Getting your cortisol rhythm right can be transformative for your health and performance.\n\nI outline behavioral, nutritional, and supplement-based strategies to raise or lower your cortisol levels at the appropriate times of day and night. I also provide specific protocols for overcoming burnout.\n\nIf you’re dealing with stress, low energy, hormone or sleep challenges—or simply want to optimize these for the sake of your physical and mental health and performance—this episode offers science-backed protocols to help.\n\nEpisode show notes: https://go.hubermanlab.com/UbpcfeH\n\n*Thank you to our sponsors*\nAG1: https://drinkag1.com/huberman\nCarbon: https://joincarbon.com/huberman\nBetterHelp: https://betterhelp.com/huberman\nDavid: https://davidprotein.com/huberman\nLMNT: https://drinklmnt.com/huberman\n\n*Follow Huberman Lab*\nInstagram: https://www.instagram.com/hubermanlab \nThreads: https://www.threads.net/@hubermanlab\nX: https://twitter.com/hubermanlab \nFacebook: https://www.facebook.com/hubermanlab \nTikTok: https://www.tiktok.com/@hubermanlab \nLinkedIn: https://www.linkedin.com/in/andrew-huberman\nWebsite: https://www.hubermanlab.com \nNewsletter: https://www.hubermanlab.com/newsletter\n\n*Timestamps*\n00:00:00 Cortisol \n00:01:29 Stress, Tool: Daily Cortisol Rhythm \n00:03:16 Cortisol & Directing Energy, Glucose, Adrenals \n00:06:39 Sponsors: Carbon & BetterHelp \n00:10:14 Daily Cortisol Phases & Rhythm, Waking Up & Cortisol \n00:17:55 Cortisol Release & Regulation, Hypothalamic-Pituitary-Adrenal (HPA) Axis \n00:24:57 Rapid & Delayed Stress Response, HPA Axis \n00:28:42 Bright Light & Cortisol Release, Tool: Increase Morning Cortisol & Sunlight \n00:36:58 Sponsors: AG1 & David \n00:39:48 Viewing Bright Light & Mood, Depression, Seasonal Affective Disorder (SAD) \n00:41:44 Increase Morning Cortisol, Tools: Hydration, Delaying Caffeine Intake \n00:49:30 Exercise, Entrainment Cues & Cortisol Rhythm, Tool: Boost Energy & Exercise Schedule \n00:57:52 Does Deliberate Cold Exposure Increase Cortisol?, Energy & Mood \n01:01:19 Sponsor: LMNT \n01:02:51 Increase Morning Cortisol & Nutrition, Grapefruit, Black Licorice \n01:11:34 Afternoon & Evening Cortisol Rhythms, Sunlight, Screens \n01:14:30 Lower Evening Cortisol, Tools: Dim Lights, Light Color \n01:20:54 Lower Evening Cortisol, Tools: Caffeine Timing; Stress Response & Exhales; Starchy Carbohydrates \n01:30:42 Low-Carb Diets & Cortisol, Metabolic Syndrome \n01:35:30 Evening Exercise & Cortisol, Tool: Spike Your Morning Cortisol \n01:44:32 Supplements to Reduce Cortisol, Ashwagandha, Apigenin, Magnesium \n01:50:57 Burnout, Cushing's & Addison's, 2 Burnout Patterns \n01:55:23 Earl (truncated) 21:09:15.825 [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" = ?) [3] 21:09:15.826 [debug] QUERY OK source="media_items" db=0.3ms idle=5.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-30 21:00:13Z], 3] 21:09:15.828 [debug] QUERY OK source="media_items" db=1.6ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["This is a special release from the We Who Wrestle With God Tour in Nashville, Tennessee. Dr. Jordan B. Peterson discusses how worldview operates as a useful story, why might doesn't make right, how chaos manifests as infinite possibility without aim, the biblical role of women, and the original sins of Adam.\n\nDr. Peterson's extensive catalog is available now on DailyWire+: https://bit.ly/3KrWbS8\n\nALL LINKS: https://linktr.ee/drjordanbpeterson\n\n\n- Sponsors -\n\nExpressVPN: Get 3 Months FREE of ExpressVPN: https://expressvpn.com/jordan\n\nHallow: Get 3 months free at https://hallow.com/Jordan \n\nNetsuite: Make better business decisions with NetSuite https://www.NetSuite.com/JBP\n\n\n- Chapters -\n\n(0:00) Introduction\n(3:40) The dawn of new realizations and a return to fundamentals\n(11:40) Worldview is a useful story, voluntary exposure underpins entertainment\n(15:43) Are relationships based on facts and propositions?\n(20:29) The world reveals itself in accordance to your aim\n(23:35) Rise of the literary critic, \"The Selfish Gene\" claim\n(27:21) Sex and power; why doesn’t might make right?\n(32:02) The central story of the West\n(35:29) The proper object of worship, admiration, and aim\n(37:25) Navigating the chaos and confusion of infinite possibility\n(42:08) The Logos: the process by which God manifests being from potential\n(48:28) The locust of value, how America embodies upward aim\n(51:57) Why Adam tended a “walled garden”\n(55:34) The biblical role of women, the biological role of the mother\n(56:50) We are conscious matter, “what’s up with that?”\n(58:42) A critique of the feminist critique of the creation of Eve\n(1:00:30) Moral knowledge, Nietzsche’s prediction and folly\n(1:09:40) The sins of Adam and the prideful fall\n\n\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n#JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus", "The Sins of Adam and the True Nature of Eve", "dd6603d3-753d-4f7d-affe-1e4caf0305d5", 4664, false, "R2f13GzlGnc", "https://www.youtube.com/watch?v=R2f13GzlGnc", 50, "/downloads/Jordan B Peterson/2024-05-30 The Sins of Adam and the True Nature of Eve/The Sins of Adam and the True Nature of Eve [R2f13GzlGnc].mp4", false, false, false, 3, [], 1, ~U[2024-05-30 21:00:13Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "This is a special release from the We Who Wrestle With God Tour in Nashville, Tennessee. Dr. Jordan B. Peterson discusses how worldview operates as a useful story, why might doesn't make right, how chaos manifests as infinite possibility without aim, the biblical role of women, and the original sins of Adam.\n\nDr. Peterson's extensive catalog is available now on DailyWire+: https://bit.ly/3KrWbS8\n\nALL LINKS: https://linktr.ee/drjordanbpeterson\n\n\n- Sponsors -\n\nExpressVPN: Get 3 Months FREE of ExpressVPN: https://expressvpn.com/jordan\n\nHallow: Get 3 months free at https://hallow.com/Jordan \n\nNetsuite: Make better business decisions with NetSuite https://www.NetSuite.com/JBP\n\n\n- Chapters -\n\n(0:00) Introduction\n(3:40) The dawn of new realizations and a return to fundamentals\n(11:40) Worldview is a useful story, voluntary exposure underpins entertainment\n(15:43) Are relationships based on facts and propositions?\n(20:29) The world reveals itself in accordance to your aim\n(23:35) Rise of the literary critic, \"The Selfish Gene\" claim\n(27:21) Sex and power; why doesn’t might make right?\n(32:02) The central story of the West\n(35:29) The proper object of worship, admiration, and aim\n(37:25) Navigating the chaos and confusion of infinite possibility\n(42:08) The Logos: the process by which God manifests being from potential\n(48:28) The locust of value, how America embodies upward aim\n(51:57) Why Adam tended a “walled garden”\n(55:34) The biblical role of women, the biological role of the mother\n(56:50) We are conscious matter, “what’s up with that?”\n(58:42) A critique of the feminist critique of the creation of Eve\n(1:00:30) Moral knowledge, Nietzsche’s prediction and folly\n(1:09:40) The sins of Adam and the prideful fall\n\n\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n#JordanPeterson #JordanBPeterson #DrJordanPeterson #DrJordanBPeterson #DailyWirePlus", "The Sins of Adam and the True Nature of Eve", 4664, false, "R2f13GzlGnc", "https://www.youtube.com/watch?v=R2f13GzlGnc", "/downloads/Jordan B Peterson/2024-05-30 The Sins of Adam and the True Nature of Eve/The Sins of Adam and the True Nature of Eve [R2f13GzlGnc].mp4", false, 3, ~U[2024-05-30 21:00:13Z]] 21:09:15.829 [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" = ?) [3] 21:09:15.829 [debug] QUERY OK source="media_items" db=0.3ms idle=4.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-11-26 21:27:11Z], 3] 21:09:15.831 [debug] QUERY OK source="media_items" db=1.5ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Over the last few weeks, we have put together a series entitled \"Meaning, Awe and the Conceptualization of God\" for the Dr Jordan B Peterson Podcast. This series was built around investigating the various methods and practices that humans use to conceptualize God. This investigation leads us down the path of exploring meaning and awe. Why are we struck by awe when viewing a beautiful painting? Why does walking inside the door of a great Cathedral take our breath away? What is the relationship between these experiences and God? \n\nThis compilation includes all 3 parts, as can be found separately wherever you listen to your audio podcasts!\n\nFeatured in this compilation:\n\u00A0@Jonathan Pageau\u00A0 \n\u00A0@John Vervaeke\u00A0 \n\u00A0@Bishop Robert Barron\u00A0 \nStephen Blackwood\nRoland Griffiths\nIain McGilchrist\nStephen Fry\nRandall Wallace\n\u00A0@Word on Fire Institute\u00A0 (Christopher Kaczor and Matthew Petrusek)\n\nThis series was released in three parts on all audio platforms. The series was popular enough for us to make a video version of the series, and we decided to put them all together in one video. \n\nSubscribe to the Jordan B Peterson Podcast on Apple Podcasts, Spotify, and everywhere else that you listen to podcasts.\n\n// SUPPORT THIS CHANNEL //\nNewsletter: https://linktr.ee/DrJordanBPeterson\nDonations: https://jordanbpeterson.com/donate\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n// LINKS //\nWebsite: https://jordanbpeterson.com\nEvents: https://jordanbpeterson.com/events\nBlog: https://jordanbpeterson.com/blog\nPodcast: https://jordanbpeterson.com/podcast\n\n// SOCIAL //\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://instagram.com/jordan.b.peterson\nFacebook: https://facebook.com/drjordanpeterson\n\n// SPONSORS //\nFor Advertising Inquiries, visit https://www.advertisecast.com/TheJordanBPetersonPodcast", "Meaning, Awe, and the Conceptualization of God (Part 1-3) | EP 202", "5ac640e0-9c7a-4f59-82af-3791a1eceb81", 11241, false, "v0s5klPtQXk", "https://www.youtube.com/watch?v=v0s5klPtQXk", 51, "/downloads/Jordan B Peterson/2021-11-26 Meaning, Awe, and the Conceptualization of God (Part 1-3) | EP 202/Meaning, Awe, and the Conceptualization of God (Part 1-3) | EP 202 [v0s5klPtQXk].mp4", false, false, false, 3, [], 1, ~U[2021-11-26 21:27:11Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Over the last few weeks, we have put together a series entitled \"Meaning, Awe and the Conceptualization of God\" for the Dr Jordan B Peterson Podcast. This series was built around investigating the various methods and practices that humans use to conceptualize God. This investigation leads us down the path of exploring meaning and awe. Why are we struck by awe when viewing a beautiful painting? Why does walking inside the door of a great Cathedral take our breath away? What is the relationship between these experiences and God? \n\nThis compilation includes all 3 parts, as can be found separately wherever you listen to your audio podcasts!\n\nFeatured in this compilation:\n\u00A0@Jonathan Pageau\u00A0 \n\u00A0@John Vervaeke\u00A0 \n\u00A0@Bishop Robert Barron\u00A0 \nStephen Blackwood\nRoland Griffiths\nIain McGilchrist\nStephen Fry\nRandall Wallace\n\u00A0@Word on Fire Institute\u00A0 (Christopher Kaczor and Matthew Petrusek)\n\nThis series was released in three parts on all audio platforms. The series was popular enough for us to make a video version of the series, and we decided to put them all together in one video. \n\nSubscribe to the Jordan B Peterson Podcast on Apple Podcasts, Spotify, and everywhere else that you listen to podcasts.\n\n// SUPPORT THIS CHANNEL //\nNewsletter: https://linktr.ee/DrJordanBPeterson\nDonations: https://jordanbpeterson.com/donate\n\n// COURSES //\nDiscovering Personality: https://jordanbpeterson.com/personality\nSelf Authoring Suite: https://selfauthoring.com\nUnderstand Myself (personality test): https://understandmyself.com\n\n// BOOKS //\nBeyond Order: 12 More Rules for Life: https://jordanbpeterson.com/Beyond-Order\n12 Rules for Life: An Antidote to Chaos: https://jordanbpeterson.com/12-rules-for-life\nMaps of Meaning: The Architecture of Belief: https://jordanbpeterson.com/maps-of-meaning\n\n// LINKS //\nWebsite: https://jordanbpeterson.com\nEvents: https://jordanbpeterson.com/events\nBlog: https://jordanbpeterson.com/blog\nPodcast: https://jordanbpeterson.com/podcast\n\n// SOCIAL //\nTwitter: https://twitter.com/jordanbpeterson\nInstagram: https://instagram.com/jordan.b.peterson\nFacebook: https://facebook.com/drjordanpeterson\n\n// SPONSORS //\nFor Advertising Inquiries, visit https://www.advertisecast.com/TheJordanBPetersonPodcast", "Meaning, Awe, and the Conceptualization of God (Part 1-3) | EP 202", 11241, false, "v0s5klPtQXk", "https://www.youtube.com/watch?v=v0s5klPtQXk", "/downloads/Jordan B Peterson/2021-11-26 Meaning, Awe, and the Conceptualization of God (Part 1-3) | EP 202/Meaning, Awe, and the Conceptualization of God (Part 1-3) | EP 202 [v0s5klPtQXk].mp4", false, 3, ~U[2021-11-26 21:27:11Z]] 21:09:15.832 [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" = ?) [3] 21:09:15.833 [debug] QUERY OK source="media_items" db=0.3ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-08 16:00:52Z], 3] 21:09:15.836 [debug] QUERY OK source="media_items" db=2.4ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Arthur Brooks is a social scientist, professor at Harvard University, and an author.\n\nWhat does it really take to live a fulfilling life? With endless advice on how to boost or sabotage happiness, what does science actually say about feeling better and living well?\n\nExpect to learn whether psychological or physical elements contribute to wellbeing more, if most people need more happiness or less unhappiness, what the most reliable lever is to lower negative feelings, what the gold standard is for how people should deal with a breakup, the most underrated happiness intervention in daily life, why reading aloud or being read to calms the brain so much, and much more…\n\n-\n\n0:00 Is Wellbeing Physical or Mental?\n8:37 Why Privilege Can Fuel Addiction\n18:30 The Key To Managing Yourself More Effectively\n35:51 How to Rewire Anxiety and Uncertainty\n42:25 How Biology Shapes Our Relationships\n50:33 Why Growth Stems From Pain\n59:08 Designing the Optimal Morning Routine\n01:08:55 The Physiology of Staying Fit as You Age\n01:18:49 Engineering the Optimal Evening Routine\n01:24:31 Can You Over-Optimise Your Wellbeing?\n01:29:45 What Causes Us the Most Pain?\n01:33:01 The Neuroscience of Heartbreak\n01:39:57 Has Modern Freedom Backfired on Happiness?\n01:47:27 Where to Find Arthur\n\n-\n\nGet a free bottle of D3K2, an AG1 Welcome Kit, and more when you first subscribe at https://ag1.info/modernwisdom\n\nNew pricing since recording: Function is now just $365, plus get $25 off at https://functionhealth.com/modernwisdom\n\nGet a Free Sample Pack of LMNT’s most popular flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\nGet 35% off your first subscription on the best supplements from Momentous at https://livemomentous.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spotify.modernwisdom.com or Apple Podcasts - https://apple.modernwisdom.com\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "14 Habits for an Optimised Morning & Evening Routine - Arthur Brooks", "036d2f05-2036-4a76-b30b-f8e1788790e6", 6500, false, "STBbuMmU20U", "https://www.youtube.com/watch?v=STBbuMmU20U", 52, "/downloads/Chris Williamson/2026-01-08 14 Habits for an Optimised Morning & Evening Routine - Arthur Brooks/14 Habits for an Optimised Morning & Evening Routine - Arthur Brooks [STBbuMmU20U].mp4", false, false, false, 3, [], 1, ~U[2026-01-08 16:00:52Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Arthur Brooks is a social scientist, professor at Harvard University, and an author.\n\nWhat does it really take to live a fulfilling life? With endless advice on how to boost or sabotage happiness, what does science actually say about feeling better and living well?\n\nExpect to learn whether psychological or physical elements contribute to wellbeing more, if most people need more happiness or less unhappiness, what the most reliable lever is to lower negative feelings, what the gold standard is for how people should deal with a breakup, the most underrated happiness intervention in daily life, why reading aloud or being read to calms the brain so much, and much more…\n\n-\n\n0:00 Is Wellbeing Physical or Mental?\n8:37 Why Privilege Can Fuel Addiction\n18:30 The Key To Managing Yourself More Effectively\n35:51 How to Rewire Anxiety and Uncertainty\n42:25 How Biology Shapes Our Relationships\n50:33 Why Growth Stems From Pain\n59:08 Designing the Optimal Morning Routine\n01:08:55 The Physiology of Staying Fit as You Age\n01:18:49 Engineering the Optimal Evening Routine\n01:24:31 Can You Over-Optimise Your Wellbeing?\n01:29:45 What Causes Us the Most Pain?\n01:33:01 The Neuroscience of Heartbreak\n01:39:57 Has Modern Freedom Backfired on Happiness?\n01:47:27 Where to Find Arthur\n\n-\n\nGet a free bottle of D3K2, an AG1 Welcome Kit, and more when you first subscribe at https://ag1.info/modernwisdom\n\nNew pricing since recording: Function is now just $365, plus get $25 off at https://functionhealth.com/modernwisdom\n\nGet a Free Sample Pack of LMNT’s most popular flavours with your first purchase at https://drinklmnt.com/modernwisdom\n\nGet 35% off your first subscription on the best supplements from Momentous at https://livemomentous.com/modernwisdom\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spotify.modernwisdom.com or Apple Podcasts - https://apple.modernwisdom.com\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "14 Habits for an Optimised Morning & Evening Routine - Arthur Brooks", 6500, false, "STBbuMmU20U", "https://www.youtube.com/watch?v=STBbuMmU20U", "/downloads/Chris Williamson/2026-01-08 14 Habits for an Optimised Morning & Evening Routine - Arthur Brooks/14 Habits for an Optimised Morning & Evening Routine - Arthur Brooks [STBbuMmU20U].mp4", false, 3, ~U[2026-01-08 16:00:52Z]] 21:09:15.836 [debug] QUERY OK source="sources" db=0.3ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.837 [debug] QUERY OK source="media_items" db=0.3ms idle=5.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-09-14 15:00:02Z], 3] 21:09:15.840 [debug] QUERY OK source="media_items" db=2.2ms idle=5.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Dr Andrew Huberman is a neuroscientist, Associate Professor at the Stanford University School of Medicine, podcaster and author.\n\nWhat does it take to live a healthy, thriving life? In his upcoming book, Dr Andrew Huberman brings together his defining work on health and wellness, covering everything from exercise and supplements to sleep and morning sunlight. So which protocols make the biggest difference, and how can we put them into a daily practice?\n\nExpect to learn how to detox from microplastics, how to get rid of your brain fog, the tips and tricks to help focus better, what the best ways to feel present are without meditation, the 4 steps to break any bad habit, Andrew’s thoughts on nicotine and its pros and cons, if we are in the midst of an overoptimisation wave and much more…\n\n-\n\nGet 35% off your first subscription on the best supplements from Momentous at https://livemomentous.com/modernwisdom\n\nGet up to 20% off Timeline’s leading longevity and cellular health supplement at https://timeline.com/modernwisdom\n\nGet a free bottle of D3K2, an AG1 Welcome Kit, and more when you first subscribe at https://ag1.info/modernwisdom\n\nGet 160+ lab tests for just $365 and save an extra $25 at https://functionhealth.com/modernwisdom\n\n-\n\n0:00 The Cortisol Hack to Unlock Your Day\n7:16 Can You Actually Train Your Willpower?\n18:21 The Hidden Formula for Better Learning and Focus\n30:47 What Are the Best Protocols to Manage Stress?\n39:06 The Optimal Mindset for Learning\n42:34 Is Presence the Secret to Happiness?\n53:21 Why Men Reevaluate Everything in Their Late 20s\n58:20 How to Make Sense of Life’s Contradictions\n01:15:14 Do We Already Have the Tools to Be Healthy?\n01:20:11 Is This the Ultimate Detox Protocol For Microplastics?\n01:29:45 The Devastating Toxin Exposure On 9/11\n01:33:51 How Dangerous Are Nicotine Pouches?\n01:42:45 The Spiciest Protocols That Didn’t Make the Book\n01:44:14 Can These Protocols Be Scientifically Proven?\n01:54:54 Are Golden Retrievers the Ultimate Life Hack?\n02:02:58 Why Being Admired by Your Heroes Hits Different\n02:08:53 VO2 Max vs Zone 2: Which Matters More?\n02:25:26 What Happened to Andrew’s iPad Octopus?\n02:29:34 The Section Andrew Doesn’t Want You to Skip\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spotify.modernwisdom.com or Apple Podcasts - https://apple.modernwisdom.com\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "Why You’re Tired, Stressed & Unfocussed (and how to fix it) - Dr Andrew Huberman", "3f06faa2-877e-4dbc-871e-5d9bc4b17faa", 9129, false, "8son5OkbC90", "https://www.youtube.com/watch?v=8son5OkbC90", 53, "/downloads/Chris Williamson/2026-09-14 Why You’re Tired, Stressed & Unfocussed (and how to fix it) - Dr Andrew Huberman/Why You’re Tired, Stressed & Unfocussed (and how to fix it) - Dr Andrew Huberman [8son5OkbC90].mp4", false, false, false, 3, [], 0, ~U[2026-09-14 15:00:02Z], ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], "Dr Andrew Huberman is a neuroscientist, Associate Professor at the Stanford University School of Medicine, podcaster and author.\n\nWhat does it take to live a healthy, thriving life? In his upcoming book, Dr Andrew Huberman brings together his defining work on health and wellness, covering everything from exercise and supplements to sleep and morning sunlight. So which protocols make the biggest difference, and how can we put them into a daily practice?\n\nExpect to learn how to detox from microplastics, how to get rid of your brain fog, the tips and tricks to help focus better, what the best ways to feel present are without meditation, the 4 steps to break any bad habit, Andrew’s thoughts on nicotine and its pros and cons, if we are in the midst of an overoptimisation wave and much more…\n\n-\n\nGet 35% off your first subscription on the best supplements from Momentous at https://livemomentous.com/modernwisdom\n\nGet up to 20% off Timeline’s leading longevity and cellular health supplement at https://timeline.com/modernwisdom\n\nGet a free bottle of D3K2, an AG1 Welcome Kit, and more when you first subscribe at https://ag1.info/modernwisdom\n\nGet 160+ lab tests for just $365 and save an extra $25 at https://functionhealth.com/modernwisdom\n\n-\n\n0:00 The Cortisol Hack to Unlock Your Day\n7:16 Can You Actually Train Your Willpower?\n18:21 The Hidden Formula for Better Learning and Focus\n30:47 What Are the Best Protocols to Manage Stress?\n39:06 The Optimal Mindset for Learning\n42:34 Is Presence the Secret to Happiness?\n53:21 Why Men Reevaluate Everything in Their Late 20s\n58:20 How to Make Sense of Life’s Contradictions\n01:15:14 Do We Already Have the Tools to Be Healthy?\n01:20:11 Is This the Ultimate Detox Protocol For Microplastics?\n01:29:45 The Devastating Toxin Exposure On 9/11\n01:33:51 How Dangerous Are Nicotine Pouches?\n01:42:45 The Spiciest Protocols That Didn’t Make the Book\n01:44:14 Can These Protocols Be Scientifically Proven?\n01:54:54 Are Golden Retrievers the Ultimate Life Hack?\n02:02:58 Why Being Admired by Your Heroes Hits Different\n02:08:53 VO2 Max vs Zone 2: Which Matters More?\n02:25:26 What Happened to Andrew’s iPad Octopus?\n02:29:34 The Section Andrew Doesn’t Want You to Skip\n\n-\n\nGet access to every episode 10 hours before YouTube by subscribing for free on Spotify - https://spotify.modernwisdom.com or Apple Podcasts - https://apple.modernwisdom.com\n\nGet my free Reading List of 100 life-changing books here - https://chriswillx.com/books/\n\nTry my productivity energy drink Neutonic here - https://neutonic.com/modernwisdom\n\n-\n\nGet in touch in the comments below or head to...\nInstagram: https://www.instagram.com/chriswillx \nTwitter: https://www.twitter.com/chriswillx\nEmail: https://chriswillx.com/contact/", "Why You’re Tired, Stressed & Unfocussed (and how to fix it) - Dr Andrew Huberman", 9129, false, "8son5OkbC90", "https://www.youtube.com/watch?v=8son5OkbC90", "/downloads/Chris Williamson/2026-09-14 Why You’re Tired, Stressed & Unfocussed (and how to fix it) - Dr Andrew Huberman/Why You’re Tired, Stressed & Unfocussed (and how to fix it) - Dr Andrew Huberman [8son5OkbC90].mp4", false, 3, ~U[2026-09-14 15:00:02Z]] 21:09:15.841 [debug] QUERY OK source="sources" db=0.2ms idle=7.8ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z], 3] 21:09:15.842 [debug] QUERY OK source="media_items" db=0.5ms idle=5.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 21:09:15.844 [debug] QUERY OK source="tasks" db=0.2ms idle=3.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [9496, 115357, ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z]] 21:09:15.845 [debug] QUERY OK source="media_items" db=0.4ms 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")))) [3] 21:09:15.845 [debug] QUERY OK source="media_items" db=0.1ms idle=2.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 21:09:15.846 [info] No notification servers provided for source 3 21:09:15.847 [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" [9497, 3, ~U[2026-09-16 21:09:15Z], ~U[2026-09-16 21:09:15Z]] 21:09:15.848 [info] {"args":{"id":3},"id":9484,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":81761256,"event":"job:stop","queue_time":876227,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 21:09:15.976 [info] {"args":{"id":115357},"id":9496,"meta":{},"system_time":1789592955975911223,"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"]} 21:09:15.977 [debug] QUERY OK source="media_items" db=0.5ms idle=128.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" = ?) [115357] 21:09:15.977 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:09:15.978 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 21:09:15.979 [debug] QUERY OK source="media_profiles" db=0.6ms idle=130.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] 21:09:15.980 [debug] QUERY OK source="media_items" db=0.5ms idle=125.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 [115357] 21:09:15.981 [debug] QUERY OK source="media_metadata" db=0.2ms idle=5.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [115357] 21:09:15.982 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 21:09:15.982 [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 [] 21:09:15.983 [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 [] 21:09:15.983 [debug] Running yt-dlp command for action: get_downloadable_status 21:09:15.985 [debug] QUERY OK source="settings" db=0.2ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:09:15.985 [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 [] 21:09:15.985 [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 [] 21:09:15.985 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8son5OkbC90 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f5/26/f526641ad8305d545c1a80822e599cd5e6e1276804f0fc290c63ebc7835266b0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:09:18.102 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=STBbuMmU20U --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3c/65/3c65f25593d67cf224493b061ec5f00b62c022e80f6a86eef8be7c117bda8b59.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 21:09:18.103 [debug] Running yt-dlp command for action: download 21:09:18.103 [debug] QUERY OK source="settings" db=0.2ms idle=902.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:18.103 [debug] QUERY OK source="settings" db=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 [] 21:09:18.104 [debug] QUERY OK source="settings" db=0.2ms idle=308.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:18.142 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=STBbuMmU20U --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en,de --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo+bestaudio[format_note*=original]/bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro --output /downloads/%(channel)S/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5c/75/5c75ecbaefb7c622a591f261f4421c39d3cfd88e00a53a8615ddb80a3ebd0647.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:09:19.287 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8son5OkbC90 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f5/26/f526641ad8305d545c1a80822e599cd5e6e1276804f0fc290c63ebc7835266b0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 21:09:19.287 [debug] Running yt-dlp command for action: download 21:09:19.288 [debug] QUERY OK source="settings" db=0.4ms idle=1184.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:19.289 [debug] QUERY OK source="settings" db=0.5ms idle=1184.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:19.289 [debug] QUERY OK source="settings" db=0.3ms idle=1185.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:09:19.291 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8son5OkbC90 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en,de --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo+bestaudio[format_note*=original]/bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro --output /downloads/%(channel)S/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/39/12/3912beb311009d1229b2b820c2e8be3bf2a8ef157ec37ebd6ab400e6371bfa77.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:09:24.128 [info] {"source":"oban","duration":2311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:54.129 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:00.283 [info] {"source":"oban","duration":860,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:10:24.130 [info] {"source":"oban","duration":905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:54.132 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:00.284 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:11:24.133 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:54.134 [info] {"source":"oban","duration":860,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:00.285 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:12:16.427 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=STBbuMmU20U --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en,de --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo+bestaudio[format_note*=original]/bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro --output /downloads/%(channel)S/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5c/75/5c75ecbaefb7c622a591f261f4421c39d3cfd88e00a53a8615ddb80a3ebd0647.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 21:12:17.569 [debug] Running yt-dlp command for action: download_thumbnail 21:12:17.570 [debug] QUERY OK source="settings" db=0.2ms idle=1773.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:12:17.570 [debug] QUERY OK source="settings" db=0.1ms idle=1774.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:12:17.570 [debug] QUERY OK source="settings" db=0.1ms idle=1774.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:12:17.571 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=STBbuMmU20U --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/115304/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ff/1e/ff1ed489f94a57576c1342181490d37ab32cb9e45f842800112bb9a3798e2e5d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:12:21.266 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=STBbuMmU20U --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/115304/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/ff/1e/ff1ed489f94a57576c1342181490d37ab32cb9e45f842800112bb9a3798e2e5d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 21:12:22.051 [debug] QUERY OK db=0.1ms queue=0.2ms idle=2175.7ms begin [] 21:12:22.268 [debug] QUERY OK source="media_items" db=217.6ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-09-16 21:12:16Z], "/downloads/Chris Williamson/2026-01-08 14 Habits for an Optimised Morning & Evening Routine - Arthur Brooks/14 Habits for an Optimised Morning & Evening Routine - Arthur Brooks [STBbuMmU20U].mp4", ~U[2026-09-16 21:12:22Z], 115304] 21:12:22.331 [debug] QUERY OK source="media_metadata" db=3.1ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/115304/metadata.json.gz", "/config/metadata/media_items/115304/thumbnail.jpg", 115304, ~U[2026-09-16 21:12:22Z], ~U[2026-09-16 21:12:22Z]] 21:12:22.334 [debug] QUERY OK db=0.6ms commit [] 21:12:22.396 [debug] QUERY OK source="media_items" db=2.8ms idle=1518.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [726690087, ~U[2026-09-16 21:12:22Z], 115304] 21:12:22.396 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:12:22.397 [info] {"args":{"id":115304},"id":9495,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":188604119,"event":"job:stop","queue_time":791955,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:12:24.136 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:54.138 [info] {"source":"oban","duration":1295,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:00.286 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:13:24.144 [info] {"source":"oban","duration":5313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:54.145 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:00.287 [info] {"source":"oban","duration":202,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:14:24.146 [info] {"source":"oban","duration":833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:27.391 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8son5OkbC90 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-subs --convert-subs srt --embed-subs --sub-langs en,de --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1080,+codec:avc:m4a --format bestvideo+bestaudio[format_note*=original]/bestvideo*+bestaudio/best --sponsorblock-mark sponsor,intro,outro --output /downloads/%(channel)S/%(upload_date>%Y-%m-%d)S %(title)S/%(title)S [%(id)S].%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/39/12/3912beb311009d1229b2b820c2e8be3bf2a8ef157ec37ebd6ab400e6371bfa77.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 21:14:27.616 [debug] Running yt-dlp command for action: download_thumbnail 21:14:27.618 [debug] QUERY OK source="settings" db=0.9ms idle=1564.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:27.618 [debug] QUERY OK source="settings" db=0.1ms idle=1565.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:27.618 [debug] QUERY OK source="settings" db=0.2ms idle=1565.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_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:14:27.783 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8son5OkbC90 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/115357/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/74/cc/74ccf92e95597985591d7de8d53b4d600d71ed9b7fc843f8b8d1f286737f60c6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 21:14:31.080 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=8son5OkbC90 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/115357/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/74/cc/74ccf92e95597985591d7de8d53b4d600d71ed9b7fc843f8b8d1f286737f60c6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 21:14:31.081 [debug] QUERY OK db=0.5ms idle=1027.9ms begin [] 21:14:31.084 [debug] QUERY OK source="media_items" db=2.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-09-16 21:14:27Z], "/downloads/Chris Williamson/2026-09-14 Why You’re Tired, Stressed & Unfocussed (and how to fix it) - Dr Andrew Huberman/Why You’re Tired, Stressed & Unfocussed (and how to fix it) - Dr Andrew Huberman [8son5OkbC90].mp4", ~U[2026-09-16 21:14:31Z], 115357] 21:14:31.086 [debug] QUERY OK source="media_metadata" db=2.0ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/115357/metadata.json.gz", "/config/metadata/media_items/115357/thumbnail.jpg", 115357, ~U[2026-09-16 21:14:31Z], ~U[2026-09-16 21:14:31Z]] 21:14:31.090 [debug] QUERY OK db=3.9ms commit [] 21:14:31.095 [debug] QUERY OK source="media_items" db=4.1ms idle=469.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [1756109091, ~U[2026-09-16 21:14:31Z], 115357] 21:14:31.095 [info] User scripts lifecyle file either not present or is empty. Skipping. 21:14:31.096 [info] {"args":{"id":115357},"id":9496,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":315119621,"event":"job:stop","queue_time":849930,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 21:14:54.148 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:00.288 [info] {"source":"oban","duration":253,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:15:24.149 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:54.152 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:00.289 [info] {"source":"oban","duration":236,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:16:24.154 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:54.155 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:00.290 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:17:24.158 [info] {"source":"oban","duration":1209,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:54.160 [info] {"source":"oban","duration":1608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:00.291 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:18:24.161 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:54.162 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:00.292 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:19:24.164 [info] {"source":"oban","duration":1129,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:54.165 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:00.293 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:20:24.168 [info] {"source":"oban","duration":2169,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:54.169 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:00.295 [info] {"source":"oban","duration":234,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:21:24.170 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:54.171 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:00.296 [info] {"source":"oban","duration":201,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:22:24.174 [info] {"source":"oban","duration":2905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:54.176 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:00.297 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:23:24.177 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:54.178 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:00.298 [info] {"source":"oban","duration":124,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:24:24.180 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:54.182 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:00.299 [info] {"source":"oban","duration":244,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:25:24.183 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:54.184 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:00.300 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:26:24.185 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:54.186 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:00.301 [info] {"source":"oban","duration":227,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:27:24.187 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:54.188 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:00.302 [info] {"source":"oban","duration":193,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:28:24.189 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:54.190 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:00.303 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:29:24.191 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:54.192 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:00.304 [info] {"source":"oban","duration":224,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:30:24.193 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:54.194 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:00.305 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:31:24.196 [info] {"source":"oban","duration":1311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:54.197 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:00.306 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:32:24.199 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:54.200 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:00.307 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:33:24.201 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:54.204 [info] {"source":"oban","duration":1165,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:00.308 [info] {"source":"oban","duration":242,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:34:24.206 [info] {"source":"oban","duration":1239,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:54.207 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:00.309 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:35:24.208 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:54.209 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:00.310 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:36:24.210 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:54.211 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:00.311 [info] {"source":"oban","duration":251,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:37:24.212 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:54.213 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:00.312 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:38:24.214 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:54.215 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:00.313 [info] {"source":"oban","duration":194,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:39:24.216 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:54.217 [info] {"source":"oban","duration":939,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:00.314 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:40:24.219 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:54.220 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:00.315 [info] {"source":"oban","duration":192,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:41:24.221 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:54.222 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:00.316 [info] {"source":"oban","duration":188,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:42:24.223 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:54.224 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:00.317 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:43:24.225 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:54.226 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:00.318 [info] {"source":"oban","duration":246,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:44:24.228 [info] {"source":"oban","duration":1521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:54.229 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:00.319 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:45:24.230 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:54.231 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:00.320 [info] {"source":"oban","duration":301,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:46:24.232 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:54.233 [info] {"source":"oban","duration":837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:00.321 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:47:24.235 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:54.236 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:00.322 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:48:24.237 [info] {"source":"oban","duration":847,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:54.239 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:00.323 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:49:24.240 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:54.241 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:00.324 [info] {"source":"oban","duration":580,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:50:24.242 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:54.243 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:00.326 [info] {"source":"oban","duration":239,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:51:24.244 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:54.245 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:00.327 [info] {"source":"oban","duration":233,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:52:24.246 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:54.248 [info] {"source":"oban","duration":1833,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:00.328 [info] {"source":"oban","duration":256,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:53:24.250 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:54.251 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:00.329 [info] {"source":"oban","duration":222,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:54:24.252 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:54.253 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:00.336 [info] {"source":"oban","duration":212,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:55:24.254 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:54.255 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:00.338 [info] {"source":"oban","duration":200,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:56:24.256 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:54.257 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:00.340 [info] {"source":"oban","duration":264,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:57:24.258 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:54.259 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:00.341 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:58:24.260 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:54.261 [info] {"source":"oban","duration":905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:00.342 [info] {"source":"oban","duration":404,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 21:59:24.263 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:54.264 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:00.343 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:00:20.499 [notice] :alarm_handler: {:clear, :system_memory_high_watermark} 22:00:24.265 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:54.268 [info] {"source":"oban","duration":1199,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:00.344 [info] {"source":"oban","duration":986,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:01:24.270 [info] {"source":"oban","duration":2009,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:54.273 [info] {"source":"oban","duration":1361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:00.346 [info] {"source":"oban","duration":335,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:02:20.509 [notice] :alarm_handler: {:set, {:system_memory_high_watermark, []}} 22:02:24.280 [info] {"source":"oban","duration":969,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:54.282 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:00.347 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:03:24.284 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:54.285 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:00.348 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:04:24.286 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:54.287 [info] {"source":"oban","duration":853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:00.349 [info] {"source":"oban","duration":189,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:05:24.289 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:54.290 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:00.350 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:06:24.291 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:54.292 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:00.351 [info] {"source":"oban","duration":208,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:07:24.294 [info] {"source":"oban","duration":975,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:54.295 [info] {"source":"oban","duration":906,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:00.352 [info] {"source":"oban","duration":191,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:08:24.297 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:54.300 [info] {"source":"oban","duration":1281,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:00.353 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:09:24.302 [info] {"source":"oban","duration":1414,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:54.303 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:00.354 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:10:24.304 [info] {"source":"oban","duration":867,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:54.306 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:00.355 [info] {"source":"oban","duration":238,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:11:24.307 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:54.311 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:00.356 [info] {"source":"oban","duration":190,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:12:24.313 [info] {"source":"oban","duration":1142,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:54.315 [info] {"source":"oban","duration":1315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:00.357 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:13:24.322 [info] {"source":"oban","duration":6285,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 22:13:54.325 [info] {"source":"oban","duration":2741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:00.358 [info] {"source":"oban","duration":228,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:14:24.326 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:54.327 [info] {"source":"oban","duration":837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:00.359 [info] {"source":"oban","duration":183,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:15:24.329 [info] {"source":"oban","duration":1982,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:54.331 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:00.361 [info] {"source":"oban","duration":1898,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:16:24.332 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:54.333 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:00.363 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:17:24.334 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:54.335 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:00.364 [info] {"source":"oban","duration":271,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:18:24.336 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:54.337 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:00.415 [info] {"source":"oban","duration":50767,"event":"plugin:stop","jobs":[9498],"plugin":"Oban.Plugins.Cron"} 22:19:00.443 [info] {"args":{},"id":9498,"meta":{"cron":true,"cron_expr":"19 22 * * *","cron_tz":"Etc/UTC"},"system_time":1789597140432201561,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 22:19:00.458 [info] Updating yt-dlp 22:19:00.463 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 22:19:02.046 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.08.19 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.08.19 from yt-dlp/yt-dlp) 22:19:02.048 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 22:19:03.438 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.08.19 22:19:03.441 [debug] QUERY OK source="settings" db=1.4ms idle=1359.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:19:03.473 [info] {"args":{},"id":9498,"meta":{"cron":true,"cron_expr":"19 22 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":3040628,"event":"job:stop","queue_time":420158,"attempt":1,"tags":["local_data"]} 22:19:11.125 [info] GET / 22:19:11.125 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:19:11.142 [debug] QUERY OK source="settings" db=0.2ms idle=1064.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:19:11.144 [debug] QUERY OK source="media_profiles" db=1.7ms idle=800.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:19:11.145 [debug] QUERY OK source="sources" db=0.5ms idle=66.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:19:11.266 [debug] QUERY OK source="media_items" db=121.0ms idle=67.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:19:11.280 [debug] QUERY OK source="media_items" db=13.5ms idle=188.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:19:11.365 [debug] QUERY OK source="settings" db=0.2ms idle=220.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:19:11.365 [debug] QUERY OK source="settings" db=0.1ms idle=219.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:19:11.383 [debug] QUERY OK source="settings" db=0.2ms idle=117.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:19:11.518 [debug] QUERY OK source="tasks" db=0.4ms idle=237.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 22:19:11.575 [debug] QUERY OK source="media_items" db=1.3ms idle=230.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)) [] 22:19:11.577 [debug] QUERY OK source="media_items" db=0.6ms idle=211.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:19:11.578 [debug] QUERY OK source="sources" db=0.2ms idle=212.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", 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 (?,?,?,?)) [4, 2, 1, 3] 22:19:11.593 [debug] QUERY OK source="media_items" db=3.1ms idle=207.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:19:11.597 [debug] QUERY OK source="media_items" db=3.1ms idle=75.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:19:11.639 [info] Sent 200 in 514ms 22:19:24.339 [info] {"source":"oban","duration":1098,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:44.557 [info] GET / 22:19:44.557 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:19:44.558 [debug] QUERY OK source="settings" db=0.4ms idle=1479.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:19:44.560 [debug] QUERY OK source="media_profiles" db=1.6ms idle=1174.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:19:44.560 [debug] QUERY OK source="sources" db=0.2ms idle=482.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:19:44.561 [debug] QUERY OK source="media_items" db=1.0ms idle=482.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:19:44.562 [debug] QUERY OK source="media_items" db=0.4ms idle=177.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:19:44.563 [debug] QUERY OK source="settings" db=0.3ms queue=0.4ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:19:44.565 [debug] QUERY OK source="settings" db=1.6ms 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 [] 22:19:44.566 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:19:44.570 [debug] QUERY OK source="tasks" db=0.2ms idle=8.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 22:19:44.571 [debug] QUERY OK source="media_items" db=0.8ms 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 (NOT (m0."media_filepath" IS NULL)) [] 22:19:44.573 [debug] QUERY OK source="media_items" db=2.0ms idle=8.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:19:44.576 [debug] QUERY OK source="sources" db=1.0ms 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 (?,?,?,?)) [4, 2, 1, 3] 22:19:44.582 [debug] QUERY OK source="media_items" db=4.6ms idle=10.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:19:44.587 [debug] QUERY OK source="media_items" db=4.3ms queue=0.5ms idle=12.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:19:44.588 [info] Sent 200 in 31ms 22:19:44.627 [info] GET / 22:19:44.627 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:19:44.627 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:19:44.628 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.2ms idle=54.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:19:44.629 [debug] QUERY OK source="sources" db=0.3ms idle=52.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:19:44.630 [debug] QUERY OK source="media_items" db=1.4ms idle=47.2ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:19:44.631 [debug] QUERY OK source="media_items" db=0.5ms idle=43.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:19:44.632 [debug] QUERY OK source="settings" db=0.4ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:19:44.632 [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 [] 22:19:44.633 [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 [] 22:19:44.634 [debug] QUERY OK source="tasks" db=0.2ms queue=0.2ms 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"] 22:19:44.635 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:19:44.636 [debug] QUERY OK source="media_items" db=0.5ms 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:19:44.637 [debug] QUERY OK source="sources" db=0.4ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [4, 2, 1, 3] 22:19:44.655 [debug] QUERY OK source="media_items" db=17.5ms 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 (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:19:44.657 [debug] QUERY OK source="media_items" db=1.7ms idle=21.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:19:44.678 [info] Sent 200 in 51ms 22:19:45.747 [info] GET / 22:19:45.747 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:19:45.748 [debug] QUERY OK source="settings" db=0.1ms idle=1111.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:19:45.748 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1111.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:19:45.748 [debug] QUERY OK source="sources" db=0.1ms idle=1092.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:19:45.749 [debug] QUERY OK source="media_items" db=0.6ms idle=1091.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:19:45.750 [debug] QUERY OK source="media_items" db=0.2ms idle=363.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:19:45.750 [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 [] 22:19:45.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 [] 22:19:45.751 [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 [] 22:19:45.752 [debug] QUERY OK source="tasks" db=0.3ms 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"] 22:19:45.753 [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 (NOT (m0."media_filepath" IS NULL)) [] 22:19:45.753 [debug] QUERY OK source="media_items" db=0.3ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:19:45.754 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [4, 2, 1, 3] 22:19:45.756 [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"))) [] 22:19:45.758 [debug] QUERY OK source="media_items" db=1.7ms 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] 22:19:45.759 [info] Sent 200 in 12ms 22:19:54.341 [info] {"source":"oban","duration":1093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:00.416 [info] {"source":"oban","duration":419,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:20:24.343 [info] {"source":"oban","duration":1475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:54.344 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:00.418 [info] {"source":"oban","duration":205,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:21:24.345 [info] {"source":"oban","duration":963,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:54.347 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:00.419 [info] {"source":"oban","duration":250,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:22:24.349 [info] {"source":"oban","duration":1088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:54.350 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:00.420 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:23:05.601 [info] GET / 22:23:05.601 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:23:05.602 [debug] QUERY OK source="settings" db=0.2ms idle=1523.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:05.602 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1524.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:23:05.602 [debug] QUERY OK source="sources" db=0.0ms idle=1524.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:23:05.603 [debug] QUERY OK source="media_items" db=0.4ms idle=1524.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:05.603 [debug] QUERY OK source="media_items" db=0.2ms idle=972.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:05.604 [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 [] 22:23:05.604 [debug] QUERY OK source="settings" db=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 [] 22:23:05.605 [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 [] 22:23:05.607 [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"] 22:23:05.608 [debug] QUERY OK source="media_items" db=0.6ms 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 (m0."media_filepath" IS NULL)) [] 22:23:05.609 [debug] QUERY OK source="media_items" db=0.6ms 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] 22:23:05.610 [debug] QUERY OK source="sources" db=0.4ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [4, 2, 1, 3] 22:23:05.612 [debug] QUERY OK source="media_items" db=1.5ms 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"))) [] 22:23:05.614 [debug] QUERY OK source="media_items" db=1.7ms idle=5.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:23:05.615 [info] Sent 200 in 14ms 22:23:08.358 [info] GET / 22:23:08.358 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:23:08.359 [debug] QUERY OK source="settings" db=0.7ms idle=1280.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:08.361 [debug] QUERY OK source="media_profiles" db=1.3ms idle=1281.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:23:08.363 [debug] QUERY OK source="sources" db=1.2ms idle=1283.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:23:08.365 [debug] QUERY OK source="media_items" db=1.7ms idle=1285.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:08.366 [debug] QUERY OK source="media_items" db=0.8ms idle=731.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:08.366 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:08.367 [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 [] 22:23:08.367 [debug] QUERY OK source="settings" db=0.2ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:08.369 [debug] QUERY OK source="tasks" db=0.6ms idle=3.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 22:23:08.370 [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)) [] 22:23:08.370 [debug] QUERY OK source="media_items" db=0.5ms 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:23:08.371 [debug] QUERY OK source="sources" db=0.4ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [4, 2, 1, 3] 22:23:08.375 [debug] QUERY OK source="media_items" db=2.6ms 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"))) [] 22:23:08.377 [debug] QUERY OK source="media_items" db=1.7ms idle=6.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:23:08.378 [info] Sent 200 in 20ms 22:23:09.291 [info] GET /console/ 22:23:09.291 [debug] QUERY OK source="settings" db=0.1ms idle=920.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:09.292 [debug] QUERY OK source="settings" db=0.1ms idle=920.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:09.313 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:09.314 [error] #PID<0.9240.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 3) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9240.0>, params: %{}, path_info: ["console"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/console/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWAerKcowve4AAPVB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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 /console (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9240.0>, params: %{}, path_info: ["console"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47" (truncated) 22:23:10.496 [info] GET /console/ 22:23:10.496 [debug] QUERY OK source="settings" db=0.2ms idle=1204.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:10.497 [debug] QUERY OK source="settings" db=0.4ms idle=1204.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:10.497 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:10.497 [error] #PID<0.9241.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 4) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9241.0>, params: %{}, path_info: ["console"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/console/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWE96dJIF6V0AAPVh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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 /console (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/console/", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9241.0>, params: %{}, path_info: ["console"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, (truncated) 22:23:10.769 [info] GET /server 22:23:10.770 [debug] QUERY OK source="settings" db=0.2ms idle=691.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:10.770 [debug] QUERY OK source="settings" db=0.2ms idle=692.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:10.770 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:10.771 [error] #PID<0.9242.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 5) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9242.0>, params: %{}, path_info: ["server"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/server", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWF_Jf0qlzZEAAPWB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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 /server (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9242.0>, params: %{}, path_info: ["server"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], (truncated) 22:23:11.993 [info] GET /server-status 22:23:11.994 [debug] QUERY OK source="settings" db=0.4ms idle=1496.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:11.995 [debug] QUERY OK source="settings" db=0.1ms idle=1357.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:11.995 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:11.995 [error] #PID<0.9243.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 6) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9243.0>, params: %{}, path_info: ["server-status"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/server-status", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWKjCZMNoDC0AAPWh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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 /server-status (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9243.0>, params: %{}, path_info: ["server-status"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4c (truncated) 22:23:12.035 [info] GET /server 22:23:12.036 [debug] QUERY OK source="settings" db=0.1ms idle=1266.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:12.036 [debug] QUERY OK source="settings" db=0.2ms idle=1265.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:12.037 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:12.037 [error] #PID<0.9244.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 7) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9244.0>, params: %{}, path_info: ["server"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/server", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWKtD3CUXVjQAAPXB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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 /server (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9244.0>, params: %{}, path_info: ["server"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-i (truncated) 22:23:12.929 [info] GET /about 22:23:12.930 [debug] QUERY OK source="settings" db=0.1ms idle=935.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:12.930 [debug] QUERY OK source="settings" db=0.1ms idle=935.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:12.930 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:12.931 [error] #PID<0.9245.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 8) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9245.0>, params: %{}, path_info: ["about"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/about", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWOCKQLY5YQMAAPXh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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 /about (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9245.0>, params: %{}, path_info: ["about"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], (truncated) 22:23:13.109 [info] GET /server-status 22:23:13.110 [debug] QUERY OK source="settings" db=0.2ms idle=470.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:13.110 [debug] QUERY OK source="settings" db=0.2ms idle=180.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:13.111 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:13.111 [error] #PID<0.9246.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 9) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9246.0>, params: %{}, path_info: ["server-status"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/server-status", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWOtFhis_lXMAAPYB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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 /server-status (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server-status", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9246.0>, params: %{}, path_info: ["server-status"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, (truncated) 22:23:14.209 [info] GET /about 22:23:14.209 [debug] QUERY OK source="settings" db=0.1ms idle=1131.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:14.210 [debug] QUERY OK source="settings" db=0.0ms idle=1131.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:14.210 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:14.210 [error] #PID<0.9247.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 10) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9247.0>, params: %{}, path_info: ["about"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/about", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWSzNVofh-HEAAPYh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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 /about (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/about", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9247.0>, params: %{}, path_info: ["about"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", " (truncated) 22:23:14.435 [info] GET /login.action 22:23:14.472 [debug] QUERY OK source="settings" db=0.1ms idle=1361.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:14.472 [debug] QUERY OK source="settings" db=0.1ms idle=1361.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:14.472 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:14.473 [error] #PID<0.9248.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 11) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9248.0>, params: %{}, path_info: ["login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/login.action", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWTpOGi_9vh8AAPZB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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 /login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9248.0>, params: %{}, path_info: ["login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", (truncated) 22:23:14.845 [info] GET /login.action 22:23:14.846 [debug] QUERY OK source="settings" db=0.1ms idle=636.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:14.846 [debug] QUERY OK source="settings" db=0.1ms idle=636.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:14.846 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:14.846 [error] #PID<0.9249.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 12) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9249.0>, params: %{}, path_info: ["login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/login.action", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWVK5kye2cKQAAPZh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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 /login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/login.action", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9249.0>, params: %{}, path_info: ["login"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4 (truncated) 22:23:15.123 [info] GET / 22:23:15.123 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:23:15.124 [debug] QUERY OK source="settings" db=0.1ms idle=651.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:15.124 [debug] QUERY OK source="media_profiles" db=0.1ms idle=651.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:23:15.124 [debug] QUERY OK source="sources" db=0.1ms idle=482.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:23:15.126 [debug] QUERY OK source="media_items" db=2.2ms idle=278.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:15.127 [debug] QUERY OK source="media_items" db=0.2ms idle=280.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:15.127 [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 [] 22:23:15.127 [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 [] 22:23:15.128 [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 [] 22:23:15.129 [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"] 22:23:15.130 [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 (NOT (m0."media_filepath" IS NULL)) [] 22:23:15.130 [debug] QUERY OK source="media_items" db=0.3ms 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] 22:23:15.131 [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 (?,?,?,?)) [4, 2, 1, 3] 22:23:15.133 [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"))) [] 22:23:15.135 [debug] QUERY OK source="media_items" db=1.8ms 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] 22:23:15.136 [info] Sent 200 in 13ms 22:23:16.013 [info] GET / 22:23:16.013 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:23:16.014 [debug] QUERY OK source="settings" db=0.1ms idle=883.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:16.014 [debug] QUERY OK source="media_profiles" db=0.1ms idle=882.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:23:16.014 [debug] QUERY OK source="sources" db=0.0ms idle=880.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:23:16.015 [debug] QUERY OK source="media_items" db=0.4ms idle=878.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:16.015 [debug] QUERY OK source="media_items" db=0.2ms idle=372.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:16.015 [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 [] 22:23:16.016 [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 [] 22:23:16.016 [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 [] 22:23:16.017 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 22:23:16.018 [debug] QUERY OK source="media_items" db=0.3ms 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 (NOT (m0."media_filepath" IS NULL)) [] 22:23:16.019 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:23:16.020 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [4, 2, 1, 3] 22:23:16.022 [debug] QUERY OK source="media_items" db=1.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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:23:16.024 [debug] QUERY OK source="media_items" db=1.7ms idle=4.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:23:16.025 [info] Sent 200 in 11ms 22:23:16.138 [info] GET /___proxy_subdomain_whm/login 22:23:16.138 [debug] QUERY OK source="settings" db=0.1ms idle=119.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:16.138 [debug] QUERY OK source="settings" db=0.1ms idle=119.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:16.138 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:16.139 [error] #PID<0.9253.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 15) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_whm/login", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9253.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/___proxy_subdomain_whm/login", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWZ_FA-5GfTAAAPfh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_whm/login", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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 /___proxy_subdomain_whm/login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_whm/login", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9253.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.si (truncated) 22:23:16.665 [info] GET /___proxy_subdomain_whm/login 22:23:16.665 [debug] QUERY OK source="settings" db=0.1ms idle=643.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:16.666 [debug] QUERY OK source="settings" db=0.1ms idle=641.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:16.666 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:16.666 [error] #PID<0.9254.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 16) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_whm/login", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9254.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/___proxy_subdomain_whm/login", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWb8zMdwmHcgAAPgB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_whm/login", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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 /___proxy_subdomain_whm/login (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_whm/login", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9254.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwar (truncated) 22:23:17.339 [info] GET /___proxy_subdomain_cpanel 22:23:17.340 [debug] QUERY OK source="settings" db=0.1ms idle=1201.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:17.340 [debug] QUERY OK source="settings" db=0.1ms idle=1201.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:17.340 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:17.341 [error] #PID<0.9255.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 17) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_cpanel", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9255.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/___proxy_subdomain_cpanel", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWedpHuuuNrgAAPgh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_cpanel", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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 /___proxy_subdomain_cpanel (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_cpanel", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9255.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-fo (truncated) 22:23:17.679 [info] GET /___proxy_subdomain_cpanel 22:23:17.680 [debug] QUERY OK source="settings" db=0.1ms idle=1014.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:17.680 [debug] QUERY OK source="settings" db=0.1ms idle=1014.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:17.680 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:17.680 [error] #PID<0.9256.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 18) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_cpanel", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9256.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/___proxy_subdomain_cpanel", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWfun0kH4FLQAAPhB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_cpanel", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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 /___proxy_subdomain_cpanel (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/___proxy_subdomain_cpanel", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9256.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_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.sim (truncated) 22:23:18.435 [info] GET /v2/_catalog 22:23:18.530 [info] Sent 404 in 95ms 22:23:18.530 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:18.543 [info] GET /v2/_catalog 22:23:18.543 [info] Sent 404 in 228µs 22:23:18.543 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:19.690 [info] GET /.DS_Store 22:23:19.690 [debug] QUERY OK source="settings" db=0.1ms idle=612.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:19.691 [debug] QUERY OK source="settings" db=0.0ms idle=613.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:19.691 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:19.691 [error] #PID<0.9259.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 21) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9259.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/.DS_Store", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWnOBt-kAs6cAAPih"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9259.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", " (truncated) 22:23:20.217 [info] GET /.DS_Store 22:23:20.217 [debug] QUERY OK source="settings" db=0.1ms idle=1139.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:20.218 [debug] QUERY OK source="settings" db=0.4ms idle=1139.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:20.218 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:20.219 [error] #PID<0.9261.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 22) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9261.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/.DS_Store", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWpLoI09Koa4AAPjB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.DS_Store", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9261.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], (truncated) 22:23:21.088 [info] GET /.env 22:23:21.089 [debug] QUERY OK source="settings" db=0.2ms idle=870.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:21.089 [debug] QUERY OK source="settings" db=0.3ms idle=870.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:21.089 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:21.090 [error] #PID<0.9262.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 23) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9262.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWsbVW2IawkoAAPjh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9262.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} (truncated) 22:23:21.575 [info] GET / 22:23:21.575 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:23:21.575 [debug] QUERY OK source="settings" db=0.1ms idle=927.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:21.576 [debug] QUERY OK source="media_profiles" db=0.7ms idle=497.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:23:21.577 [debug] QUERY OK source="sources" db=0.6ms idle=498.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:23:21.578 [debug] QUERY OK source="media_items" db=1.0ms idle=488.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:21.579 [debug] QUERY OK source="media_items" db=0.2ms idle=489.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:21.579 [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 [] 22:23:21.579 [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 [] 22:23:21.580 [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 [] 22:23:21.581 [debug] QUERY OK source="tasks" db=0.2ms 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"] 22:23:21.582 [debug] QUERY OK source="media_items" db=0.3ms 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 (NOT (m0."media_filepath" IS NULL)) [] 22:23:21.582 [debug] QUERY OK source="media_items" db=0.3ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:23:21.583 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [4, 2, 1, 3] 22:23:21.586 [debug] QUERY OK source="media_items" db=1.5ms 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"))) [] 22:23:21.588 [debug] QUERY OK source="media_items" db=1.7ms idle=4.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:23:21.589 [info] Sent 200 in 13ms 22:23:21.746 [info] GET /.env 22:23:21.747 [debug] QUERY OK source="settings" db=0.1ms idle=164.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:21.747 [debug] QUERY OK source="settings" db=0.1ms idle=163.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:21.747 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:21.747 [error] #PID<0.9264.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 25) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9264.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWu4S5dZFiI4AAPoB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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 / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9264.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/.en (truncated) 22:23:22.005 [info] GET /media_profiles 22:23:22.005 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 22:23:22.078 [info] GET /app_info 22:23:22.102 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 22:23:22.116 [info] GET /sources/3/media/115357 22:23:22.139 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "115357", "source_id" => "3"} Pipelines: [:browser] 22:23:22.150 [debug] QUERY OK source="settings" db=22.7ms queue=0.1ms idle=530.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.161 [info] GET /sources/3 22:23:22.161 [info] GET /settings 22:23:22.162 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 22:23:22.162 [info] GET /sources 22:23:22.162 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 22:23:22.162 [info] GET /sources/3/media/115304 22:23:22.162 [info] GET /sources/1/media/113855 22:23:22.162 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 22:23:22.166 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "115304", "source_id" => "3"} Pipelines: [:browser] 22:23:22.166 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "113855", "source_id" => "1"} Pipelines: [:browser] 22:23:22.162 [debug] QUERY OK source="media_items" db=1.0ms queue=8.1ms idle=565.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" = ?) [115357] 22:23:22.172 [debug] QUERY OK source="media_items" db=0.4ms queue=4.9ms idle=27.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" = ?) [113855] 22:23:22.172 [debug] QUERY OK source="settings" db=0.8ms queue=5.4ms idle=419.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.173 [debug] QUERY OK source="settings" db=10.8ms queue=0.6ms idle=513.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.174 [debug] QUERY OK source="media_items" db=2.4ms queue=5.0ms idle=419.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" = ?) [115304] 22:23:22.174 [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" = ?) [3] 22:23:22.174 [debug] QUERY OK source="settings" db=1.0ms queue=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 [] 22:23:22.175 [debug] QUERY OK source="tasks" db=0.9ms queue=0.5ms idle=0.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" [113855] 22:23:22.175 [debug] QUERY OK source="tasks" db=2.7ms queue=0.5ms 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" [115357] 22:23:22.175 [debug] QUERY OK source="sources" db=0.6ms queue=0.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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:22.175 [debug] QUERY OK source="settings" db=0.5ms queue=0.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 [] 22:23:22.176 [debug] QUERY OK source="sources" db=0.8ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:22.176 [debug] QUERY OK source="settings" db=1.3ms 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 [] 22:23:22.177 [debug] QUERY OK source="settings" db=1.2ms queue=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 [] 22:23:22.179 [debug] QUERY OK source="oban_jobs" db=2.2ms queue=1.2ms 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" = ?) [9474] 22:23:22.183 [debug] QUERY OK source="settings" db=5.7ms 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 [] 22:23:22.183 [debug] QUERY OK source="tasks" db=6.2ms 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" [115304] 22:23:22.184 [debug] QUERY OK source="oban_jobs" db=6.4ms queue=1.2ms 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" = ?) [9496] 22:23:22.184 [debug] QUERY OK source="settings" db=0.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 [] 22:23:22.185 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.3ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (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" [] 22:23:22.187 [debug] QUERY OK source="settings" db=2.9ms 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 [] 22:23:22.187 [debug] QUERY OK source="settings" db=2.9ms queue=3.3ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.187 [info] Sent 200 in 109ms 22:23:22.187 [debug] QUERY OK source="oban_jobs" db=2.1ms queue=0.8ms 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" = ?) [9495] 22:23:22.188 [debug] QUERY OK source="settings" db=0.5ms queue=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 [] 22:23:22.188 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:23:22.188 [debug] QUERY OK source="settings" db=0.6ms queue=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 [] 22:23:22.189 [debug] QUERY OK source="settings" db=0.6ms queue=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 [] 22:23:22.188 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:23:22.189 [debug] QUERY OK source="settings" db=0.5ms queue=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 [] 22:23:22.189 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 22:23:22.190 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:23:22.192 [debug] QUERY OK source="settings" db=2.7ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.195 [debug] QUERY OK source="media_profiles" db=2.4ms queue=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] 22:23:22.200 [info] Sent 200 in 38ms 22:23:22.201 [info] Sent 200 in 196ms 22:23:22.201 [debug] QUERY OK source="media_profiles" db=6.3ms queue=1.5ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:22.201 [debug] QUERY OK source="settings" db=0.3ms queue=11.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 [] 22:23:22.201 [debug] QUERY OK source="settings" db=6.4ms queue=1.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 [] 22:23:22.204 [debug] QUERY OK source="settings" db=0.7ms queue=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 [] 22:23:22.204 [debug] QUERY OK source="sources" db=2.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" = ?) [3] 22:23:22.205 [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 [] 22:23:22.206 [debug] QUERY OK source="media_profiles" db=1.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:23:22.206 [debug] QUERY OK source="media_profiles" db=1.6ms queue=0.4ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:23:22.207 [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 [] 22:23:22.220 [info] Sent 200 in 58ms 22:23:22.220 [info] Sent 200 in 104ms 22:23:22.220 [info] Sent 200 in 58ms 22:23:22.227 [debug] QUERY OK source="settings" db=0.1ms idle=21.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.230 [debug] QUERY OK source="tasks" db=13.3ms idle=2.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 (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 22:23:22.230 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=24.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" = ?) [9497] 22:23:22.231 [debug] QUERY OK source="settings" db=0.1ms idle=24.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.231 [debug] QUERY OK source="settings" db=0.0ms idle=23.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.231 [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 [] 22:23:22.265 [debug] QUERY OK source="sources" db=3.2ms queue=0.4ms idle=34.4ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 22:23:22.275 [debug] QUERY OK source="sources" db=0.7ms idle=43.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:22.294 [debug] QUERY OK source="media_items" db=1.2ms queue=0.5ms idle=61.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")))) [3] 22:23:22.295 [debug] QUERY OK source="sources" db=9.3ms queue=2.9ms idle=52.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", 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] 22:23:22.296 [debug] QUERY OK source="media_items" db=1.0ms queue=0.6ms idle=62.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 ? [3, 10, 0] 22:23:22.309 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [3] 22:23:22.309 [debug] QUERY OK source="media_items" db=0.1ms queue=0.3ms idle=34.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 22:23:22.310 [debug] QUERY OK source="media_items" db=0.3ms queue=0.3ms idle=15.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 ? [3, 10, 0] 22:23:22.312 [info] GET /sources/1 22:23:22.312 [debug] QUERY OK source="sources" db=0.2ms idle=16.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:22.312 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:23:22.313 [debug] QUERY OK source="sources" db=0.3ms idle=16.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:22.313 [debug] QUERY OK source="media_items" db=0.4ms queue=0.3ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [3] 22:23:22.313 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 22:23:22.314 [debug] QUERY OK source="media_items" db=0.4ms queue=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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 22:23:22.315 [debug] QUERY OK source="tasks" db=1.6ms idle=1.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 22:23:22.316 [info] Sent 200 in 154ms 22:23:22.316 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.1ms 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" = ?) [9489] 22:23:22.317 [debug] QUERY OK source="settings" db=0.2ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.317 [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 [] 22:23:22.318 [debug] QUERY OK source="settings" db=0.5ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.320 [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" = ?) [1] 22:23:22.320 [debug] QUERY OK source="media_items" db=0.4ms idle=3.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 22:23:22.321 [debug] QUERY OK source="media_items" db=0.5ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:23:22.322 [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" = ?) [1] 22:23:22.322 [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)) [1] 22:23:22.323 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:23:22.324 [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" = ?) [1] 22:23:22.325 [debug] QUERY OK source="media_items" db=0.2ms idle=3.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 22:23:22.326 [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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:23:22.327 [info] Sent 200 in 15ms 22:23:22.394 [debug] QUERY OK db=0.1ms idle=71.3ms SELECT regexp_like('', ?) ["(?i).*Freitagsgebet.*"] 22:23:22.411 [info] GET /sources/2/media/113281 22:23:22.411 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "113281", "source_id" => "2"} Pipelines: [:browser] 22:23:22.412 [debug] QUERY OK source="media_items" db=0.2ms idle=88.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" = ?) [113281] 22:23:22.413 [debug] QUERY OK source="tasks" db=0.3ms idle=88.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" [113281] 22:23:22.413 [debug] QUERY OK source="sources" db=0.4ms idle=87.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:23:22.414 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=87.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" = ?) [9466] 22:23:22.415 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:22.415 [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 [] 22:23:22.416 [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 [] 22:23:22.417 [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] 22:23:22.419 [info] Sent 200 in 7ms 22:23:22.424 [info] GET /sources/2 22:23:22.424 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:23:22.425 [debug] QUERY OK source="sources" db=0.2ms idle=10.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:23:22.425 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:23:22.426 [debug] QUERY OK source="tasks" db=0.2ms idle=9.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 (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 22:23:22.426 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=9.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" = ?) [9491] 22:23:22.427 [debug] QUERY OK source="settings" db=0.3ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.427 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:22.428 [debug] QUERY OK source="settings" db=0.6ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.430 [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" = ?) [2] 22:23:22.431 [debug] QUERY OK source="media_items" db=0.3ms idle=4.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 22:23:22.432 [debug] QUERY OK source="media_items" db=1.0ms idle=4.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 ? [2, 10, 0] 22:23:22.434 [debug] QUERY OK source="sources" db=0.7ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:23:22.434 [debug] QUERY OK source="media_items" db=0.3ms idle=5.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 22:23:22.435 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 22:23:22.436 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:23:22.437 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 22:23:22.438 [debug] QUERY OK source="media_items" db=0.6ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 22:23:22.439 [info] Sent 200 in 15ms 22:23:22.441 [info] Sent 200 in 279ms 22:23:22.451 [info] GET /sources/4/media/109769 22:23:22.451 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "109769", "source_id" => "4"} Pipelines: [:browser] 22:23:22.451 [debug] QUERY OK source="media_items" db=0.2ms idle=16.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" = ?) [109769] 22:23:22.452 [debug] QUERY OK source="tasks" db=0.2ms idle=17.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" [109769] 22:23:22.452 [debug] QUERY OK source="sources" db=0.4ms idle=15.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 22:23:22.453 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=15.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" = ?) [9423] 22:23:22.453 [debug] QUERY OK source="settings" db=0.1ms idle=15.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.453 [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 [] 22:23:22.454 [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 [] 22:23:22.455 [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] 22:23:22.458 [info] Sent 200 in 7ms 22:23:22.535 [info] GET /sources/4 22:23:22.535 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "4"} Pipelines: [:browser] 22:23:22.536 [debug] QUERY OK source="sources" db=0.2ms idle=82.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 22:23:22.536 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=82.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] 22:23:22.537 [debug] QUERY OK source="tasks" db=0.4ms idle=83.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 (?,?,?,?)) [4, "executing", "available", "scheduled", "retryable"] 22:23:22.537 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=83.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" = ?) [9492] 22:23:22.538 [debug] QUERY OK source="settings" db=0.2ms idle=82.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.538 [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 [] 22:23:22.539 [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 [] 22:23:22.541 [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" = ?) [4] 22:23:22.542 [debug] QUERY OK source="media_items" db=0.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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [4] 22:23:22.542 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 22:23:22.543 [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" = ?) [4] 22:23:22.543 [debug] QUERY OK source="media_items" db=0.1ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [4] 22:23:22.544 [debug] QUERY OK source="media_items" db=0.4ms idle=2.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 22:23:22.545 [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" = ?) [4] 22:23:22.546 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [4] 22:23:22.546 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 22:23:22.547 [info] Sent 200 in 12ms 22:23:22.554 [info] GET /media_profiles/2/ 22:23:22.554 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:23:22.555 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms 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" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:23:22.556 [debug] QUERY OK source="sources" db=0.2ms queue=0.2ms idle=11.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 22:23:22.556 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:22.557 [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 [] 22:23:22.557 [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 [] 22:23:22.559 [info] GET /media_profiles/new 22:23:22.559 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 22:23:22.559 [debug] QUERY OK source="settings" db=0.2ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.560 [debug] QUERY OK source="settings" db=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.560 [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 [] 22:23:22.561 [debug] QUERY OK source="settings" db=0.2ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.561 [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 [] 22:23:22.598 [info] Sent 200 in 43ms 22:23:22.598 [info] GET /media_profiles/2 22:23:22.598 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:23:22.599 [debug] QUERY OK source="media_profiles" db=0.2ms idle=39.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] 22:23:22.600 [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" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 22:23:22.600 [debug] QUERY OK source="settings" db=0.2ms idle=40.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.601 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:22.601 [debug] QUERY OK source="settings" db=0.1ms idle=39.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.603 [info] Sent 200 in 4ms 22:23:22.633 [info] GET /media_profiles/2/edit 22:23:22.648 [info] Sent 200 in 89ms 22:23:22.655 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:23:22.655 [info] GET /media_profiles/1 22:23:22.655 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:23:22.656 [debug] QUERY OK source="media_profiles" db=0.3ms idle=56.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] 22:23:22.656 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=55.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] 22:23:22.657 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=55.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 22:23:22.658 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:22.658 [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 [] 22:23:22.658 [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 [] 22:23:22.660 [info] Sent 200 in 4ms 22:23:22.661 [info] GET /media_profiles/1/ 22:23:22.661 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:23:22.662 [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" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:22.662 [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."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 22:23:22.663 [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 [] 22:23:22.663 [debug] QUERY OK source="settings" db=0.4ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.665 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:23:22.666 [info] Sent 200 in 5ms 22:23:22.668 [info] GET /media_profiles/1/edit 22:23:22.668 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:23:22.668 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:22.684 [debug] QUERY OK source="settings" db=0.5ms idle=21.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.684 [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 [] 22:23:22.685 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=20.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.686 [debug] QUERY OK source="settings" db=0.8ms queue=0.5ms idle=19.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.687 [debug] QUERY OK source="settings" db=1.6ms idle=17.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.690 [debug] QUERY OK source="settings" db=0.9ms queue=1.7ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.691 [info] Sent 200 in 23ms 22:23:22.694 [info] Sent 200 in 61ms 22:23:22.719 [info] GET /sources/1/edit 22:23:22.719 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:23:22.720 [debug] QUERY OK source="sources" db=0.2ms idle=35.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:22.721 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=35.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:23:22.721 [debug] QUERY OK source="settings" db=0.1ms idle=35.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.722 [debug] QUERY OK source="settings" db=0.0ms idle=34.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.722 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:22.724 [info] GET /download_logs 22:23:22.724 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 22:23:22.724 [info] Sent 200 in 411µs 22:23:22.779 [info] GET /sources/4d7eff6a-de25-416f-92e5-1b45387ca7ff/feed.xml 22:23:22.780 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "4d7eff6a-de25-416f-92e5-1b45387ca7ff"} Pipelines: [:maybe_basic_auth] 22:23:22.795 [info] GET /sources/new 22:23:22.795 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "1"} Pipelines: [:browser] 22:23:22.796 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:22.796 [debug] QUERY OK source="media_profiles" db=0.1ms idle=75.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" [] 22:23:22.797 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:22.797 [info] GET /sources/1/force_download_pending 22:23:22.797 [debug] QUERY OK source="settings" db=0.3ms idle=75.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.798 [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 [] 22:23:22.798 [debug] QUERY OK source="settings" db=0.3ms idle=75.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.799 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:22.799 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:22.799 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:22.800 [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 [] 22:23:22.816 [debug] QUERY OK source="sources" db=0.8ms queue=0.3ms idle=17.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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" = ?) ["4d7eff6a-de25-416f-92e5-1b45387ca7ff"] 22:23:22.814 [error] #PID<0.9312.0> running PinchflatWeb.Endpoint (connection #PID<0.9276.0>, stream id 2) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9312.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/1/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWyy5iUyMXRwAAHmC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 2, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: (truncated) 22:23:22.818 [info] GET /sources/1/force_redownload 22:23:22.818 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:22.819 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:22.819 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:22.821 [debug] QUERY OK source="media_items" db=3.2ms queue=0.3ms idle=19.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" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [1, 2000] 22:23:22.820 [error] #PID<0.9313.0> running PinchflatWeb.Endpoint (connection #PID<0.9276.0>, stream id 3) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9313.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/1/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWy3wgwzYCWsAAHnC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchf (truncated) 22:23:22.841 [debug] QUERY OK source="source_metadata" db=0.9ms queue=0.1ms idle=40.4ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [1] 22:23:22.842 [debug] QUERY OK source="media_metadata" db=1.0ms idle=24.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [37771] 22:23:22.844 [info] Sent 200 in 64ms 22:23:22.865 [info] Sent 200 in 70ms 22:23:22.865 [info] Sent 200 in 146ms 22:23:22.882 [info] GET /sources/1/force_index 22:23:22.883 [debug] QUERY OK source="settings" db=0.1ms idle=64.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.883 [debug] QUERY OK source="settings" db=0.3ms idle=64.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.884 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:22.884 [error] #PID<0.9314.0> running PinchflatWeb.Endpoint (connection #PID<0.9269.0>, stream id 5) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9314.0>, params: %{}, path_info: ["sources", "1", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/1/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWzHJue7_TtYAAAHk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3N (truncated) 22:23:22.903 [info] GET /sources/1/force_metadata_refresh 22:23:22.903 [debug] QUERY OK source="settings" db=0.3ms idle=82.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.904 [debug] QUERY OK source="settings" db=0.2ms idle=62.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.904 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:22.904 [error] #PID<0.9315.0> running PinchflatWeb.Endpoint (connection #PID<0.9269.0>, stream id 6) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9315.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/1/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWzL_kdw8eAQAAHoC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: (truncated) 22:23:22.922 [info] GET /sources/1/force_redownload 22:23:22.922 [debug] QUERY OK source="settings" db=0.1ms idle=79.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.922 [debug] QUERY OK source="settings" db=0.1ms idle=39.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.923 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:22.923 [error] #PID<0.9316.0> running PinchflatWeb.Endpoint (connection #PID<0.9269.0>, stream id 7) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9316.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/1/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWzQgpAgVdHgAAHoi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchf (truncated) 22:23:22.926 [info] GET /sources/1/force_download_pending 22:23:22.927 [debug] QUERY OK source="settings" db=0.4ms idle=42.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.927 [debug] QUERY OK source="settings" db=0.0ms idle=23.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.927 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:22.928 [error] #PID<0.9317.0> running PinchflatWeb.Endpoint (connection #PID<0.9269.0>, stream id 8) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9317.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/1/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWzRk9qKyvSYAAHpC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: (truncated) 22:23:22.993 [info] GET /sources/1 22:23:22.993 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "1"} Pipelines: [:browser] 22:23:22.993 [info] GET /sources/1/force_index 22:23:22.994 [debug] QUERY OK source="settings" db=0.2ms idle=71.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.994 [debug] QUERY OK source="sources" db=0.7ms idle=89.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:22.995 [debug] QUERY OK source="settings" db=0.4ms idle=71.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.995 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:22.995 [debug] QUERY OK source="media_profiles" db=0.6ms idle=67.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] 22:23:22.996 [debug] QUERY OK source="tasks" db=0.2ms idle=68.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 22:23:22.996 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=2.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" = ?) [9489] 22:23:22.997 [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 [] 22:23:22.998 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.999 [debug] QUERY OK source="settings" db=0.5ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:22.996 [error] #PID<0.9319.0> running PinchflatWeb.Endpoint (connection #PID<0.9269.0>, stream id 9) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9319.0>, params: %{}, path_info: ["sources", "1", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/1/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWzhogchlm6IAAHpi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3N (truncated) 22:23:22.999 [info] GET /sources/1/sync_files_on_disk 22:23:23.000 [debug] QUERY OK source="settings" db=0.4ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.001 [debug] QUERY OK source="settings" db=0.3ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.001 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:23.001 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [1] 22:23:23.003 [debug] QUERY OK source="media_items" db=0.6ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 22:23:23.004 [debug] QUERY OK source="media_items" db=0.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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:23:23.001 [error] #PID<0.9320.0> running PinchflatWeb.Endpoint (connection #PID<0.9269.0>, stream id 10) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9320.0>, params: %{}, path_info: ["sources", "1", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/1/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWzjFeE7LkUQAAP4h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 10, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 22:23:23.005 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:23.006 [debug] QUERY OK source="media_items" db=0.3ms idle=4.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 22:23:23.006 [debug] QUERY OK source="media_items" db=0.4ms idle=4.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:23:23.008 [info] GET /sources/1/force_metadata_refresh 22:23:23.009 [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 [] 22:23:23.009 [debug] QUERY OK source="sources" db=0.7ms queue=0.4ms 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" = ?) [1] 22:23:23.010 [debug] QUERY OK source="settings" db=0.9ms 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 [] 22:23:23.010 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:23.011 [debug] QUERY OK source="media_items" db=1.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"))))) [1] 22:23:23.012 [debug] QUERY OK source="media_items" db=0.7ms idle=5.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:23:23.010 [error] #PID<0.9321.0> running PinchflatWeb.Endpoint (connection #PID<0.9269.0>, stream id 11) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 11, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9321.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/1/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWzlDvcUqFE0AAP7B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 11, has_body: false, host_info: :undefined }}, assigns: %{}, body_par (truncated) 22:23:23.014 [info] Sent 200 in 20ms 22:23:23.033 [info] GET /sources/1/media/37771 22:23:23.033 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37771", "source_id" => "1"} Pipelines: [:browser] 22:23:23.034 [debug] QUERY OK source="media_items" db=0.4ms idle=24.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" = ?) [37771] 22:23:23.034 [debug] QUERY OK source="sources" db=0.4ms idle=24.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:23.034 [debug] QUERY OK source="tasks" db=0.4ms idle=25.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" [37771] 22:23:23.035 [debug] QUERY OK source="settings" db=0.2ms idle=24.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.036 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:23.036 [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 [] 22:23:23.037 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 22:23:23.045 [info] GET /sources/1/media/37771/edit 22:23:23.045 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "37771", "source_id" => "1"} Pipelines: [:browser] 22:23:23.045 [debug] QUERY OK source="media_items" db=0.3ms idle=10.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" = ?) [37771] 22:23:23.046 [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 [] 22:23:23.046 [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 [] 22:23:23.047 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:23.048 [info] Sent 200 in 3ms 22:23:23.068 [info] Sent 200 in 35ms 22:23:23.104 [info] GET /sources/1/media/10780 22:23:23.104 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "10780", "source_id" => "1"} Pipelines: [:browser] 22:23:23.105 [debug] QUERY OK source="media_items" db=0.2ms idle=67.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" = ?) [10780] 22:23:23.105 [debug] QUERY OK source="tasks" db=0.1ms idle=59.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" [10780] 22:23:23.105 [debug] QUERY OK source="sources" db=0.2ms idle=59.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:23.106 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:23.106 [debug] QUERY OK source="settings" db=0.2ms idle=59.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.107 [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 [] 22:23:23.108 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:23.110 [info] Sent 200 in 5ms 22:23:23.111 [info] GET /sources/1/sync_files_on_disk 22:23:23.111 [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 [] 22:23:23.112 [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 [] 22:23:23.112 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:23.112 [error] #PID<0.9331.0> running PinchflatWeb.Endpoint (connection #PID<0.9269.0>, stream id 14) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 14, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9331.0>, params: %{}, path_info: ["sources", "1", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/1/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtWz9qniMxpgwAAP9h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 14, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 22:23:23.116 [info] GET /sources/1/media/10780/edit 22:23:23.116 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "10780", "source_id" => "1"} Pipelines: [:browser] 22:23:23.116 [debug] QUERY OK source="media_items" db=0.2ms 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."id" = ?) [10780] 22:23:23.117 [debug] QUERY OK source="settings" db=0.1ms idle=9.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.117 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:23.118 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:23:23.120 [info] Sent 200 in 3ms 22:23:23.140 [info] GET /sources/1/media/37770 22:23:23.140 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37770", "source_id" => "1"} Pipelines: [:browser] 22:23:23.141 [debug] QUERY OK source="media_items" db=0.2ms queue=0.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" = ?) [37770] 22:23:23.142 [debug] QUERY OK source="tasks" db=0.4ms idle=24.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" [37770] 22:23:23.142 [debug] QUERY OK source="sources" db=0.6ms idle=24.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:23.143 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:23:23.143 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:23.143 [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 [] 22:23:23.144 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:23.146 [info] Sent 200 in 6ms 22:23:23.229 [info] GET /sources/1/media/37770/edit 22:23:23.229 [info] GET /sources/1/media/37769 22:23:23.229 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "37770", "source_id" => "1"} Pipelines: [:browser] 22:23:23.229 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37769", "source_id" => "1"} Pipelines: [:browser] 22:23:23.230 [debug] QUERY OK source="media_items" db=0.4ms idle=87.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" = ?) [37770] 22:23:23.230 [debug] QUERY OK source="media_items" db=0.6ms idle=87.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" = ?) [37769] 22:23:23.231 [debug] QUERY OK source="settings" db=0.5ms idle=87.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.231 [debug] QUERY OK source="tasks" db=0.6ms decode=0.1ms idle=87.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" [37769] 22:23:23.232 [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 [] 22:23:23.232 [debug] QUERY OK source="sources" db=0.9ms idle=86.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:23.233 [info] GET /sources/1/media/37769/edit 22:23:23.233 [debug] QUERY OK source="settings" db=0.7ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.233 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:23:23.233 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "37769", "source_id" => "1"} Pipelines: [:browser] 22:23:23.233 [debug] QUERY OK source="settings" db=0.3ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.234 [debug] QUERY OK source="media_items" db=0.4ms 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."id" = ?) [37769] 22:23:23.234 [info] Sent 200 in 5ms 22:23:23.235 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:23:23.235 [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 [] 22:23:23.236 [debug] QUERY OK source="settings" db=0.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 [] 22:23:23.236 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 22:23:23.237 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:23:23.238 [info] Sent 200 in 5ms 22:23:23.239 [info] Sent 200 in 9ms 22:23:23.270 [info] GET /sources/1/media/7/edit 22:23:23.270 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "7", "source_id" => "1"} Pipelines: [:browser] 22:23:23.271 [debug] QUERY OK source="media_items" db=0.3ms 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."id" = ?) [7] 22:23:23.283 [debug] QUERY OK source="settings" db=11.6ms queue=0.1ms 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 [] 22:23:23.284 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=47.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.285 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:23:23.288 [info] Sent 200 in 18ms 22:23:23.342 [info] GET /sources/1/media/7 22:23:23.342 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "7", "source_id" => "1"} Pipelines: [:browser] 22:23:23.342 [debug] QUERY OK source="media_items" db=0.2ms idle=105.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [7] 22:23:23.343 [debug] QUERY OK source="tasks" db=0.1ms idle=71.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" [7] 22:23:23.343 [debug] QUERY OK source="sources" db=0.2ms idle=59.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:23.344 [debug] QUERY OK source="settings" db=0.1ms idle=59.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.344 [debug] QUERY OK source="settings" db=0.0ms idle=58.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.344 [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 [] 22:23:23.345 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:23.347 [info] Sent 200 in 5ms 22:23:23.362 [info] GET /sources/1/media/6/edit 22:23:23.362 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6", "source_id" => "1"} Pipelines: [:browser] 22:23:23.363 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=19.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" = ?) [6] 22:23:23.364 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:23:23.365 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=20.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.366 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:23.367 [info] Sent 200 in 4ms 22:23:23.368 [info] GET /sources/1/media/6 22:23:23.369 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6", "source_id" => "1"} Pipelines: [:browser] 22:23:23.369 [debug] QUERY OK source="media_items" db=0.3ms idle=24.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6] 22:23:23.370 [debug] QUERY OK source="tasks" db=0.1ms idle=6.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" [6] 22:23:23.370 [debug] QUERY OK source="sources" db=0.2ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:23.371 [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 [] 22:23:23.371 [debug] QUERY OK source="settings" db=0.2ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.372 [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 [] 22:23:23.373 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:23.373 [info] GET /sources/1/media/37772 22:23:23.374 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37772", "source_id" => "1"} Pipelines: [:browser] 22:23:23.375 [debug] QUERY OK source="media_items" db=0.7ms idle=3.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [37772] 22:23:23.375 [info] Sent 200 in 6ms 22:23:23.375 [debug] QUERY OK source="tasks" db=0.1ms 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" [37772] 22:23:23.376 [debug] QUERY OK source="sources" db=0.8ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:23.377 [debug] QUERY OK source="settings" db=0.5ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.378 [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 [] 22:23:23.379 [info] GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application 22:23:23.379 [debug] QUERY OK source="settings" db=0.8ms 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 [] 22:23:23.379 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:23.380 [debug] QUERY OK source="media_profiles" db=0.4ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:23.380 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:23:23.381 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:23.383 [info] Sent 200 in 9ms 22:23:23.381 [error] #PID<0.9357.0> running PinchflatWeb.Endpoint (connection #PID<0.9275.0>, stream id 14) terminated Server: pinchflat.homelab.simonjonas.eu: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.9275.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40308}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9357.0>, params: %{}, path_info: ["ecp", "Current", "exporttool", "microsoft.exchange.ediscovery.exporttool"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], 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", "GNXtW09fyeWIiY4AAAIk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9275.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40308}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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 /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9275.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40308}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9357.0>, params: %{}, path_info: ["ecp", "Current", "exporttool", "microsoft.exchange.ediscovery.exporttool"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, (truncated) 22:23:23.399 [info] GET /sources/1/media/37835 22:23:23.399 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37835", "source_id" => "1"} Pipelines: [:browser] 22:23:23.400 [debug] QUERY OK source="media_items" db=0.2ms idle=22.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" = ?) [37835] 22:23:23.401 [debug] QUERY OK source="tasks" db=0.2ms idle=21.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" [37835] 22:23:23.401 [debug] QUERY OK source="sources" db=0.3ms idle=20.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:23.401 [debug] QUERY OK source="settings" db=0.2ms idle=20.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.402 [debug] QUERY OK source="settings" db=0.1ms idle=21.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.402 [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 [] 22:23:23.403 [debug] QUERY OK source="media_profiles" db=0.4ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:23.405 [info] Sent 200 in 6ms 22:23:23.414 [info] GET /sources/1/media/37835/edit 22:23:23.414 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "37835", "source_id" => "1"} Pipelines: [:browser] 22:23:23.415 [debug] QUERY OK source="media_items" db=0.4ms idle=13.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" = ?) [37835] 22:23:23.415 [debug] QUERY OK source="settings" db=0.1ms idle=13.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.415 [debug] QUERY OK source="settings" db=0.0ms idle=13.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.416 [debug] QUERY OK source="settings" db=0.1ms idle=13.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.417 [info] Sent 200 in 3ms 22:23:23.421 [info] GET /sources/1/media/37772/edit 22:23:23.421 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "37772", "source_id" => "1"} Pipelines: [:browser] 22:23:23.422 [debug] QUERY OK source="media_items" db=0.2ms idle=18.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" = ?) [37772] 22:23:23.422 [debug] QUERY OK source="settings" db=0.2ms idle=7.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.423 [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 [] 22:23:23.424 [debug] QUERY OK source="settings" db=0.8ms 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 [] 22:23:23.426 [info] Sent 200 in 4ms 22:23:23.480 [info] GET /sources/1/media/10 22:23:23.480 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "10", "source_id" => "1"} Pipelines: [:browser] 22:23:23.481 [debug] QUERY OK source="media_items" db=0.4ms idle=64.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10] 22:23:23.482 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [1] 22:23:23.482 [debug] QUERY OK source="tasks" db=0.5ms idle=60.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" [10] 22:23:23.483 [debug] QUERY OK source="settings" db=0.2ms idle=60.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.484 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:23.485 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:23:23.487 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 22:23:23.490 [info] Sent 200 in 9ms 22:23:23.505 [info] GET /sources/1/media/10/edit 22:23:23.505 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "10", "source_id" => "1"} Pipelines: [:browser] 22:23:23.506 [debug] QUERY OK source="media_items" db=0.3ms idle=23.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" = ?) [10] 22:23:23.508 [debug] QUERY OK source="settings" db=1.2ms queue=0.1ms 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 [] 22:23:23.509 [debug] QUERY OK source="settings" db=0.5ms idle=24.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.510 [debug] QUERY OK source="settings" db=0.5ms idle=23.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.511 [info] Sent 200 in 5ms 22:23:23.513 [info] GET /sources/1/media/13 22:23:23.513 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13", "source_id" => "1"} Pipelines: [:browser] 22:23:23.513 [debug] QUERY OK source="media_items" db=0.1ms idle=26.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" = ?) [13] 22:23:23.514 [debug] QUERY OK source="tasks" db=0.1ms idle=7.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" [13] 22:23:23.514 [debug] QUERY OK source="sources" db=0.2ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:23.515 [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 [] 22:23:23.515 [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 [] 22:23:23.516 [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 [] 22:23:23.516 [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] 22:23:23.525 [info] Sent 200 in 11ms 22:23:23.526 [info] GET /sources/1/media/13/edit 22:23:23.526 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "13", "source_id" => "1"} Pipelines: [:browser] 22:23:23.527 [debug] QUERY OK source="media_items" db=0.2ms idle=12.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" = ?) [13] 22:23:23.527 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:23.528 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:23.528 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:23.529 [info] Sent 200 in 3ms 22:23:23.545 [info] GET /sources/3/media/115357/edit 22:23:23.545 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "115357", "source_id" => "3"} Pipelines: [:browser] 22:23:23.546 [debug] QUERY OK source="media_items" db=0.3ms idle=28.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" = ?) [115357] 22:23:23.546 [debug] QUERY OK source="settings" db=0.1ms idle=19.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.547 [debug] QUERY OK source="settings" db=0.2ms idle=19.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.547 [debug] QUERY OK source="settings" db=0.2ms idle=19.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.549 [info] Sent 200 in 3ms 22:23:23.573 [info] GET /sources/3/media/115357/force_download 22:23:23.573 [debug] QUERY OK source="settings" db=0.1ms idle=45.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.574 [debug] QUERY OK source="settings" db=0.4ms idle=27.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.574 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:23.575 [error] #PID<0.9375.0> running PinchflatWeb.Endpoint (connection #PID<0.9275.0>, stream id 17) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/media/115357/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/115357/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9275.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115357/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40308}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9375.0>, params: %{}, path_info: ["sources", "3", "media", "115357", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/3/media/115357/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW1ryWewDazMAAQCB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9275.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115357/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40308}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/3/media/115357/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9275.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115357/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40308}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined (truncated) 22:23:23.611 [info] GET /sources/3/media/115357 22:23:23.611 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "115357", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 22:23:23.612 [debug] QUERY OK source="media_items" db=0.2ms idle=65.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" = ?) [115357] 22:23:23.612 [debug] QUERY OK source="tasks" db=0.1ms idle=65.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" [115357] 22:23:23.612 [debug] QUERY OK source="sources" db=0.3ms idle=64.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:23.613 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=39.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" = ?) [9496] 22:23:23.613 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:23.613 [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 [] 22:23:23.614 [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 [] 22:23:23.618 [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] 22:23:23.620 [info] Sent 200 in 9ms 22:23:23.627 [info] GET /sources/1/media/113855/edit 22:23:23.627 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "113855", "source_id" => "1"} Pipelines: [:browser] 22:23:23.628 [debug] QUERY OK source="media_items" db=0.2ms idle=14.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [113855] 22:23:23.628 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:23.628 [debug] QUERY OK source="settings" db=0.0ms idle=14.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.629 [debug] QUERY OK source="settings" db=0.0ms idle=14.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.630 [info] GET /media/3f06faa2-877e-4dbc-871e-5d9bc4b17faa/stream 22:23:23.630 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "3f06faa2-877e-4dbc-871e-5d9bc4b17faa", "v" => "1789593271"} Pipelines: [:maybe_basic_auth] 22:23:23.633 [debug] QUERY OK source="media_items" db=1.2ms queue=0.8ms idle=12.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" = ?) ["3f06faa2-877e-4dbc-871e-5d9bc4b17faa"] 22:23:23.636 [info] Sent 200 in 9ms 22:23:23.636 [debug] Invalid range request for media item: 3f06faa2-877e-4dbc-871e-5d9bc4b17faa - serving full file 22:23:23.636 [info] Sent 200 in 6ms 22:23:23.645 [info] GET /sources/1/media/113855/force_download 22:23:23.646 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:23.646 [debug] QUERY OK source="settings" db=0.2ms idle=18.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.646 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:23.647 [error] #PID<0.9382.0> running PinchflatWeb.Endpoint (connection #PID<0.9275.0>, stream id 20) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/media/113855/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/113855/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9275.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/113855/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40308}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9382.0>, params: %{}, path_info: ["sources", "1", "media", "113855", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/1/media/113855/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW19ClNGfRTEAAQDh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9275.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/113855/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40308}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/1/media/113855/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9275.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/113855/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40308}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined (truncated) 22:23:23.656 [info] GET /sources/1/media/113855 22:23:23.656 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "113855", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 22:23:23.657 [debug] QUERY OK source="media_items" db=0.2ms idle=27.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" = ?) [113855] 22:23:23.657 [debug] QUERY OK source="tasks" db=0.2ms idle=27.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" [113855] 22:23:23.657 [debug] QUERY OK source="sources" db=0.3ms idle=24.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:23.658 [debug] QUERY OK source="oban_jobs" db=0.2ms 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" = ?) [9474] 22:23:23.659 [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 [] 22:23:23.659 [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 [] 22:23:23.660 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.660 [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] 22:23:23.662 [info] Sent 200 in 5ms 22:23:23.678 [info] GET /media/05591b21-e6e5-421b-b0a9-878ca2cc2252/stream 22:23:23.678 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "05591b21-e6e5-421b-b0a9-878ca2cc2252", "v" => "1789465478"} Pipelines: [:maybe_basic_auth] 22:23:23.678 [debug] QUERY OK source="media_items" db=0.2ms idle=19.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["05591b21-e6e5-421b-b0a9-878ca2cc2252"] 22:23:23.678 [debug] Invalid range request for media item: 05591b21-e6e5-421b-b0a9-878ca2cc2252 - serving full file 22:23:23.678 [info] Sent 200 in 895µs 22:23:23.694 [info] GET /sources/3/media/115357/force_download 22:23:23.695 [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 [] 22:23:23.695 [debug] QUERY OK source="settings" db=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 [] 22:23:23.696 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:23.696 [error] #PID<0.9388.0> running PinchflatWeb.Endpoint (connection #PID<0.9269.0>, stream id 18) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/media/115357/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/115357/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115357/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9388.0>, params: %{}, path_info: ["sources", "3", "media", "115357", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/3/media/115357/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW2Ivmuj2bvkAAQFh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115357/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/3/media/115357/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115357/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined (truncated) 22:23:23.719 [info] GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application 22:23:23.720 [debug] QUERY OK source="settings" db=0.3ms idle=60.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.721 [debug] QUERY OK source="settings" db=0.2ms idle=60.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.721 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:23.721 [error] #PID<0.9389.0> running PinchflatWeb.Endpoint (connection #PID<0.9269.0>, stream id 19) terminated Server: pinchflat.homelab.simonjonas.eu: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.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9389.0>, params: %{}, path_info: ["ecp", "Current", "exporttool", "microsoft.exchange.ediscovery.exporttool"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], 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", "GNXtW2OwddlifsUAAQGB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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 /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9389.0>, params: %{}, path_info: ["ecp", "Current", "exporttool", "microsoft.exchange.ediscovery.exporttool"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", (truncated) 22:23:23.749 [info] GET /sources/3/media/115304/force_download 22:23:23.749 [info] GET /sources/1/media/113855/force_download 22:23:23.750 [debug] QUERY OK source="settings" db=0.3ms idle=70.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.750 [debug] QUERY OK source="settings" db=0.5ms idle=54.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.750 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=54.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.750 [debug] QUERY OK source="settings" db=0.3ms idle=29.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.750 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:23.751 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:23.751 [error] #PID<0.9391.0> running PinchflatWeb.Endpoint (connection #PID<0.9269.0>, stream id 20) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/media/115304/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/115304/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9391.0>, params: %{}, path_info: ["sources", "3", "media", "115304", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/3/media/115304/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW2VuYzC1rCMAAQGh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/3/media/115304/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9269.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40270}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined (truncated) 22:23:23.751 [error] #PID<0.9390.0> running PinchflatWeb.Endpoint (connection #PID<0.9276.0>, stream id 4) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/media/113855/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/113855/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/113855/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9390.0>, params: %{}, path_info: ["sources", "1", "media", "113855", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/1/media/113855/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW2VuY00uSwkAAHuC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/113855/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/1/media/113855/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/113855/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, (truncated) 22:23:23.847 [info] GET /media/03d00808-6ef2-43ae-8c6c-51d222b2a951/stream 22:23:23.847 [info] GET /sources/3/media/115304/edit 22:23:23.847 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "03d00808-6ef2-43ae-8c6c-51d222b2a951", "v" => "1789593142"} Pipelines: [:maybe_basic_auth] 22:23:23.847 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "115304", "source_id" => "3"} Pipelines: [:browser] 22:23:23.847 [debug] QUERY OK source="media_items" db=0.4ms idle=126.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" = ?) ["03d00808-6ef2-43ae-8c6c-51d222b2a951"] 22:23:23.848 [debug] Invalid range request for media item: 03d00808-6ef2-43ae-8c6c-51d222b2a951 - serving full file 22:23:23.848 [debug] QUERY OK source="media_items" db=0.6ms idle=97.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" = ?) [115304] 22:23:23.848 [info] Sent 200 in 1ms 22:23:23.850 [debug] QUERY OK source="settings" db=1.6ms queue=0.1ms idle=98.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.850 [debug] QUERY OK source="settings" db=0.1ms idle=100.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.851 [debug] QUERY OK source="settings" db=0.1ms idle=100.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:23.852 [info] Sent 200 in 5ms 22:23:24.197 [info] GET /sources/3/media/115304 22:23:24.197 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "115304", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 22:23:24.198 [debug] QUERY OK source="media_items" db=0.2ms idle=350.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" = ?) [115304] 22:23:24.198 [debug] QUERY OK source="tasks" db=0.1ms idle=350.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" [115304] 22:23:24.199 [debug] QUERY OK source="sources" db=0.3ms idle=348.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:24.199 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=348.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" = ?) [9495] 22:23:24.200 [debug] QUERY OK source="settings" db=0.1ms idle=348.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:24.200 [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 [] 22:23:24.200 [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 [] 22:23:24.202 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:23:24.204 [info] Sent 200 in 6ms 22:23:24.206 [info] GET /sources/4/media/109769/force_download 22:23:24.206 [debug] QUERY OK source="settings" db=0.2ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:24.207 [debug] QUERY OK source="settings" db=0.1ms idle=6.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:24.207 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:24.207 [error] #PID<0.9398.0> running PinchflatWeb.Endpoint (connection #PID<0.9271.0>, stream id 6) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/4/media/109769/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/109769/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/109769/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9398.0>, params: %{}, path_info: ["sources", "4", "media", "109769", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/4/media/109769/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW4CpOKCas8gAAQIh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/109769/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/4/media/109769/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/109769/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, (truncated) 22:23:24.318 [info] GET /sources/4/media/109769/edit 22:23:24.318 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "109769", "source_id" => "4"} Pipelines: [:browser] 22:23:24.319 [debug] QUERY OK source="media_items" db=0.4ms idle=118.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" = ?) [109769] 22:23:24.319 [debug] QUERY OK source="settings" db=0.1ms idle=118.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:24.320 [debug] QUERY OK source="settings" db=0.2ms idle=118.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:24.320 [debug] QUERY OK source="settings" db=0.1ms idle=113.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:24.321 [info] Sent 200 in 3ms 22:23:24.351 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:24.447 [info] GET /sources/4/media/109769 22:23:24.447 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "109769", "prevent_download" => "true", "source_id" => "4"} Pipelines: [:browser] 22:23:24.448 [debug] QUERY OK source="media_items" db=0.2ms idle=128.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" = ?) [109769] 22:23:24.484 [debug] QUERY OK source="sources" db=0.6ms idle=163.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 22:23:24.485 [debug] QUERY OK source="tasks" db=1.0ms idle=164.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" [109769] 22:23:24.487 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=1.5ms idle=164.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" = ?) [9423] 22:23:24.488 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=136.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:24.490 [debug] QUERY OK source="settings" db=1.0ms idle=40.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:24.494 [debug] QUERY OK source="settings" db=2.1ms queue=1.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 [] 22:23:24.495 [debug] QUERY OK source="media_profiles" db=0.2ms idle=10.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] 22:23:24.498 [info] GET /media/4150a3e8-7258-4de9-ba10-2288cbc031b6/stream 22:23:24.498 [info] GET /sources/4/media/109769/force_download 22:23:24.498 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "4150a3e8-7258-4de9-ba10-2288cbc031b6", "v" => "1789059044"} Pipelines: [:maybe_basic_auth] 22:23:24.499 [info] Sent 200 in 51ms 22:23:24.499 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:24.499 [debug] QUERY OK source="media_items" db=0.4ms idle=11.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["4150a3e8-7258-4de9-ba10-2288cbc031b6"] 22:23:24.502 [debug] Invalid range request for media item: 4150a3e8-7258-4de9-ba10-2288cbc031b6 - serving full file 22:23:24.502 [info] Sent 200 in 3ms 22:23:24.502 [debug] QUERY OK source="settings" db=2.7ms idle=9.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:24.502 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:24.503 [error] #PID<0.9405.0> running PinchflatWeb.Endpoint (connection #PID<0.9276.0>, stream id 6) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/4/media/109769/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/109769/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/109769/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9405.0>, params: %{}, path_info: ["sources", "4", "media", "109769", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/4/media/109769/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW5IbHoRw6ysAAALk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/109769/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/4/media/109769/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/109769/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, (truncated) 22:23:24.517 [info] GET /sources/2/media/113281/edit 22:23:24.517 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "113281", "source_id" => "2"} Pipelines: [:browser] 22:23:24.518 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=23.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" = ?) [113281] 22:23:24.519 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:24.519 [debug] QUERY OK source="settings" db=0.2ms idle=19.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:24.520 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:24.521 [info] Sent 200 in 4ms 22:23:24.605 [info] GET /sources/2/media/113281/force_download 22:23:24.606 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:24.606 [debug] QUERY OK source="settings" db=0.4ms idle=88.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:24.607 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:24.608 [error] #PID<0.9407.0> running PinchflatWeb.Endpoint (connection #PID<0.9276.0>, stream id 8) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/2/media/113281/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/113281/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/113281/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9407.0>, params: %{}, path_info: ["sources", "2", "media", "113281", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/2/media/113281/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW5h2t8YzqsEAAANE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/113281/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/2/media/113281/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/113281/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 8, has_body: false, host_info: :undefined }}, (truncated) 22:23:24.717 [info] GET /sources/2/media/113281/force_download 22:23:24.718 [debug] QUERY OK source="settings" db=0.5ms idle=198.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:24.718 [debug] QUERY OK source="settings" db=0.3ms idle=198.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:24.718 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:24.719 [error] #PID<0.9408.0> running PinchflatWeb.Endpoint (connection #PID<0.9276.0>, stream id 9) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/2/media/113281/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/113281/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/113281/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9408.0>, params: %{}, path_info: ["sources", "2", "media", "113281", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/2/media/113281/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW58iaM2gOdMAAANk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/113281/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/2/media/113281/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9276.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/113281/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40314}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 9, has_body: false, host_info: :undefined }}, (truncated) 22:23:24.829 [info] GET /media/9bb91475-1247-47b2-bf79-1ba8dc0f6265/stream 22:23:24.829 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "9bb91475-1247-47b2-bf79-1ba8dc0f6265", "v" => "1789405867"} Pipelines: [:maybe_basic_auth] 22:23:24.830 [debug] QUERY OK source="media_items" db=0.8ms idle=223.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" = ?) ["9bb91475-1247-47b2-bf79-1ba8dc0f6265"] 22:23:24.830 [debug] Invalid range request for media item: 9bb91475-1247-47b2-bf79-1ba8dc0f6265 - serving full file 22:23:24.830 [info] Sent 200 in 1ms 22:23:24.964 [info] GET /sources/3/edit 22:23:24.964 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 22:23:24.965 [debug] QUERY OK source="sources" db=0.3ms idle=358.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:24.965 [debug] QUERY OK source="media_profiles" db=0.2ms idle=305.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" [] 22:23:24.966 [debug] QUERY OK source="settings" db=0.3ms idle=247.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:24.967 [debug] QUERY OK source="settings" db=0.5ms idle=247.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:24.967 [debug] QUERY OK source="settings" db=0.2ms idle=137.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:24.970 [info] Sent 200 in 5ms 22:23:25.066 [info] GET /sources/20cc50e7-feb1-4207-953a-ef1d1bfc89c1/feed.xml 22:23:25.066 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "20cc50e7-feb1-4207-953a-ef1d1bfc89c1"} Pipelines: [:maybe_basic_auth] 22:23:25.067 [debug] QUERY OK source="sources" db=0.2ms idle=101.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."uuid" = ?) ["20cc50e7-feb1-4207-953a-ef1d1bfc89c1"] 22:23:25.127 [debug] QUERY OK source="media_items" db=59.7ms idle=101.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" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [3, 2000] 22:23:25.144 [debug] QUERY OK source="source_metadata" db=0.2ms idle=177.9ms 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" = ?) [3] 22:23:25.145 [debug] QUERY OK source="media_metadata" db=0.9ms idle=177.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" = ?) [115357] 22:23:25.146 [info] Sent 200 in 80ms 22:23:25.231 [info] GET /.git/config 22:23:25.232 [debug] QUERY OK source="settings" db=0.2ms idle=264.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.232 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:25.232 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:25.233 [error] #PID<0.9412.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 28) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9412.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW73Ni7bwLKkAAQMh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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 /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9412.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-for (truncated) 22:23:25.279 [info] GET /sources/new 22:23:25.279 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "3"} Pipelines: [:browser] 22:23:25.280 [debug] QUERY OK source="sources" db=0.2ms idle=152.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:25.280 [debug] QUERY OK source="media_profiles" db=0.2ms idle=135.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" [] 22:23:25.280 [debug] QUERY OK source="settings" db=0.1ms idle=134.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.281 [debug] QUERY OK source="settings" db=0.2ms idle=48.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.282 [debug] QUERY OK source="settings" db=1.2ms idle=48.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.284 [debug] QUERY OK source="settings" db=0.4ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.285 [debug] QUERY OK source="settings" db=0.2ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.288 [info] Sent 200 in 8ms 22:23:25.502 [info] GET /sources/3/force_redownload 22:23:25.503 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:23:25.503 [debug] QUERY OK source="settings" db=0.3ms idle=222.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.503 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:25.504 [error] #PID<0.9414.0> running PinchflatWeb.Endpoint (connection #PID<0.9271.0>, stream id 11) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/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/3/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 11, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9414.0>, params: %{}, path_info: ["sources", "3", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/3/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW83r6rMw8-8AAQNh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/3/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 11, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pi (truncated) 22:23:25.613 [info] GET /sources/3/force_redownload 22:23:25.613 [debug] QUERY OK source="settings" db=0.1ms idle=330.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.614 [debug] QUERY OK source="settings" db=0.1ms idle=329.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.614 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:25.614 [error] #PID<0.9415.0> running PinchflatWeb.Endpoint (connection #PID<0.9271.0>, stream id 12) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/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/3/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9415.0>, params: %{}, path_info: ["sources", "3", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/3/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW9SL08ZzxJUAAQOB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/3/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pi (truncated) 22:23:25.621 [info] GET /.git/config 22:23:25.622 [debug] QUERY OK source="settings" db=0.1ms idle=336.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.622 [debug] QUERY OK source="settings" db=0.0ms idle=118.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.622 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:25.622 [error] #PID<0.9416.0> running PinchflatWeb.Endpoint (connection #PID<0.9271.0>, stream id 13) terminated Server: pinchflat.homelab.simonjonas.eu: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.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9416.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW9UIxrVSL4cAAQOh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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 /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9416.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, (truncated) 22:23:25.718 [info] GET /sources/3/force_index 22:23:25.719 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:25.719 [debug] QUERY OK source="settings" db=0.1ms idle=105.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.720 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:25.720 [error] #PID<0.9417.0> running PinchflatWeb.Endpoint (connection #PID<0.9271.0>, stream id 14) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 14, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9417.0>, params: %{}, path_info: ["sources", "3", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/3/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW9rWyU7AI-gAAQPB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/3/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 14, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAt (truncated) 22:23:25.828 [info] GET /sources/3/force_index 22:23:25.829 [debug] QUERY OK source="settings" db=0.1ms idle=207.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.829 [debug] QUERY OK source="settings" db=0.1ms idle=207.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.829 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:25.830 [error] #PID<0.9418.0> running PinchflatWeb.Endpoint (connection #PID<0.9271.0>, stream id 15) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9418.0>, params: %{}, path_info: ["sources", "3", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/3/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW-Fjnb_xZBsAAQPh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/3/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAt (truncated) 22:23:25.913 [info] GET /sources/3/force_download_pending 22:23:25.914 [debug] QUERY OK source="settings" db=0.3ms idle=253.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.914 [debug] QUERY OK source="settings" db=0.1ms idle=195.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.914 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:25.915 [error] #PID<0.9419.0> running PinchflatWeb.Endpoint (connection #PID<0.9271.0>, stream id 16) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/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/3/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9419.0>, params: %{}, path_info: ["sources", "3", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/3/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW-Zv_mFbuGsAAQQB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/3/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_par (truncated) 22:23:25.934 [info] GET /sources/3/force_metadata_refresh 22:23:25.934 [debug] QUERY OK source="settings" db=0.1ms idle=214.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.935 [debug] QUERY OK source="settings" db=0.1ms idle=105.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:25.935 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:25.935 [error] #PID<0.9420.0> running PinchflatWeb.Endpoint (connection #PID<0.9271.0>, stream id 17) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/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/3/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9420.0>, params: %{}, path_info: ["sources", "3", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/3/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW-es1S6bWOEAAQQh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/3/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{}, body_par (truncated) 22:23:26.024 [info] GET /sources/3/force_download_pending 22:23:26.025 [debug] QUERY OK source="settings" db=0.1ms idle=195.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.025 [debug] QUERY OK source="settings" db=0.1ms idle=111.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.025 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:26.026 [error] #PID<0.9421.0> running PinchflatWeb.Endpoint (connection #PID<0.9271.0>, stream id 18) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/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/3/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9421.0>, params: %{}, path_info: ["sources", "3", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/3/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW-0QKJpjocMAAQRB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/3/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_par (truncated) 22:23:26.039 [info] GET /sources/3/force_metadata_refresh 22:23:26.040 [debug] QUERY OK source="settings" db=0.1ms idle=125.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.040 [debug] QUERY OK source="settings" db=0.1ms idle=105.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.040 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:26.041 [error] #PID<0.9422.0> running PinchflatWeb.Endpoint (connection #PID<0.9271.0>, stream id 19) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/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/3/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9422.0>, params: %{}, path_info: ["sources", "3", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/3/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW-33GAohF6MAAQRh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/3/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 19, has_body: false, host_info: :undefined }}, assigns: %{}, body_par (truncated) 22:23:26.143 [info] GET /sources/3/sync_files_on_disk 22:23:26.144 [debug] QUERY OK source="settings" db=0.1ms idle=208.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.144 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:26.145 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:26.145 [error] #PID<0.9423.0> running PinchflatWeb.Endpoint (connection #PID<0.9271.0>, stream id 20) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9423.0>, params: %{}, path_info: ["sources", "3", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/3/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW_Qo_d4YvrMAAQSB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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/3/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 20, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 22:23:26.152 [info] GET /sources/3/media/43676 22:23:26.152 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "43676", "source_id" => "3"} Pipelines: [:browser] 22:23:26.153 [debug] QUERY OK source="media_items" db=0.2ms idle=127.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" = ?) [43676] 22:23:26.153 [debug] QUERY OK source="sources" db=0.1ms idle=112.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:26.187 [debug] QUERY OK source="tasks" db=33.8ms idle=113.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" [43676] 22:23:26.187 [debug] QUERY OK source="settings" db=0.1ms idle=43.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.188 [debug] QUERY OK source="settings" db=0.1ms idle=43.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.188 [debug] QUERY OK source="settings" db=0.0ms idle=35.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.189 [debug] QUERY OK source="media_profiles" db=0.1ms idle=35.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:23:26.208 [info] Sent 200 in 56ms 22:23:26.254 [info] GET /sources/3/sync_files_on_disk 22:23:26.255 [debug] QUERY OK source="settings" db=0.2ms idle=67.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.255 [debug] QUERY OK source="settings" db=0.1ms idle=67.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.255 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:26.256 [error] #PID<0.9428.0> running PinchflatWeb.Endpoint (connection #PID<0.9271.0>, stream id 22) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 22, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9428.0>, params: %{}, path_info: ["sources", "3", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.117.45"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.117.45"} ], request_path: "/sources/3/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtW_rFq8J2ObkAAQTh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, 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 /sources/3/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9271.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 40286}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYclJYWVhsX1RCRG14RDZfTXlNaDdVVHVm.Gli1K9-7ujqLGtM3Aq8NlL5SVlAL8wKbOeF9cV_6w5Y", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.117.45", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.117.45" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 22, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 22:23:26.338 [info] GET /sources/3 22:23:26.339 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "3"} Pipelines: [:browser] 22:23:26.339 [debug] QUERY OK source="sources" db=0.2ms idle=151.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:26.340 [debug] QUERY OK source="media_profiles" db=0.1ms idle=151.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] 22:23:26.340 [debug] QUERY OK source="tasks" db=0.1ms queue=0.1ms idle=150.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 22:23:26.340 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=85.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" = ?) [9497] 22:23:26.341 [debug] QUERY OK source="settings" db=0.0ms idle=85.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.341 [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 [] 22:23:26.342 [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 [] 22:23:26.343 [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" = ?) [3] 22:23:26.345 [debug] QUERY OK source="media_items" db=0.5ms idle=3.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 22:23:26.346 [debug] QUERY OK source="media_items" db=0.5ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 22:23:26.346 [debug] QUERY OK source="sources" db=0.1ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:26.347 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 22:23:26.347 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 22:23:26.349 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:26.350 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [3] 22:23:26.351 [debug] QUERY OK source="media_items" db=0.7ms idle=3.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 ? [3, 10, 0] 22:23:26.352 [info] Sent 200 in 13ms 22:23:26.406 [info] GET /sources/3/media/43676/edit 22:23:26.406 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "43676", "source_id" => "3"} Pipelines: [:browser] 22:23:26.406 [info] POST /graphql 22:23:26.490 [debug] QUERY OK source="media_items" db=0.2ms queue=83.5ms idle=59.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" = ?) [43676] 22:23:26.491 [debug] QUERY OK source="settings" db=0.1ms idle=143.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.491 [debug] QUERY OK source="settings" db=0.1ms idle=141.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.492 [debug] QUERY OK source="settings" db=0.1ms idle=141.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.493 [info] Sent 200 in 86ms 22:23:26.517 [info] GET /sources/3/media/42874 22:23:26.517 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "42874", "source_id" => "3"} Pipelines: [:browser] 22:23:26.517 [debug] QUERY OK source="media_items" db=0.2ms idle=166.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" = ?) [42874] 22:23:26.518 [debug] QUERY OK source="tasks" db=0.1ms idle=27.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" [42874] 22:23:26.518 [debug] QUERY OK source="sources" db=0.4ms idle=27.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:26.519 [debug] QUERY OK source="settings" db=0.1ms idle=27.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.519 [debug] QUERY OK source="settings" db=0.0ms idle=27.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.520 [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 [] 22:23:26.520 [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] 22:23:26.522 [info] Sent 200 in 5ms 22:23:26.563 [info] Sent 404 in 156ms 22:23:26.563 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:26.628 [info] GET /sources/3/media/20170 22:23:26.629 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "20170", "source_id" => "3"} Pipelines: [:browser] 22:23:26.629 [debug] QUERY OK source="media_items" db=0.2ms idle=110.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" = ?) [20170] 22:23:26.630 [debug] QUERY OK source="tasks" db=0.2ms idle=110.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" [20170] 22:23:26.630 [debug] QUERY OK source="sources" db=0.5ms idle=110.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:26.631 [debug] QUERY OK source="settings" db=0.4ms idle=110.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.631 [debug] QUERY OK source="settings" db=0.1ms idle=110.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.632 [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 [] 22:23:26.633 [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] 22:23:26.635 [info] Sent 200 in 6ms 22:23:26.706 [info] GET /sources/3/media/42874/edit 22:23:26.706 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "42874", "source_id" => "3"} Pipelines: [:browser] 22:23:26.707 [debug] QUERY OK source="media_items" db=0.9ms idle=75.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" = ?) [42874] 22:23:26.709 [debug] QUERY OK source="settings" db=0.6ms idle=76.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.709 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:26.710 [debug] QUERY OK source="settings" db=0.4ms idle=77.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.712 [info] Sent 200 in 6ms 22:23:26.784 [info] POST /graphql 22:23:26.784 [info] Sent 404 in 270µs 22:23:26.784 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:26.818 [info] GET /sources/3/media/20170/edit 22:23:26.819 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "20170", "source_id" => "3"} Pipelines: [:browser] 22:23:26.819 [debug] QUERY OK source="media_items" db=0.2ms idle=157.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" = ?) [20170] 22:23:26.820 [debug] QUERY OK source="settings" db=0.3ms idle=112.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.820 [debug] QUERY OK source="settings" db=0.1ms idle=111.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.821 [debug] QUERY OK source="settings" db=0.1ms idle=111.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.822 [info] Sent 200 in 3ms 22:23:26.958 [info] GET /sources/3/media/19524 22:23:26.958 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "19524", "source_id" => "3"} Pipelines: [:browser] 22:23:26.959 [debug] QUERY OK source="media_items" db=0.4ms idle=248.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" = ?) [19524] 22:23:26.960 [debug] QUERY OK source="tasks" db=0.3ms idle=140.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" [19524] 22:23:26.960 [debug] QUERY OK source="sources" db=0.7ms idle=139.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:26.961 [debug] QUERY OK source="settings" db=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 [] 22:23:26.962 [debug] QUERY OK source="settings" db=0.2ms idle=140.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.962 [debug] QUERY OK source="settings" db=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:26.963 [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] 22:23:27.002 [info] Sent 200 in 43ms 22:23:27.005 [info] GET /sources/3/media/16456 22:23:27.005 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "16456", "source_id" => "3"} Pipelines: [:browser] 22:23:27.006 [debug] QUERY OK source="media_items" db=0.2ms 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" = ?) [16456] 22:23:27.007 [debug] QUERY OK source="tasks" db=0.2ms idle=45.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" [16456] 22:23:27.007 [debug] QUERY OK source="sources" db=0.2ms idle=44.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:27.007 [debug] QUERY OK source="settings" db=0.1ms idle=44.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.008 [debug] QUERY OK source="settings" db=0.1ms idle=43.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.008 [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 [] 22:23:27.009 [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] 22:23:27.011 [info] Sent 200 in 5ms 22:23:27.165 [info] GET /sources/3/media/19524/edit 22:23:27.165 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "19524", "source_id" => "3"} Pipelines: [:browser] 22:23:27.166 [debug] QUERY OK source="media_items" db=0.8ms idle=158.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" = ?) [19524] 22:23:27.167 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=159.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.168 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:23:27.169 [debug] QUERY OK source="settings" db=0.2ms idle=160.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.170 [info] Sent 200 in 5ms 22:23:27.311 [info] GET /sources/3/media/44522 22:23:27.311 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "44522", "source_id" => "3"} Pipelines: [:browser] 22:23:27.312 [debug] QUERY OK source="media_items" db=0.2ms idle=302.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" = ?) [44522] 22:23:27.312 [debug] QUERY OK source="tasks" db=0.4ms idle=145.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" [44522] 22:23:27.313 [debug] QUERY OK source="sources" db=0.6ms idle=144.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:27.313 [debug] QUERY OK source="settings" db=0.1ms idle=144.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.314 [debug] QUERY OK source="settings" db=0.0ms idle=144.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.314 [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 [] 22:23:27.315 [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] 22:23:27.317 [info] Sent 200 in 6ms 22:23:27.331 [info] GET /sources/3/media/16456/edit 22:23:27.331 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "16456", "source_id" => "3"} Pipelines: [:browser] 22:23:27.332 [debug] QUERY OK source="media_items" db=0.2ms idle=18.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [16456] 22:23:27.332 [debug] QUERY OK source="settings" db=0.1ms idle=18.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.333 [debug] QUERY OK source="settings" db=0.1ms idle=18.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.333 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:23:27.335 [info] Sent 200 in 3ms 22:23:27.474 [info] GET /sources/3/media/19526 22:23:27.474 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "19526", "source_id" => "3"} Pipelines: [:browser] 22:23:27.475 [debug] QUERY OK source="media_items" db=0.2ms idle=159.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" = ?) [19526] 22:23:27.476 [debug] QUERY OK source="sources" db=0.2ms idle=142.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:27.476 [debug] QUERY OK source="tasks" db=0.2ms idle=143.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" [19526] 22:23:27.476 [debug] QUERY OK source="settings" db=0.3ms idle=143.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.477 [debug] QUERY OK source="settings" db=0.1ms idle=142.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.477 [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 [] 22:23:27.478 [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] 22:23:27.480 [info] Sent 200 in 5ms 22:23:27.506 [info] GET /sources/3/media/19526/edit 22:23:27.506 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "19526", "source_id" => "3"} Pipelines: [:browser] 22:23:27.507 [debug] QUERY OK source="media_items" db=0.2ms idle=30.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" = ?) [19526] 22:23:27.507 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=30.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.508 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:23:27.508 [debug] QUERY OK source="settings" db=0.1ms idle=31.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.510 [info] Sent 200 in 4ms 22:23:27.577 [info] POST /api 22:23:27.578 [info] Sent 404 in 311µs 22:23:27.578 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:27.606 [info] GET /sources/3/media/43717/edit 22:23:27.606 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "43717", "source_id" => "3"} Pipelines: [:browser] 22:23:27.607 [debug] QUERY OK source="media_items" db=0.2ms idle=128.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" = ?) [43717] 22:23:27.607 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=100.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.608 [debug] QUERY OK source="settings" db=0.1ms idle=100.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.608 [debug] QUERY OK source="settings" db=0.0ms idle=100.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.609 [info] Sent 200 in 3ms 22:23:27.685 [info] POST /api 22:23:27.686 [info] Sent 404 in 282µs 22:23:27.686 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:27.755 [info] GET /sources/3/media/19527/edit 22:23:27.755 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "19527", "source_id" => "3"} Pipelines: [:browser] 22:23:27.756 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=148.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" = ?) [19527] 22:23:27.757 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=148.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.758 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:27.759 [debug] QUERY OK source="settings" db=0.3ms idle=150.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.760 [info] Sent 200 in 5ms 22:23:27.892 [info] GET /sources/3/media/44522/edit 22:23:27.892 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "44522", "source_id" => "3"} Pipelines: [:browser] 22:23:27.892 [debug] QUERY OK source="media_items" db=0.3ms idle=229.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" = ?) [44522] 22:23:27.893 [debug] QUERY OK source="settings" db=0.1ms idle=136.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.893 [debug] QUERY OK source="settings" db=0.1ms idle=135.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.894 [debug] QUERY OK source="settings" db=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 [] 22:23:27.895 [info] Sent 200 in 3ms 22:23:27.992 [info] GET /sources/3/media/19527 22:23:27.992 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "19527", "source_id" => "3"} Pipelines: [:browser] 22:23:27.993 [debug] QUERY OK source="media_items" db=0.2ms idle=233.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" = ?) [19527] 22:23:27.993 [debug] QUERY OK source="tasks" db=0.2ms idle=100.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" [19527] 22:23:27.994 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [3] 22:23:27.994 [debug] QUERY OK source="settings" db=0.1ms idle=100.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.995 [debug] QUERY OK source="settings" db=0.2ms idle=100.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:27.995 [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 [] 22:23:27.996 [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] 22:23:27.998 [info] Sent 200 in 5ms 22:23:28.005 [info] GET /sources/3/media/43717 22:23:28.006 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "43717", "source_id" => "3"} Pipelines: [:browser] 22:23:28.006 [debug] QUERY OK source="media_items" db=0.2ms idle=12.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" = ?) [43717] 22:23:28.007 [debug] QUERY OK source="tasks" db=0.2ms idle=12.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" [43717] 22:23:28.007 [debug] QUERY OK source="sources" db=0.3ms idle=12.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:28.008 [debug] QUERY OK source="settings" db=0.3ms idle=12.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:28.008 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:28.009 [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 [] 22:23:28.010 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 22:23:28.013 [info] Sent 200 in 7ms 22:23:28.130 [info] GET /sources/2/edit 22:23:28.130 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:23:28.130 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:23:28.131 [debug] QUERY OK source="media_profiles" db=0.2ms idle=122.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" [] 22:23:28.131 [debug] QUERY OK source="settings" db=0.1ms idle=122.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:28.132 [debug] QUERY OK source="settings" db=0.0ms idle=122.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:28.132 [debug] QUERY OK source="settings" db=0.1ms idle=121.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:28.134 [info] Sent 200 in 4ms 22:23:28.558 [info] POST /api/graphql 22:23:28.559 [info] Sent 404 in 290µs 22:23:28.559 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:28.648 [info] POST /api/graphql 22:23:28.648 [info] Sent 404 in 270µs 22:23:28.648 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:29.237 [info] POST /graphql/api 22:23:29.238 [info] Sent 404 in 262µs 22:23:29.238 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:29.574 [info] POST /graphql/api 22:23:29.575 [info] Sent 404 in 248µs 22:23:29.575 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:30.547 [info] POST /api/gql 22:23:30.547 [info] Sent 404 in 290µs 22:23:30.547 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:30.844 [info] POST /api/gql 22:23:30.845 [info] Sent 404 in 332µs 22:23:30.845 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:31.664 [info] GET /s/0323e2436313e2439313e29373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties 22:23:31.664 [debug] QUERY OK source="settings" db=0.2ms idle=1586.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:31.665 [debug] QUERY OK source="settings" db=0.3ms idle=1586.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:31.665 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:31.666 [error] #PID<0.9482.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 56) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /s/0323e2436313e2439313e29373/_/;/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/0323e2436313e2439313e29373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/0323e2436313e2439313e29373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 56, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9482.0>, params: %{}, path_info: ["s", "0323e2436313e2439313e29373", "_", ";", "META-INF", "maven", "com.atlassian.jira", "jira-webapp-dist", "pom"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/s/0323e2436313e2439313e29373/_/;/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", "GNXtXT0z4GYmQLwAAAXk"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/0323e2436313e2439313e29373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 56, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /s/0323e2436313e2439313e29373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/0323e2436313e2439313e29373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 56, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9482.0>, params: %{}, path_info: ["s", "0323e2436313e2439313e29373", "_", ";", "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, : (truncated) 22:23:31.713 [info] GET /s/0323e2436313e2439313e29373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties 22:23:31.715 [debug] QUERY OK source="settings" db=1.6ms queue=0.1ms idle=1635.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:31.717 [debug] QUERY OK source="settings" db=1.4ms queue=0.8ms idle=1049.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:31.717 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:31.718 [error] #PID<0.9483.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 57) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /s/0323e2436313e2439313e29373/_/;/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/0323e2436313e2439313e29373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/0323e2436313e2439313e29373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 57, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9483.0>, params: %{}, path_info: ["s", "0323e2436313e2439313e29373", "_", ";", "META-INF", "maven", "com.atlassian.jira", "jira-webapp-dist", "pom"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/s/0323e2436313e2439313e29373/_/;/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", "GNXtXUAgQPEeKLkAAQnB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/0323e2436313e2439313e29373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 57, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /s/0323e2436313e2439313e29373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s/0323e2436313e2439313e29373/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 57, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9483.0>, params: %{}, path_info: ["s", "0323e2436313e2439313e29373", "_", ";", "META-INF", "maven", "com.atlassian.jira", "jira-webapp-dist", "pom"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https (truncated) 22:23:32.658 [info] GET /config.json 22:23:32.659 [debug] QUERY OK source="settings" db=0.7ms idle=994.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:32.660 [debug] QUERY OK source="settings" db=0.4ms idle=994.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:32.660 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:32.661 [error] #PID<0.9484.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 58) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 58, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9484.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtXXh8KA-TA6cAAGhj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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 /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 58, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9484.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", " (truncated) 22:23:32.696 [info] GET /config.json 22:23:32.697 [debug] QUERY OK source="settings" db=0.7ms idle=981.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:32.698 [debug] QUERY OK source="settings" db=0.6ms idle=980.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:32.698 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:32.699 [error] #PID<0.9485.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 59) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 59, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9485.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtXXq_ZBTOr-wAAQnh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 59, 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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 59, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9485.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4c (truncated) 22:23:34.108 [info] GET /telescope/requests 22:23:34.109 [debug] QUERY OK source="settings" db=0.7ms idle=434.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:34.109 [debug] QUERY OK source="settings" db=0.1ms idle=31.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:34.110 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:34.110 [error] #PID<0.9488.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 60) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 60, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9488.0>, params: %{}, path_info: ["telescope", "requests"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/telescope/requests", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtXc7jR0DmAa0AAQoh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, 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 /telescope/requests (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 60, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9488.0>, params: %{}, path_info: ["telescope", "requests"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", (truncated) 22:23:34.157 [info] GET /telescope/requests 22:23:34.157 [debug] QUERY OK source="settings" db=0.2ms idle=79.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:34.158 [debug] QUERY OK source="settings" db=0.4ms idle=80.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:34.158 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:34.159 [error] #PID<0.9489.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 61) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 61, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9489.0>, params: %{}, path_info: ["telescope", "requests"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/telescope/requests", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtXdHNXdsuQYcAAQpB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, 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 /telescope/requests (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/telescope/requests", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 61, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9489.0>, params: %{}, path_info: ["telescope", "requests"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, (truncated) 22:23:34.923 [info] GET /info.php 22:23:34.923 [debug] QUERY OK source="settings" db=0.1ms idle=814.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:34.924 [debug] QUERY OK source="settings" db=0.0ms idle=814.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:34.924 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:34.924 [error] #PID<0.9490.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 62) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 62, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9490.0>, params: %{}, path_info: ["info"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtXf91MT47aDUAAQph"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 62, 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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 62, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9490.0>, params: %{}, path_info: ["info"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x- (truncated) 22:23:35.442 [info] GET /info.php 22:23:35.443 [debug] QUERY OK source="settings" db=0.3ms idle=1284.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:35.444 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1284.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:35.444 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:35.444 [error] #PID<0.9491.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 63) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 63, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9491.0>, params: %{}, path_info: ["info"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtXh5o3LkPr-IAAQqB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 63, 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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 63, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9491.0>, params: %{}, path_info: ["info"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} (truncated) 22:23:36.193 [info] GET /.well-known/security.txt 22:23:36.194 [debug] QUERY OK source="settings" db=0.1ms idle=750.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:36.194 [debug] QUERY OK source="settings" db=0.1ms idle=750.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:36.194 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:36.195 [error] #PID<0.9492.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 64) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 64, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9492.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/.well-known/security.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtXksuSx3o0FAAAQqh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 64, 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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 64, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9492.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443 (truncated) 22:23:36.253 [info] GET /.well-known/security.txt 22:23:36.254 [debug] QUERY OK source="settings" db=0.1ms idle=578.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:36.254 [debug] QUERY OK source="settings" db=0.1ms idle=176.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:36.254 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:36.255 [error] #PID<0.9493.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 65) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 65, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9493.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/.well-known/security.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtXk7AX5xpUnAAAGiD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 65, 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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.well-known/security.txt", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 65, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9493.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, (truncated) 22:23:37.023 [info] GET /actuator/env 22:23:37.024 [debug] QUERY OK source="settings" db=0.2ms idle=829.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:37.024 [debug] QUERY OK source="settings" db=0.3ms idle=829.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:37.024 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:37.025 [error] #PID<0.9494.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 66) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 66, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9494.0>, params: %{}, path_info: ["actuator", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtXnyiztoQMdsAAQrB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 66, 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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 66, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9494.0>, params: %{}, path_info: ["actuator", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4 (truncated) 22:23:37.315 [info] GET /actuator/env 22:23:37.317 [debug] QUERY OK source="settings" db=1.5ms queue=0.1ms idle=1062.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:37.318 [debug] QUERY OK source="settings" db=0.3ms idle=1063.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:37.318 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:37.319 [error] #PID<0.9495.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 67) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 67, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9495.0>, params: %{}, path_info: ["actuator", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtXo4PZZsoFFMAAQrh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 67, 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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 67, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9495.0>, params: %{}, path_info: ["actuator", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, (truncated) 22:23:38.210 [info] GET /trace.axd 22:23:38.211 [debug] QUERY OK source="settings" db=0.3ms idle=892.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:38.211 [debug] QUERY OK source="settings" db=0.2ms idle=892.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:38.211 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:38.211 [error] #PID<0.9496.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 68) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 68, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9496.0>, params: %{}, path_info: ["trace"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/trace.axd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtXsNha5GGjwoAAQsB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 68, 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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 68, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9496.0>, params: %{}, path_info: ["trace"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, (truncated) 22:23:38.574 [info] GET /trace.axd 22:23:38.575 [debug] QUERY OK source="settings" db=0.1ms idle=896.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:38.575 [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 [] 22:23:38.575 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:38.576 [error] #PID<0.9497.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 69) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 69, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9497.0>, params: %{}, path_info: ["trace"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/trace.axd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtXtkWk3jXkyEAAQsh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 69, 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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/trace.axd", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 69, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9497.0>, params: %{}, path_info: ["trace"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47 (truncated) 22:23:39.419 [info] GET /@vite/env 22:23:39.420 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:39.420 [debug] QUERY OK source="settings" db=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 [] 22:23:39.420 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:39.421 [error] #PID<0.9498.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 70) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 70, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9498.0>, params: %{}, path_info: ["@vite", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/@vite/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtXwt26nTtC_gAAQtB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 70, 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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 70, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9498.0>, params: %{}, path_info: ["@vite", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-rea (truncated) 22:23:39.468 [info] GET /@vite/env 22:23:39.469 [debug] QUERY OK source="settings" db=0.2ms idle=894.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:39.469 [debug] QUERY OK source="settings" db=0.1ms idle=894.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:39.469 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:39.470 [error] #PID<0.9499.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 71) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 71, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9499.0>, params: %{}, path_info: ["@vite", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/@vite/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtXw5kC6i51L4AAQth"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 71, 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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/@vite/env", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 71, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9499.0>, params: %{}, path_info: ["@vite", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "0 (truncated) 22:23:40.362 [info] GET /.vscode/sftp.json 22:23:40.363 [debug] QUERY OK source="settings" db=0.1ms idle=942.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:40.363 [debug] QUERY OK source="settings" db=0.3ms idle=942.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:40.363 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:40.364 [error] #PID<0.9500.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 72) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 72, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9500.0>, params: %{}, path_info: [".vscode", "sftp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/.vscode/sftp.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtX0OrEdH-22YAAQuB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 72, 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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 72, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9500.0>, params: %{}, path_info: [".vscode", "sftp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-pro (truncated) 22:23:40.679 [info] GET /.vscode/sftp.json 22:23:40.679 [debug] QUERY OK source="settings" db=0.1ms idle=1210.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:40.680 [debug] QUERY OK source="settings" db=0.0ms idle=1210.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:40.680 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:40.680 [error] #PID<0.9501.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 73) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 73, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9501.0>, params: %{}, path_info: [".vscode", "sftp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/.vscode/sftp.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtX1aLDJI5qnQAAQuh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 73, 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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.vscode/sftp.json", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 73, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9501.0>, params: %{}, path_info: [".vscode", "sftp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-for (truncated) 22:23:41.418 [info] OPTIONS / 22:23:41.418 [debug] QUERY OK source="settings" db=0.1ms idle=1055.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:41.418 [debug] QUERY OK source="settings" db=0.1ms idle=1055.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:41.419 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:41.419 [error] #PID<0.9502.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 74) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", streamid: 74, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "OPTIONS", owner: #PID<0.9502.0>, params: %{}, path_info: [], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtX4KU6OROJIMAAQvB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", streamid: 74, 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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", streamid: 74, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "OPTIONS", owner: #PID<0.9502.0>, params: %{}, path_info: [], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} (truncated) 22:23:42.130 [info] OPTIONS / 22:23:42.130 [debug] QUERY OK source="settings" db=0.1ms idle=711.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:42.131 [debug] QUERY OK source="settings" db=0.1ms idle=712.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:42.131 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:42.131 [error] #PID<0.9503.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 75) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", streamid: 75, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "OPTIONS", owner: #PID<0.9503.0>, params: %{}, path_info: [], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtX60Ho1y0vGsAAQvh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", streamid: 75, 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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "OPTIONS", body_length: 0, path_info: :undefined, qs: "", streamid: 75, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "OPTIONS", owner: #PID<0.9503.0>, params: %{}, path_info: [], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_pat (truncated) 22:23:42.709 [info] GET / 22:23:42.709 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"rest_route" => "/wp/v2/users/"} Pipelines: [:browser] 22:23:42.709 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:42.709 [debug] QUERY OK source="media_profiles" db=0.0ms idle=631.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:23:42.710 [debug] QUERY OK source="sources" db=0.0ms idle=579.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:23:42.710 [debug] QUERY OK source="media_items" db=0.4ms idle=578.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:42.711 [debug] QUERY OK source="media_items" db=0.4ms idle=23.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:42.711 [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 [] 22:23:42.712 [debug] QUERY OK source="settings" db=0.2ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:42.712 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:42.713 [debug] QUERY OK source="tasks" db=0.2ms idle=2.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 22:23:42.714 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:42.715 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:23:42.715 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [4, 2, 1, 3] 22:23:42.718 [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"))) [] 22:23:42.720 [debug] QUERY OK source="media_items" db=1.8ms 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] 22:23:42.721 [info] Sent 200 in 12ms 22:23:42.985 [info] GET / 22:23:42.985 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"rest_route" => "/wp/v2/users/"} Pipelines: [:browser] 22:23:42.986 [debug] QUERY OK source="settings" db=0.2ms idle=271.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:42.986 [debug] QUERY OK source="media_profiles" db=0.1ms idle=271.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:23:42.987 [debug] QUERY OK source="sources" db=0.3ms idle=270.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:23:42.987 [debug] QUERY OK source="media_items" db=0.4ms idle=268.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:42.988 [debug] QUERY OK source="media_items" db=0.3ms idle=267.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:42.988 [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 [] 22:23:42.989 [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 [] 22:23:42.989 [debug] QUERY OK source="settings" db=0.5ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:42.990 [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"] 22:23:42.991 [debug] QUERY OK source="media_items" db=0.2ms 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 (NOT (m0."media_filepath" IS NULL)) [] 22:23:42.992 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:23:42.992 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [4, 2, 1, 3] 22:23:42.995 [debug] QUERY OK source="media_items" db=1.8ms 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"))) [] 22:23:42.998 [debug] QUERY OK source="media_items" db=2.0ms 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] 22:23:42.999 [info] Sent 200 in 13ms 22:23:43.546 [info] GET /debug/default/view 22:23:43.547 [debug] QUERY OK source="settings" db=0.2ms idle=555.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:43.547 [debug] QUERY OK source="settings" db=0.1ms idle=555.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:43.547 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:43.548 [error] #PID<0.9506.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 78) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", streamid: 78, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9506.0>, params: %{"panel" => "config"}, path_info: ["debug", "default", "view"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"panel" => "config"}, query_string: "panel=config", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "157.245.113.227"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu:80"}, {"x-forwarded-port", "80"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "157.245.113.227"} ], request_path: "/debug/default/view", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtYAF3aKwJfZMAAQ0h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", streamid: 78, 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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu:80", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "157.245.113.227", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu:80", "x-forwarded-port" => "80", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "157.245.113.227" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", streamid: 78, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9506.0>, params: %{"panel" => "config"}, path_info: ["debug", "default", "view"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"panel" => "config"}, query_string: "panel=config", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu:80"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, (truncated) 22:23:44.173 [info] GET /debug/default/view 22:23:44.173 [debug] QUERY OK source="settings" db=0.1ms idle=626.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:44.174 [debug] QUERY OK source="settings" db=0.1ms idle=626.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:44.174 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:44.174 [error] #PID<0.9507.0> running PinchflatWeb.Endpoint (connection #PID<0.9237.0>, stream id 79) terminated Server: pinchflat.homelab.simonjonas.eu: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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", streamid: 79, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9507.0>, params: %{"panel" => "config"}, path_info: ["debug", "default", "view"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"panel" => "config"}, query_string: "panel=config", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154.212.47"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "207.154.212.47"} ], request_path: "/debug/default/view", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtYCbMGJc6HLsAAQ1B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", streamid: 79, 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.9237.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug/default/view", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43408}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)", "x-forwarded-for" => "207.154.212.47", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "207.154.212.47" }, method: "GET", body_length: 0, path_info: :undefined, qs: "panel=config", streamid: 79, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9507.0>, params: %{"panel" => "config"}, path_info: ["debug", "default", "view"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{"panel" => "config"}, query_string: "panel=config", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 (l9scan/2.0.0323e2436313e2439313e29373; +https://leakix.net)"}, {"x-forwarded-for", "207.154 (truncated) 22:23:54.352 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:56.731 [info] GET / 22:23:56.731 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:23:56.732 [debug] QUERY OK source="settings" db=0.3ms idle=653.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:56.732 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.2ms idle=654.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:23:56.733 [debug] QUERY OK source="sources" db=0.0ms idle=654.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:23:56.733 [debug] QUERY OK source="media_items" db=0.4ms idle=655.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:56.734 [debug] QUERY OK source="media_items" db=0.2ms idle=25.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:56.734 [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 [] 22:23:56.734 [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 [] 22:23:56.735 [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 [] 22:23:56.736 [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"] 22:23:56.736 [debug] QUERY OK source="media_items" db=0.3ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:23:56.737 [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] 22:23:56.738 [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 (?,?,?,?)) [4, 2, 1, 3] 22:23:56.740 [debug] QUERY OK source="media_items" db=1.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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:23:56.742 [debug] QUERY OK source="media_items" db=1.7ms 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] 22:23:56.743 [info] Sent 200 in 12ms 22:23:57.159 [info] GET /media_profiles 22:23:57.159 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 22:23:57.160 [debug] QUERY OK source="media_profiles" db=0.3ms idle=423.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" [] 22:23:57.161 [debug] QUERY OK source="settings" db=0.2ms idle=423.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.161 [debug] QUERY OK source="settings" db=0.1ms idle=423.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.162 [debug] QUERY OK source="settings" db=0.1ms idle=421.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.164 [info] Sent 200 in 4ms 22:23:57.173 [info] GET /settings 22:23:57.173 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 22:23:57.174 [debug] QUERY OK source="settings" db=0.5ms idle=431.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.175 [info] GET /sources 22:23:57.175 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 22:23:57.176 [info] GET /app_info 22:23:57.176 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 22:23:57.175 [debug] QUERY OK source="settings" db=0.8ms 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 [] 22:23:57.176 [debug] QUERY OK source="settings" db=0.4ms idle=15.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.177 [debug] QUERY OK source="settings" db=0.8ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.177 [debug] QUERY OK source="settings" db=0.9ms idle=14.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.177 [debug] QUERY OK source="settings" db=0.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 [] 22:23:57.177 [info] GET /sources/3/media/115304 22:23:57.178 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "115304", "source_id" => "3"} Pipelines: [:browser] 22:23:57.178 [debug] QUERY OK source="settings" db=0.8ms 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 [] 22:23:57.179 [debug] QUERY OK source="settings" db=0.5ms queue=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 [] 22:23:57.179 [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 [] 22:23:57.180 [debug] QUERY OK source="settings" db=0.9ms 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 [] 22:23:57.180 [debug] QUERY OK source="media_items" db=1.3ms queue=0.5ms 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."id" = ?) [115304] 22:23:57.181 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:23:57.181 [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 [] 22:23:57.182 [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 [] 22:23:57.182 [debug] QUERY OK source="tasks" db=0.4ms queue=0.9ms 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" [115304] 22:23:57.182 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:23:57.182 [debug] QUERY OK source="sources" db=1.0ms queue=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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:57.183 [info] Sent 200 in 6ms 22:23:57.183 [info] Sent 200 in 9ms 22:23:57.184 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=1.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" = ?) [9495] 22:23:57.185 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.185 [debug] QUERY OK source="settings" db=0.1ms queue=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.186 [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 [] 22:23:57.187 [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] 22:23:57.190 [debug] QUERY OK source="sources" db=6.9ms idle=1.8ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 22:23:57.190 [info] Sent 200 in 12ms 22:23:57.190 [info] GET /sources/3/media/115357 22:23:57.190 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "115357", "source_id" => "3"} Pipelines: [:browser] 22:23:57.192 [debug] QUERY OK source="media_items" db=1.2ms 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 WHERE (m0."id" = ?) [115357] 22:23:57.193 [info] GET /sources/3 22:23:57.193 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 22:23:57.194 [debug] QUERY OK source="sources" db=0.9ms 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" = ?) [3] 22:23:57.195 [debug] QUERY OK source="tasks" db=0.7ms queue=0.6ms idle=5.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" [115357] 22:23:57.195 [debug] QUERY OK source="sources" db=0.8ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:57.195 [debug] QUERY OK source="oban_jobs" db=0.2ms 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" = ?) [9496] 22:23:57.196 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 22:23:57.196 [debug] QUERY OK source="sources" db=5.8ms queue=0.1ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", 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] 22:23:57.196 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:23:57.197 [debug] QUERY OK source="tasks" db=1.3ms idle=1.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 (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 22:23:57.198 [debug] QUERY OK source="settings" db=1.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.198 [debug] QUERY OK source="oban_jobs" db=0.5ms 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" = ?) [9497] 22:23:57.198 [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 [] 22:23:57.199 [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 [] 22:23:57.200 [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 [] 22:23:57.200 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.2ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:23:57.201 [debug] QUERY OK source="settings" db=1.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 [] 22:23:57.203 [info] Sent 200 in 13ms 22:23:57.203 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:57.204 [debug] QUERY OK source="media_items" db=0.6ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 22:23:57.205 [debug] QUERY OK source="media_items" db=0.4ms idle=4.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 22:23:57.205 [debug] QUERY OK source="sources" db=0.1ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:57.206 [debug] QUERY OK source="media_items" db=0.1ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 22:23:57.207 [info] GET /sources/1/media/113855 22:23:57.207 [debug] QUERY OK source="media_items" db=0.4ms queue=0.3ms 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 ? [3, 10, 0] 22:23:57.207 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "113855", "source_id" => "1"} Pipelines: [:browser] 22:23:57.208 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [113855] 22:23:57.208 [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" = ?) [3] 22:23:57.209 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [3] 22:23:57.210 [debug] QUERY OK source="media_items" db=0.4ms 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 ? [3, 10, 0] 22:23:57.211 [info] Sent 200 in 17ms 22:23:57.212 [debug] QUERY OK source="tasks" db=0.2ms idle=5.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" [113855] 22:23:57.212 [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" = ?) [1] 22:23:57.213 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=4.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" = ?) [9474] 22:23:57.213 [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 [] 22:23:57.214 [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 [] 22:23:57.214 [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 [] 22:23:57.215 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:57.217 [info] Sent 200 in 9ms 22:23:57.238 [debug] QUERY OK db=0.4ms idle=24.8ms SELECT regexp_like('', ?) ["(?i).*Freitagsgebet.*"] 22:23:57.257 [info] Sent 200 in 81ms 22:23:57.271 [info] GET /sources/1 22:23:57.271 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:23:57.271 [debug] QUERY OK source="sources" db=0.2ms idle=57.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:57.272 [debug] QUERY OK source="media_profiles" db=0.1ms idle=58.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] 22:23:57.272 [debug] QUERY OK source="tasks" db=0.3ms idle=57.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 22:23:57.273 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=57.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" = ?) [9489] 22:23:57.273 [debug] QUERY OK source="settings" db=0.3ms idle=34.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.274 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.274 [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 [] 22:23:57.276 [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" = ?) [1] 22:23:57.277 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 22:23:57.277 [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 ? [1, 10, 0] 22:23:57.278 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:57.278 [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)) [1] 22:23:57.279 [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 ? [1, 10, 0] 22:23:57.280 [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" = ?) [1] 22:23:57.281 [debug] QUERY OK source="media_items" db=0.3ms 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"))))) [1] 22:23:57.281 [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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:23:57.283 [info] Sent 200 in 11ms 22:23:57.396 [info] GET /sources/2/media/113281 22:23:57.396 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "113281", "source_id" => "2"} Pipelines: [:browser] 22:23:57.397 [debug] QUERY OK source="media_items" db=0.2ms idle=118.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" = ?) [113281] 22:23:57.397 [debug] QUERY OK source="tasks" db=0.1ms idle=118.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" [113281] 22:23:57.398 [debug] QUERY OK source="sources" db=0.2ms idle=117.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:23:57.398 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=117.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" = ?) [9466] 22:23:57.399 [debug] QUERY OK source="settings" db=0.2ms idle=117.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.399 [info] GET /sources/2 22:23:57.399 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:23:57.399 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:23:57.400 [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 [] 22:23:57.401 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [2] 22:23:57.401 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:23:57.402 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 22:23:57.402 [debug] QUERY OK source="tasks" db=0.5ms idle=1.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 22:23:57.403 [debug] QUERY OK source="oban_jobs" db=0.4ms 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" = ?) [9491] 22:23:57.403 [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 [] 22:23:57.404 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:57.405 [info] Sent 200 in 8ms 22:23:57.405 [debug] QUERY OK source="settings" db=0.6ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.407 [info] GET /sources/4/media/109769 22:23:57.407 [debug] QUERY OK source="sources" db=0.8ms 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" = ?) [2] 22:23:57.407 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "109769", "source_id" => "4"} Pipelines: [:browser] 22:23:57.408 [debug] QUERY OK source="media_items" db=0.3ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 22:23:57.409 [debug] QUERY OK source="media_items" db=1.2ms idle=4.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [109769] 22:23:57.409 [debug] QUERY OK source="media_items" db=1.0ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 22:23:57.410 [debug] QUERY OK source="tasks" db=0.7ms idle=4.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" [109769] 22:23:57.410 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:23:57.410 [debug] QUERY OK source="sources" db=1.0ms 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" = ?) [4] 22:23:57.411 [debug] QUERY OK source="media_items" db=0.1ms idle=1.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 22:23:57.411 [debug] QUERY OK source="oban_jobs" db=0.1ms 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" = ?) [9423] 22:23:57.411 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=0.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 ? [2, 10, 0] 22:23:57.412 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:23:57.412 [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 [] 22:23:57.413 [debug] QUERY OK source="sources" db=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:23:57.413 [debug] QUERY OK source="settings" db=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 [] 22:23:57.414 [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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 22:23:57.414 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 22:23:57.415 [debug] QUERY OK source="media_items" db=0.5ms queue=0.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 ? [2, 10, 0] 22:23:57.416 [info] Sent 200 in 8ms 22:23:57.416 [info] Sent 200 in 16ms 22:23:57.501 [info] GET /sources/4 22:23:57.501 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "4"} Pipelines: [:browser] 22:23:57.502 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [4] 22:23:57.502 [debug] QUERY OK source="media_profiles" db=0.1ms idle=88.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] 22:23:57.503 [debug] QUERY OK source="tasks" db=0.2ms idle=88.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 (?,?,?,?)) [4, "executing", "available", "scheduled", "retryable"] 22:23:57.503 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=88.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" = ?) [9492] 22:23:57.503 [debug] QUERY OK source="settings" db=0.1ms idle=88.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.504 [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 [] 22:23:57.504 [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 [] 22:23:57.506 [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" = ?) [4] 22:23:57.506 [debug] QUERY OK source="media_items" db=0.3ms 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")))) [4] 22:23:57.507 [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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 22:23:57.508 [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" = ?) [4] 22:23:57.508 [debug] QUERY OK source="media_items" db=0.1ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [4] 22:23:57.509 [debug] QUERY OK source="media_items" db=0.4ms 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 ? [4, 10, 0] 22:23:57.510 [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" = ?) [4] 22:23:57.511 [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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [4] 22:23:57.512 [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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 22:23:57.513 [info] Sent 200 in 11ms 22:23:57.524 [info] GET /media_profiles/2 22:23:57.524 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:23:57.525 [info] GET /media_profiles/new 22:23:57.525 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 22:23:57.526 [debug] QUERY OK source="media_profiles" db=0.9ms idle=16.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:23:57.526 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:57.527 [debug] QUERY OK source="sources" db=0.6ms 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."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 22:23:57.527 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:23:57.528 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=15.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.528 [debug] QUERY OK source="settings" db=0.9ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.528 [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 [] 22:23:57.529 [debug] QUERY OK source="settings" db=0.2ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.529 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:57.530 [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 [] 22:23:57.531 [info] Sent 200 in 7ms 22:23:57.531 [info] Sent 200 in 6ms 22:23:57.538 [info] GET /media_profiles/2/ 22:23:57.539 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:23:57.539 [debug] QUERY OK source="media_profiles" db=0.2ms idle=10.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:23:57.540 [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."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 22:23:57.541 [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 [] 22:23:57.541 [debug] QUERY OK source="settings" db=0.2ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.542 [debug] QUERY OK source="settings" db=0.1ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.543 [info] Sent 200 in 4ms 22:23:57.557 [info] GET /media_profiles/2/edit 22:23:57.557 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:23:57.558 [debug] QUERY OK source="media_profiles" db=0.3ms idle=18.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:23:57.560 [debug] QUERY OK source="settings" db=1.6ms idle=18.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.561 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:23:57.562 [debug] QUERY OK source="settings" db=0.9ms idle=20.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.565 [info] Sent 200 in 7ms 22:23:57.566 [info] GET /media_profiles/1 22:23:57.566 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:23:57.567 [debug] QUERY OK source="media_profiles" db=0.3ms idle=24.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] 22:23:57.567 [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."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 22:23:57.568 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:57.568 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:57.569 [debug] QUERY OK source="settings" db=0.2ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.570 [info] Sent 200 in 4ms 22:23:57.614 [info] GET /media_profiles/1/ 22:23:57.614 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:23:57.614 [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 WHERE (m0."id" = ?) [1] 22:23:57.615 [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" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 22:23:57.615 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=47.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.616 [debug] QUERY OK source="settings" db=0.1ms idle=47.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.616 [debug] QUERY OK source="settings" db=0.1ms idle=47.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.618 [info] Sent 200 in 4ms 22:23:57.624 [info] GET /media_profiles/1/edit 22:23:57.624 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:23:57.625 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:57.625 [debug] QUERY OK source="settings" db=0.1ms idle=10.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.625 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:57.626 [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 [] 22:23:57.628 [info] Sent 200 in 4ms 22:23:57.628 [info] GET /download_logs 22:23:57.628 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 22:23:57.629 [info] Sent 200 in 441µs 22:23:57.658 [info] GET /sources/4d7eff6a-de25-416f-92e5-1b45387ca7ff/feed.xml 22:23:57.658 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "4d7eff6a-de25-416f-92e5-1b45387ca7ff"} Pipelines: [:maybe_basic_auth] 22:23:57.658 [debug] QUERY OK source="sources" db=0.3ms idle=41.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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" = ?) ["4d7eff6a-de25-416f-92e5-1b45387ca7ff"] 22:23:57.659 [info] GET /sources/1/edit 22:23:57.659 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:23:57.660 [info] GET /sources/new 22:23:57.660 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "1"} Pipelines: [:browser] 22:23:57.661 [debug] QUERY OK source="sources" db=1.2ms idle=34.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:57.661 [debug] QUERY OK source="media_items" db=1.8ms idle=34.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" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [1, 2000] 22:23:57.662 [debug] QUERY OK source="sources" db=0.7ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:57.662 [debug] QUERY OK source="media_profiles" db=0.8ms idle=35.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" [] 22:23:57.663 [debug] QUERY OK source="media_profiles" db=0.5ms 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" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:23:57.663 [debug] QUERY OK source="settings" db=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 [] 22:23:57.663 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:23:57.664 [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 [] 22:23:57.664 [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 [] 22:23:57.664 [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 [] 22:23:57.665 [debug] QUERY OK source="settings" db=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 [] 22:23:57.665 [debug] QUERY OK source="settings" db=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 [] 22:23:57.666 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.667 [info] Sent 200 in 7ms 22:23:57.668 [info] Sent 200 in 8ms 22:23:57.683 [debug] QUERY OK source="source_metadata" db=0.1ms idle=19.4ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [1] 22:23:57.685 [debug] QUERY OK source="media_metadata" db=0.9ms idle=19.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [37771] 22:23:57.708 [info] Sent 200 in 50ms 22:23:57.728 [info] GET /sources/1/force_download_pending 22:23:57.728 [debug] QUERY OK source="settings" db=0.1ms idle=63.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.729 [debug] QUERY OK source="settings" db=0.2ms idle=62.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.729 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:57.729 [error] #PID<0.9553.0> running PinchflatWeb.Endpoint (connection #PID<0.9515.0>, stream id 3) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9553.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/1/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY06_k_DpuoUAAH6i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, 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/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: (truncated) 22:23:57.767 [info] GET /sources/1/force_redownload 22:23:57.768 [debug] QUERY OK source="settings" db=0.2ms idle=84.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.769 [debug] QUERY OK source="settings" db=0.1ms idle=83.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.769 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:57.769 [error] #PID<0.9554.0> running PinchflatWeb.Endpoint (connection #PID<0.9515.0>, stream id 4) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9554.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/1/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY1EazJTEeccAAH7C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, 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/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchf (truncated) 22:23:57.782 [info] GET /sources/1/force_index 22:23:57.783 [debug] QUERY OK source="settings" db=0.1ms idle=73.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.783 [debug] QUERY OK source="settings" db=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 [] 22:23:57.783 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:57.783 [error] #PID<0.9555.0> running PinchflatWeb.Endpoint (connection #PID<0.9515.0>, stream id 5) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9555.0>, params: %{}, path_info: ["sources", "1", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/1/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY1H5S853mbcAAH7i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, 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/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3N (truncated) 22:23:57.787 [info] GET /sources/1/sync_files_on_disk 22:23:57.788 [debug] QUERY OK source="settings" db=0.1ms idle=58.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.788 [debug] QUERY OK source="settings" db=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 [] 22:23:57.788 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:57.789 [error] #PID<0.9556.0> running PinchflatWeb.Endpoint (connection #PID<0.9515.0>, stream id 6) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9556.0>, params: %{}, path_info: ["sources", "1", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/1/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY1JMoHeCP3AAAH8C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, 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/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 6, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 22:23:57.792 [info] GET /sources/1/media/37771 22:23:57.792 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37771", "source_id" => "1"} Pipelines: [:browser] 22:23:57.792 [debug] QUERY OK source="media_items" db=0.1ms idle=23.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" = ?) [37771] 22:23:57.793 [debug] QUERY OK source="tasks" db=0.1ms idle=10.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" [37771] 22:23:57.793 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:57.794 [debug] QUERY OK source="settings" db=0.1ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.794 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.795 [info] GET /sources/1/force_metadata_refresh 22:23:57.795 [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 [] 22:23:57.796 [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 [] 22:23:57.796 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:57.796 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:57.797 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.2ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:57.799 [info] Sent 200 in 7ms 22:23:57.797 [error] #PID<0.9561.0> running PinchflatWeb.Endpoint (connection #PID<0.9513.0>, stream id 5) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9513.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43166}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9561.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/1/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY1K_fA3Ii0UAAGyj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9513.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43166}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, 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/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9513.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43166}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 5, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: (truncated) 22:23:57.832 [info] GET /sources/1/force_download_pending 22:23:57.833 [debug] QUERY OK source="settings" db=0.1ms idle=37.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.833 [debug] QUERY OK source="settings" db=0.1ms idle=37.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.833 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:57.833 [error] #PID<0.9562.0> running PinchflatWeb.Endpoint (connection #PID<0.9508.0>, stream id 14) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9508.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43162}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 14, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9562.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/1/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY1TzL05lGgQAAH8i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9508.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43162}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, 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/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9508.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43162}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 14, has_body: false, host_info: :undefined }}, assigns: %{}, body_par (truncated) 22:23:57.870 [info] GET /sources/1/force_redownload 22:23:57.871 [debug] QUERY OK source="settings" db=0.2ms idle=74.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.871 [debug] QUERY OK source="settings" db=0.1ms idle=74.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.871 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:57.872 [error] #PID<0.9563.0> running PinchflatWeb.Endpoint (connection #PID<0.9508.0>, stream id 15) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9508.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43162}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9563.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/1/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY1c5_BwpthMAAH9C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9508.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43162}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, 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/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9508.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43162}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 15, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pi (truncated) 22:23:57.886 [info] GET /sources/1/force_index 22:23:57.887 [debug] QUERY OK source="settings" db=0.2ms idle=89.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.887 [debug] QUERY OK source="settings" db=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 [] 22:23:57.887 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:57.887 [error] #PID<0.9564.0> running PinchflatWeb.Endpoint (connection #PID<0.9508.0>, stream id 16) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9508.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43162}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9564.0>, params: %{}, path_info: ["sources", "1", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/1/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY1gsSaQHv4IAAH9i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9508.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43162}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, 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/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9508.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43162}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 16, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAt (truncated) 22:23:57.892 [info] GET /sources/1/sync_files_on_disk 22:23:57.893 [debug] QUERY OK source="settings" db=0.1ms idle=59.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.893 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:57.893 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:57.893 [error] #PID<0.9565.0> running PinchflatWeb.Endpoint (connection #PID<0.9508.0>, stream id 17) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9508.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43162}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9565.0>, params: %{}, path_info: ["sources", "1", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/1/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY1iIFSpmPLkAAH-C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9508.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43162}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, 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/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9508.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43162}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 17, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 22:23:57.910 [info] GET /sources/1/force_metadata_refresh 22:23:57.910 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms 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 [] 22:23:57.911 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=23.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.911 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:57.911 [info] GET /sources/1 22:23:57.911 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "1"} Pipelines: [:browser] 22:23:57.912 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=24.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:57.913 [debug] QUERY OK source="media_profiles" db=0.3ms idle=20.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:57.914 [debug] QUERY OK source="tasks" db=0.4ms idle=20.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 22:23:57.914 [debug] QUERY OK source="oban_jobs" db=0.2ms 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" = ?) [9489] 22:23:57.915 [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 [] 22:23:57.915 [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 [] 22:23:57.911 [error] #PID<0.9566.0> running PinchflatWeb.Endpoint (connection #PID<0.9508.0>, stream id 18) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9508.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43162}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9566.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/1/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY1mXQ3eu2GsAAH-i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9508.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43162}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, 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/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9508.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43162}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 18, has_body: false, host_info: :undefined }}, assigns: %{}, body_par (truncated) 22:23:57.916 [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 [] 22:23:57.918 [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" = ?) [1] 22:23:57.919 [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")))) [1] 22:23:57.919 [debug] QUERY OK source="media_items" db=0.4ms idle=3.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:23:57.920 [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" = ?) [1] 22:23:57.920 [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)) [1] 22:23:57.921 [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 ? [1, 10, 0] 22:23:57.922 [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" = ?) [1] 22:23:57.923 [debug] QUERY OK source="media_items" db=0.2ms 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"))))) [1] 22:23:57.924 [debug] QUERY OK source="media_items" db=0.4ms 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 ? [1, 10, 0] 22:23:57.925 [info] Sent 200 in 13ms 22:23:57.936 [info] GET /sources/1/media/37771/edit 22:23:57.936 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "37771", "source_id" => "1"} Pipelines: [:browser] 22:23:57.937 [debug] QUERY OK source="media_items" db=0.6ms idle=16.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" = ?) [37771] 22:23:57.938 [debug] QUERY OK source="settings" db=0.2ms idle=16.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.938 [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 [] 22:23:57.939 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:57.940 [info] Sent 200 in 3ms 22:23:57.943 [info] GET /sources/1/media/10780 22:23:57.943 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "10780", "source_id" => "1"} Pipelines: [:browser] 22:23:57.944 [debug] QUERY OK source="media_items" db=0.4ms idle=19.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" = ?) [10780] 22:23:57.945 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=7.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" [10780] 22:23:57.946 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:57.947 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:57.949 [debug] QUERY OK source="settings" db=0.9ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.950 [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 [] 22:23:57.951 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:57.953 [info] Sent 200 in 9ms 22:23:57.973 [info] GET /sources/1/media/37770 22:23:57.973 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37770", "source_id" => "1"} Pipelines: [:browser] 22:23:57.974 [debug] QUERY OK source="media_items" db=0.2ms idle=27.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" = ?) [37770] 22:23:57.975 [debug] QUERY OK source="tasks" db=0.2ms queue=0.1ms idle=27.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" [37770] 22:23:57.975 [debug] QUERY OK source="sources" db=0.4ms idle=25.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:57.976 [debug] QUERY OK source="settings" db=0.1ms idle=25.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.976 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=25.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.977 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:57.978 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:57.980 [info] Sent 200 in 6ms 22:23:57.990 [info] GET /sources/1/media/37770/edit 22:23:57.990 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "37770", "source_id" => "1"} Pipelines: [:browser] 22:23:57.990 [debug] QUERY OK source="media_items" db=0.2ms idle=15.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" = ?) [37770] 22:23:57.991 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:57.991 [debug] QUERY OK source="settings" db=0.1ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.992 [debug] QUERY OK source="settings" db=0.2ms idle=14.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:57.993 [info] Sent 200 in 3ms 22:23:57.995 [info] GET /sources/1/media/10780/edit 22:23:57.995 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "10780", "source_id" => "1"} Pipelines: [:browser] 22:23:57.996 [debug] QUERY OK source="media_items" db=0.2ms idle=17.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" = ?) [10780] 22:23:57.996 [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 [] 22:23:57.996 [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 [] 22:23:57.998 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:23:57.999 [info] Sent 200 in 3ms 22:23:58.025 [info] GET /sources/1/media/37769/edit 22:23:58.025 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "37769", "source_id" => "1"} Pipelines: [:browser] 22:23:58.026 [debug] QUERY OK source="media_items" db=0.2ms idle=33.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" = ?) [37769] 22:23:58.026 [debug] QUERY OK source="settings" db=0.1ms idle=30.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.026 [debug] QUERY OK source="settings" db=0.1ms idle=30.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.027 [debug] QUERY OK source="settings" db=0.1ms idle=30.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.028 [info] Sent 200 in 3ms 22:23:58.039 [info] GET /sources/1/media/7 22:23:58.039 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "7", "source_id" => "1"} Pipelines: [:browser] 22:23:58.040 [debug] QUERY OK source="media_items" db=0.2ms idle=41.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" = ?) [7] 22:23:58.040 [debug] QUERY OK source="tasks" db=0.1ms idle=14.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" [7] 22:23:58.040 [debug] QUERY OK source="sources" db=0.3ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:58.041 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:58.042 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:58.042 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.043 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:58.045 [info] Sent 200 in 6ms 22:23:58.052 [info] GET /sources/1/media/37769 22:23:58.052 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37769", "source_id" => "1"} Pipelines: [:browser] 22:23:58.053 [debug] QUERY OK source="media_items" db=0.3ms idle=12.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" = ?) [37769] 22:23:58.054 [debug] QUERY OK source="tasks" db=0.2ms idle=11.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" [37769] 22:23:58.054 [debug] QUERY OK source="sources" db=0.5ms idle=11.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:58.055 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:58.055 [debug] QUERY OK source="settings" db=0.2ms idle=11.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.056 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.057 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 22:23:58.059 [info] Sent 200 in 6ms 22:23:58.077 [info] GET /sources/1/media/7/edit 22:23:58.077 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "7", "source_id" => "1"} Pipelines: [:browser] 22:23:58.078 [debug] QUERY OK source="media_items" db=0.2ms idle=23.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" = ?) [7] 22:23:58.078 [debug] QUERY OK source="settings" db=0.1ms idle=23.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.079 [debug] QUERY OK source="settings" db=0.2ms idle=23.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.079 [debug] QUERY OK source="settings" db=0.1ms idle=23.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.081 [info] Sent 200 in 3ms 22:23:58.103 [info] GET /sources/1/media/6/edit 22:23:58.103 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "6", "source_id" => "1"} Pipelines: [:browser] 22:23:58.104 [debug] QUERY OK source="media_items" db=0.2ms idle=46.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [6] 22:23:58.104 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:58.105 [debug] QUERY OK source="settings" db=0.1ms idle=26.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.105 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=26.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.107 [info] Sent 200 in 3ms 22:23:58.111 [info] GET /sources/1/media/37772 22:23:58.111 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37772", "source_id" => "1"} Pipelines: [:browser] 22:23:58.112 [debug] QUERY OK source="media_items" db=0.2ms idle=32.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" = ?) [37772] 22:23:58.112 [debug] QUERY OK source="tasks" db=0.1ms idle=8.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" [37772] 22:23:58.113 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:58.113 [info] GET /sources/1/media/6 22:23:58.113 [debug] QUERY OK source="settings" db=0.3ms idle=8.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.113 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "6", "source_id" => "1"} Pipelines: [:browser] 22:23:58.114 [debug] QUERY OK source="media_items" db=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" = ?) [6] 22:23:58.114 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:23:58.114 [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", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [6] 22:23:58.115 [debug] QUERY OK source="sources" db=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" = ?) [1] 22:23:58.115 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:58.115 [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 [] 22:23:58.116 [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 [] 22:23:58.116 [debug] QUERY OK source="media_profiles" db=0.7ms 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" = ?) [1] 22:23:58.117 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.118 [info] Sent 200 in 7ms 22:23:58.118 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:58.120 [info] Sent 200 in 6ms 22:23:58.151 [info] GET /sources/1/media/37835 22:23:58.152 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37835", "source_id" => "1"} Pipelines: [:browser] 22:23:58.152 [debug] QUERY OK source="media_items" db=0.2ms idle=36.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" = ?) [37835] 22:23:58.153 [debug] QUERY OK source="tasks" db=0.1ms idle=36.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" [37835] 22:23:58.153 [debug] QUERY OK source="sources" db=0.3ms idle=36.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:58.154 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:58.154 [debug] QUERY OK source="settings" db=0.1ms idle=35.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.154 [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 [] 22:23:58.155 [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] 22:23:58.157 [info] Sent 200 in 5ms 22:23:58.173 [info] GET /sources/1/media/37835/edit 22:23:58.173 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "37835", "source_id" => "1"} Pipelines: [:browser] 22:23:58.174 [debug] QUERY OK source="media_items" db=0.2ms idle=20.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" = ?) [37835] 22:23:58.174 [debug] QUERY OK source="settings" db=0.1ms idle=20.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.175 [debug] QUERY OK source="settings" db=0.0ms 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 [] 22:23:58.175 [debug] QUERY OK source="settings" db=0.2ms idle=20.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.177 [info] Sent 200 in 3ms 22:23:58.182 [info] GET /sources/1/media/37772/edit 22:23:58.182 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "37772", "source_id" => "1"} Pipelines: [:browser] 22:23:58.183 [debug] QUERY OK source="media_items" db=0.3ms idle=27.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" = ?) [37772] 22:23:58.184 [debug] QUERY OK source="settings" db=0.2ms idle=9.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.185 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:23:58.186 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=10.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.188 [info] Sent 200 in 6ms 22:23:58.193 [info] GET /sources/1/media/10 22:23:58.193 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "10", "source_id" => "1"} Pipelines: [:browser] 22:23:58.194 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=18.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" = ?) [10] 22:23:58.196 [debug] QUERY OK source="tasks" db=0.9ms idle=11.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" [10] 22:23:58.197 [debug] QUERY OK source="sources" db=1.2ms idle=10.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:23:58.198 [debug] QUERY OK source="settings" db=1.0ms 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 [] 22:23:58.199 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:23:58.201 [debug] QUERY OK source="settings" db=0.8ms 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 [] 22:23:58.202 [debug] QUERY OK source="media_profiles" db=0.5ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:23:58.204 [info] Sent 200 in 11ms 22:23:58.217 [info] GET /sources/1/media/10/edit 22:23:58.218 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "10", "source_id" => "1"} Pipelines: [:browser] 22:23:58.218 [debug] QUERY OK source="media_items" db=0.3ms idle=21.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" = ?) [10] 22:23:58.219 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:58.219 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:58.220 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:58.221 [info] Sent 200 in 3ms 22:23:58.238 [info] GET /sources/1/media/13 22:23:58.238 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13", "source_id" => "1"} Pipelines: [:browser] 22:23:58.238 [debug] QUERY OK source="media_items" db=0.2ms idle=35.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13] 22:23:58.239 [debug] QUERY OK source="tasks" db=0.1ms idle=20.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" [13] 22:23:58.239 [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" = ?) [1] 22:23:58.239 [debug] QUERY OK source="settings" db=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 [] 22:23:58.240 [debug] QUERY OK source="settings" db=0.1ms idle=19.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.240 [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 [] 22:23:58.241 [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] 22:23:58.243 [info] Sent 200 in 5ms 22:23:58.286 [info] GET /sources/1/media/13/edit 22:23:58.286 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "13", "source_id" => "1"} Pipelines: [:browser] 22:23:58.286 [debug] QUERY OK source="media_items" db=0.2ms idle=47.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [13] 22:23:58.287 [debug] QUERY OK source="settings" db=0.1ms idle=47.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.287 [debug] QUERY OK source="settings" db=0.2ms idle=47.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.288 [debug] QUERY OK source="settings" db=0.5ms idle=47.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.289 [info] Sent 200 in 3ms 22:23:58.290 [info] GET /sources/3/media/115304/edit 22:23:58.290 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "115304", "source_id" => "3"} Pipelines: [:browser] 22:23:58.291 [debug] QUERY OK source="media_items" db=0.3ms idle=49.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" = ?) [115304] 22:23:58.292 [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 [] 22:23:58.292 [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 [] 22:23:58.292 [debug] QUERY OK source="settings" db=0.2ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.294 [info] Sent 200 in 3ms 22:23:58.301 [info] GET /sources/3/media/115304/force_download 22:23:58.302 [debug] QUERY OK source="settings" db=0.2ms idle=13.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.303 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms 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 [] 22:23:58.303 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:58.304 [error] #PID<0.9615.0> running PinchflatWeb.Endpoint (connection #PID<0.9515.0>, stream id 21) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/media/115304/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/115304/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 21, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9615.0>, params: %{}, path_info: ["sources", "3", "media", "115304", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/3/media/115304/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY3DvvdA0StwAAG-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.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, 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 /sources/3/media/115304/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 21, has_body: false, host_info: :undefined (truncated) 22:23:58.324 [info] GET /sources/3/media/115304 22:23:58.324 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "115304", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 22:23:58.325 [debug] QUERY OK source="media_items" db=0.2ms idle=32.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" = ?) [115304] 22:23:58.326 [debug] QUERY OK source="tasks" db=0.5ms 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" [115304] 22:23:58.326 [debug] QUERY OK source="sources" db=0.6ms idle=32.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:58.327 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=24.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" = ?) [9495] 22:23:58.327 [debug] QUERY OK source="settings" db=0.2ms idle=24.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.328 [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 [] 22:23:58.328 [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 [] 22:23:58.329 [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] 22:23:58.331 [info] Sent 200 in 7ms 22:23:58.332 [info] GET /media/03d00808-6ef2-43ae-8c6c-51d222b2a951/stream 22:23:58.332 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "03d00808-6ef2-43ae-8c6c-51d222b2a951", "v" => "1789593142"} Pipelines: [:maybe_basic_auth] 22:23:58.333 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms 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."uuid" = ?) ["03d00808-6ef2-43ae-8c6c-51d222b2a951"] 22:23:58.334 [debug] Invalid range request for media item: 03d00808-6ef2-43ae-8c6c-51d222b2a951 - serving full file 22:23:58.334 [info] Sent 200 in 1ms 22:23:58.364 [info] GET /sources/3/media/115357/edit 22:23:58.364 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "115357", "source_id" => "3"} Pipelines: [:browser] 22:23:58.365 [debug] QUERY OK source="media_items" db=0.6ms 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" = ?) [115357] 22:23:58.366 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:58.367 [debug] QUERY OK source="settings" db=0.3ms idle=38.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.368 [debug] QUERY OK source="settings" db=0.9ms idle=37.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.370 [info] Sent 200 in 5ms 22:23:58.408 [info] GET /sources/3/media/115304/force_download 22:23:58.408 [debug] QUERY OK source="settings" db=0.1ms idle=74.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.409 [debug] QUERY OK source="settings" db=0.1ms idle=43.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.409 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:58.409 [error] #PID<0.9622.0> running PinchflatWeb.Endpoint (connection #PID<0.9515.0>, stream id 24) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/media/115304/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/115304/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 24, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9622.0>, params: %{}, path_info: ["sources", "3", "media", "115304", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/3/media/115304/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY3dF5FCmZVEAAIKC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, 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/3/media/115304/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 24, has_body: false, host_info: :undefined (truncated) 22:23:58.412 [info] GET /sources/3/media/115357 22:23:58.412 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "115357", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 22:23:58.413 [debug] QUERY OK source="media_items" db=0.6ms idle=46.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" = ?) [115357] 22:23:58.415 [debug] QUERY OK source="tasks" db=0.6ms idle=47.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" [115357] 22:23:58.415 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [3] 22:23:58.416 [debug] QUERY OK source="oban_jobs" db=0.6ms 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" = ?) [9496] 22:23:58.416 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:58.417 [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 [] 22:23:58.417 [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 [] 22:23:58.418 [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] 22:23:58.420 [info] Sent 200 in 7ms 22:23:58.460 [info] GET /sources/3/media/115357/force_download 22:23:58.461 [debug] QUERY OK source="settings" db=0.2ms idle=44.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.461 [debug] QUERY OK source="settings" db=0.1ms idle=44.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.461 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:58.462 [error] #PID<0.9627.0> running PinchflatWeb.Endpoint (connection #PID<0.9515.0>, stream id 26) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/media/115357/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/115357/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115357/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 26, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9627.0>, params: %{}, path_info: ["sources", "3", "media", "115357", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/3/media/115357/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY3pmoJ9zbpEAAIKi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115357/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, 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 /sources/3/media/115357/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115357/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 26, has_body: false, host_info: :undefined (truncated) 22:23:58.560 [info] GET /sources/3/force_redownload 22:23:58.561 [debug] QUERY OK source="settings" db=0.2ms idle=144.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.561 [debug] QUERY OK source="settings" db=0.2ms idle=144.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.562 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:58.562 [error] #PID<0.9628.0> running PinchflatWeb.Endpoint (connection #PID<0.9515.0>, stream id 27) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/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/3/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 27, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9628.0>, params: %{}, path_info: ["sources", "3", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/3/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY4BeoRRRfJoAAILC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, 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 /sources/3/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 27, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pi (truncated) 22:23:58.668 [info] GET /sources/20cc50e7-feb1-4207-953a-ef1d1bfc89c1/feed.xml 22:23:58.668 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "20cc50e7-feb1-4207-953a-ef1d1bfc89c1"} Pipelines: [:maybe_basic_auth] 22:23:58.668 [debug] QUERY OK source="sources" db=0.2ms idle=250.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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" = ?) ["20cc50e7-feb1-4207-953a-ef1d1bfc89c1"] 22:23:58.670 [debug] QUERY OK source="media_items" db=1.6ms idle=207.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" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [3, 2000] 22:23:58.677 [debug] QUERY OK source="source_metadata" db=0.2ms idle=215.0ms 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" = ?) [3] 22:23:58.677 [debug] QUERY OK source="media_metadata" db=0.1ms idle=115.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" = ?) [115357] 22:23:58.677 [info] Sent 200 in 9ms 22:23:58.822 [info] GET /sources/3/media/115357/force_download 22:23:58.823 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:23:58.823 [debug] QUERY OK source="settings" db=0.2ms idle=152.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.824 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:58.824 [error] #PID<0.9630.0> running PinchflatWeb.Endpoint (connection #PID<0.9515.0>, stream id 29) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/media/115357/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/115357/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115357/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 29, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9630.0>, params: %{}, path_info: ["sources", "3", "media", "115357", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/3/media/115357/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY4_8f2oBxu8AAHAj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115357/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 29, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/115357/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115357/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 29, has_body: false, host_info: :undefined (truncated) 22:23:58.860 [info] GET /sources/3/edit 22:23:58.860 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 22:23:58.861 [debug] QUERY OK source="sources" db=0.4ms idle=183.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:58.862 [debug] QUERY OK source="media_profiles" db=0.7ms idle=184.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" [] 22:23:58.863 [debug] QUERY OK source="settings" db=0.2ms idle=151.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.863 [debug] QUERY OK source="settings" db=0.1ms idle=39.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.864 [debug] QUERY OK source="settings" db=0.3ms idle=40.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.866 [info] Sent 200 in 6ms 22:23:58.960 [info] GET /sources/3/force_index 22:23:58.961 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=99.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.962 [debug] QUERY OK source="settings" db=0.5ms idle=99.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:58.962 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:58.962 [error] #PID<0.9632.0> running PinchflatWeb.Endpoint (connection #PID<0.9515.0>, stream id 31) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 31, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9632.0>, params: %{}, path_info: ["sources", "3", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/3/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY5gzHLrQVHwAARKh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 31, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 31, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAt (truncated) 22:23:59.060 [info] GET /sources/3/force_download_pending 22:23:59.061 [debug] QUERY OK source="settings" db=0.2ms idle=197.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.061 [debug] QUERY OK source="settings" db=0.2ms idle=197.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.061 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:59.061 [error] #PID<0.9633.0> running PinchflatWeb.Endpoint (connection #PID<0.9515.0>, stream id 32) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/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/3/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 32, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9633.0>, params: %{}, path_info: ["sources", "3", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/3/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY54jJlb43dsAARLB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 32, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 32, has_body: false, host_info: :undefined }}, assigns: %{}, body_par (truncated) 22:23:59.167 [info] GET /sources/3/force_metadata_refresh 22:23:59.169 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=303.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.170 [debug] QUERY OK source="settings" db=0.7ms idle=207.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.170 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:59.171 [error] #PID<0.9634.0> running PinchflatWeb.Endpoint (connection #PID<0.9515.0>, stream id 33) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/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/3/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 33, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9634.0>, params: %{}, path_info: ["sources", "3", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/3/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY6SMcjLlmpQAARLh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 33, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 33, has_body: false, host_info: :undefined }}, assigns: %{}, body_par (truncated) 22:23:59.260 [info] GET /sources/3/sync_files_on_disk 22:23:59.260 [debug] QUERY OK source="settings" db=0.2ms idle=297.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.261 [debug] QUERY OK source="settings" db=0.0ms idle=199.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.261 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:23:59.261 [error] #PID<0.9635.0> running PinchflatWeb.Endpoint (connection #PID<0.9515.0>, stream id 34) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 34, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9635.0>, params: %{}, path_info: ["sources", "3", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/3/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY6oLbkK1_FMAARMB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 34, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 34, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 22:23:59.360 [info] GET /sources/3/media/43676/edit 22:23:59.360 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "43676", "source_id" => "3"} Pipelines: [:browser] 22:23:59.361 [debug] QUERY OK source="media_items" db=0.2ms idle=299.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" = ?) [43676] 22:23:59.361 [debug] QUERY OK source="settings" db=0.1ms idle=192.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.362 [debug] QUERY OK source="settings" db=0.4ms idle=191.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.363 [debug] QUERY OK source="settings" db=0.3ms idle=102.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.364 [info] Sent 200 in 4ms 22:23:59.460 [info] GET /sources/3/media/43676 22:23:59.460 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "43676", "source_id" => "3"} Pipelines: [:browser] 22:23:59.461 [debug] QUERY OK source="media_items" db=0.2ms idle=200.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" = ?) [43676] 22:23:59.461 [debug] QUERY OK source="tasks" db=0.1ms idle=100.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" [43676] 22:23:59.462 [debug] QUERY OK source="sources" db=0.6ms idle=100.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:59.463 [debug] QUERY OK source="settings" db=0.2ms idle=100.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.463 [debug] QUERY OK source="settings" db=0.1ms idle=100.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.464 [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 [] 22:23:59.465 [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] 22:23:59.466 [info] Sent 200 in 6ms 22:23:59.560 [info] GET /sources/3/media/42874/edit 22:23:59.560 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "42874", "source_id" => "3"} Pipelines: [:browser] 22:23:59.560 [debug] QUERY OK source="media_items" db=0.2ms idle=98.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" = ?) [42874] 22:23:59.561 [debug] QUERY OK source="settings" db=0.1ms idle=98.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.561 [debug] QUERY OK source="settings" db=0.2ms idle=97.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.562 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=97.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.565 [info] Sent 200 in 4ms 22:23:59.660 [info] GET /sources/3/media/19524/edit 22:23:59.660 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "19524", "source_id" => "3"} Pipelines: [:browser] 22:23:59.660 [debug] QUERY OK source="media_items" db=0.2ms idle=195.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" = ?) [19524] 22:23:59.661 [debug] QUERY OK source="settings" db=0.1ms idle=100.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.661 [debug] QUERY OK source="settings" db=0.1ms idle=100.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.662 [debug] QUERY OK source="settings" db=0.6ms idle=100.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.664 [info] Sent 200 in 3ms 22:23:59.760 [info] GET /sources/3/media/19524 22:23:59.760 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "19524", "source_id" => "3"} Pipelines: [:browser] 22:23:59.760 [debug] QUERY OK source="media_items" db=0.2ms idle=99.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" = ?) [19524] 22:23:59.761 [debug] QUERY OK source="tasks" db=0.1ms idle=99.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" [19524] 22:23:59.761 [debug] QUERY OK source="sources" db=0.2ms idle=99.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:59.762 [debug] QUERY OK source="settings" db=0.1ms idle=99.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.762 [debug] QUERY OK source="settings" db=0.1ms idle=49.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.763 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.764 [debug] QUERY OK source="media_profiles" db=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] 22:23:59.766 [info] Sent 200 in 6ms 22:23:59.878 [info] GET /sources/3/media/44522 22:23:59.878 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "44522", "source_id" => "3"} Pipelines: [:browser] 22:23:59.879 [debug] QUERY OK source="media_items" db=0.2ms idle=117.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" = ?) [44522] 22:23:59.879 [debug] QUERY OK source="tasks" db=0.2ms idle=117.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" [44522] 22:23:59.879 [debug] QUERY OK source="sources" db=0.3ms idle=117.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:23:59.880 [debug] QUERY OK source="settings" db=0.3ms idle=117.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.881 [debug] QUERY OK source="settings" db=0.2ms idle=116.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.882 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:23:59.884 [debug] QUERY OK source="media_profiles" db=0.9ms 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] 22:23:59.888 [info] Sent 200 in 10ms 22:23:59.960 [info] GET /sources/3/media/44522/edit 22:23:59.960 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "44522", "source_id" => "3"} Pipelines: [:browser] 22:23:59.960 [debug] QUERY OK source="media_items" db=0.2ms idle=80.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" = ?) [44522] 22:23:59.961 [debug] QUERY OK source="settings" db=0.1ms idle=80.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.961 [debug] QUERY OK source="settings" db=0.1ms idle=80.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:23:59.962 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:23:59.963 [info] Sent 200 in 3ms 22:24:00.060 [info] GET /sources/3/media/19526/edit 22:24:00.061 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "19526", "source_id" => "3"} Pipelines: [:browser] 22:24:00.061 [debug] QUERY OK source="media_items" db=0.2ms idle=176.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" = ?) [19526] 22:24:00.062 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:24:00.062 [debug] QUERY OK source="settings" db=0.2ms idle=100.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:24:00.063 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:24:00.064 [info] Sent 200 in 3ms 22:24:00.159 [info] GET /sources/3/media/19527/edit 22:24:00.160 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "19527", "source_id" => "3"} Pipelines: [:browser] 22:24:00.160 [debug] QUERY OK source="media_items" db=0.3ms idle=197.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" = ?) [19527] 22:24:00.161 [debug] QUERY OK source="settings" db=0.2ms idle=99.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:24:00.161 [debug] QUERY OK source="settings" db=0.1ms idle=99.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:24:00.162 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=99.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:24:00.164 [info] Sent 200 in 4ms 22:24:00.275 [info] GET /sources/3/media/43717/edit 22:24:00.275 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "43717", "source_id" => "3"} Pipelines: [:browser] 22:24:00.278 [debug] QUERY OK source="media_items" db=3.1ms idle=212.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" = ?) [43717] 22:24:00.280 [debug] QUERY OK source="settings" db=0.3ms queue=0.7ms idle=118.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:24:00.281 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:24:00.284 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=122.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:24:00.288 [info] Sent 200 in 13ms 22:24:00.373 [info] GET /sources/4/media/109769/force_download 22:24:00.374 [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 [] 22:24:00.374 [debug] QUERY OK source="settings" db=0.1ms idle=95.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:24:00.375 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:24:00.375 [error] #PID<0.9655.0> running PinchflatWeb.Endpoint (connection #PID<0.9517.0>, stream id 14) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/4/media/109769/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/109769/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9517.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/109769/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43186}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 14, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9655.0>, params: %{}, path_info: ["sources", "4", "media", "109769", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/4/media/109769/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY-xs9dHqnF4AAAeE"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9517.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/109769/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43186}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, 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/4/media/109769/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9517.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/109769/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43186}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 14, has_body: false, host_info: :undefined (truncated) 22:24:00.421 [info] {"source":"oban","duration":207,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:24:00.467 [info] GET /sources/1/media/113855/edit 22:24:00.467 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "113855", "source_id" => "1"} Pipelines: [:browser] 22:24:00.468 [debug] QUERY OK source="media_items" db=0.2ms idle=186.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" = ?) [113855] 22:24:00.468 [debug] QUERY OK source="settings" db=0.1ms idle=183.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:24:00.468 [debug] QUERY OK source="settings" db=0.1ms idle=94.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:24:00.469 [debug] QUERY OK source="settings" db=0.1ms idle=94.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:24:00.470 [info] Sent 200 in 3ms 22:24:00.565 [info] GET /media/4150a3e8-7258-4de9-ba10-2288cbc031b6/stream 22:24:00.565 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "4150a3e8-7258-4de9-ba10-2288cbc031b6", "v" => "1789059044"} Pipelines: [:maybe_basic_auth] 22:24:00.566 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=144.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" = ?) ["4150a3e8-7258-4de9-ba10-2288cbc031b6"] 22:24:00.566 [debug] Invalid range request for media item: 4150a3e8-7258-4de9-ba10-2288cbc031b6 - serving full file 22:24:00.566 [info] Sent 200 in 1ms 22:24:00.660 [info] GET /sources/1/media/113855/force_download 22:24:00.661 [debug] QUERY OK source="settings" db=0.1ms idle=192.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:24:00.661 [debug] QUERY OK source="settings" db=0.1ms idle=192.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:24:00.661 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:24:00.661 [error] #PID<0.9658.0> running PinchflatWeb.Endpoint (connection #PID<0.9515.0>, stream id 39) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/media/113855/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/113855/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/113855/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 39, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9658.0>, params: %{}, path_info: ["sources", "1", "media", "113855", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.148"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.148"} ], request_path: "/sources/1/media/113855/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtY_2EF9tMN3sAARTB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/113855/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 39, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/113855/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9515.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/113855/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 43174}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZlNZYTlYaEp4TzEtdTJLOG0xSUZ6b1RB.D8AuPRFv8E562THadPA2JEmgvSqXQHPYeOWy84IeXW4", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.148", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.148" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 39, has_body: false, host_info: :undefined (truncated) 22:24:00.760 [info] GET /sources/opml.xml 22:24:00.760 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.opml_feed/2 Parameters: %{"route_token" => "5fc7be59-81fa-49f5-8b33-c8b3245f6c6b"} Pipelines: [:maybe_basic_auth, :token_protected_route] 22:24:00.761 [debug] QUERY OK source="settings" db=0.3ms idle=291.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:24:00.761 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=195.5ms SELECT s0."custom_name", s0."uuid" FROM "sources" AS s0 WHERE (s0."marked_for_deletion_at" IS NULL) ORDER BY s0."custom_name" [] 22:24:00.800 [info] Sent 200 in 39ms 22:24:00.860 [info] GET /sources/11/ 22:24:00.860 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "11"} Pipelines: [:browser] 22:24:00.860 [debug] QUERY OK source="sources" db=0.2ms idle=199.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 22:24:00.861 [debug] QUERY OK source="media_profiles" db=0.2ms idle=199.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] 22:24:00.862 [debug] QUERY OK source="tasks" db=0.4ms idle=146.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 (?,?,?,?)) [11, "executing", "available", "scheduled", "retryable"] 22:24:00.862 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=101.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" = ?) [9494] 22:24:00.863 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:24:00.863 [debug] QUERY OK source="settings" db=0.4ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:24:00.864 [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 [] 22:24:00.866 [debug] QUERY OK source="sources" db=0.2ms queue=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" = ?) [11] 22:24:00.867 [debug] QUERY OK source="media_items" db=0.3ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [11] 22:24:00.867 [debug] QUERY OK source="media_items" db=0.5ms idle=4.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 ? [11, 10, 0] 22:24:00.868 [debug] QUERY OK source="sources" db=0.1ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 22:24:00.869 [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)) [11] 22:24:00.869 [debug] QUERY OK source="media_items" db=0.2ms 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 ? [11, 10, 0] 22:24:00.870 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [11] 22:24:00.871 [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"))))) [11] 22:24:00.872 [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 ? [11, 10, 0] 22:24:00.873 [info] Sent 200 in 13ms 22:24:00.960 [info] GET /sources/11/ 22:24:00.960 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "11"} Pipelines: [:browser] 22:24:00.960 [debug] QUERY OK source="sources" db=0.2ms idle=91.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 22:24:00.961 [debug] QUERY OK source="media_profiles" db=0.2ms idle=91.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] 22:24:00.961 [debug] QUERY OK source="tasks" db=0.2ms idle=91.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 (?,?,?,?)) [11, "executing", "available", "scheduled", "retryable"] 22:24:00.962 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=90.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" = ?) [9494] 22:24:00.962 [debug] QUERY OK source="settings" db=0.1ms idle=90.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:24:00.962 [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 [] 22:24:00.963 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:24:00.965 [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" = ?) [11] 22:24:00.966 [debug] QUERY OK source="media_items" db=0.7ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [11] 22:24:00.967 [debug] QUERY OK source="media_items" db=0.5ms idle=4.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [11, 10, 0] 22:24:00.968 [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" = ?) [11] 22:24:00.968 [debug] QUERY OK source="media_items" db=0.1ms idle=4.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [11] 22:24:00.969 [debug] QUERY OK source="media_items" db=0.4ms 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 ? [11, 10, 0] 22:24:00.970 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [11] 22:24:00.971 [debug] QUERY OK source="media_items" db=1.0ms idle=3.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((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"))))) [11] 22:24:00.973 [debug] QUERY OK source="media_items" db=1.0ms idle=3.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [11, 10, 0] 22:24:00.975 [info] Sent 200 in 14ms 22:24:24.355 [info] {"source":"oban","duration":2088,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:54.356 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:00.422 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:25:24.358 [info] {"source":"oban","duration":1561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:54.359 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:00.423 [info] {"source":"oban","duration":210,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:26:24.360 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:49.056 [info] GET / 22:26:49.056 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:26:49.057 [debug] QUERY OK source="settings" db=0.2ms idle=974.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:26:49.057 [debug] QUERY OK source="media_profiles" db=0.1ms idle=975.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:26:49.057 [debug] QUERY OK source="sources" db=0.1ms idle=975.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:26:49.058 [debug] QUERY OK source="media_items" db=0.5ms idle=975.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:26:49.058 [debug] QUERY OK source="media_items" db=0.4ms idle=137.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:26:49.059 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:26:49.059 [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 [] 22:26:49.060 [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 [] 22:26:49.061 [debug] QUERY OK source="tasks" db=0.4ms queue=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"] 22:26:49.062 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:26:49.063 [debug] QUERY OK source="media_items" db=0.7ms 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 (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:26:49.065 [debug] QUERY OK source="sources" db=0.8ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [4, 2, 1, 3] 22:26:49.068 [debug] QUERY OK source="media_items" db=1.5ms queue=0.6ms idle=5.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:26:49.070 [debug] QUERY OK source="media_items" db=1.7ms idle=6.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 22:26:49.071 [info] Sent 200 in 15ms 22:26:54.361 [info] {"source":"oban","duration":898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:00.424 [info] {"source":"oban","duration":214,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:27:24.363 [info] {"source":"oban","duration":1000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:41.952 [info] GET / 22:27:41.952 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:27:41.952 [debug] QUERY OK source="settings" db=0.2ms idle=1870.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:27:41.953 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1870.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:27:41.953 [debug] QUERY OK source="sources" db=0.0ms idle=1870.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:27:41.953 [debug] QUERY OK source="media_items" db=0.4ms idle=1871.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:27:41.954 [debug] QUERY OK source="media_items" db=0.3ms idle=972.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:27:41.954 [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 [] 22:27:41.954 [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 [] 22:27:41.955 [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 [] 22:27:41.956 [debug] QUERY OK source="tasks" db=0.2ms 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"] 22:27:41.957 [debug] QUERY OK source="media_items" db=0.3ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:27:41.957 [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] 22:27:41.958 [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 (?,?,?,?)) [4, 2, 1, 3] 22:27:41.961 [debug] QUERY OK source="media_items" db=1.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"))) [] 22:27:41.963 [debug] QUERY OK source="media_items" db=2.0ms 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] 22:27:41.964 [info] Sent 200 in 12ms 22:27:54.365 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:00.425 [info] {"source":"oban","duration":231,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:28:13.319 [info] GET / 22:28:13.319 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:28:13.319 [debug] QUERY OK source="settings" db=0.1ms idle=1237.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:28:13.320 [debug] QUERY OK source="media_profiles" db=0.0ms queue=0.1ms idle=1237.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:28:13.320 [debug] QUERY OK source="sources" db=0.0ms idle=1238.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:28:13.321 [debug] QUERY OK source="media_items" db=1.0ms idle=303.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:28:13.321 [debug] QUERY OK source="media_items" db=0.2ms idle=239.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:28:13.322 [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 [] 22:28:13.322 [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 [] 22:28:13.323 [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 [] 22:28:13.324 [debug] QUERY OK source="tasks" db=0.2ms 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"] 22:28:13.324 [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 (NOT (m0."media_filepath" IS NULL)) [] 22:28:13.325 [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] 22:28:13.326 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" IN (?,?,?,?)) [4, 2, 1, 3] 22:28:13.328 [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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 22:28:13.330 [debug] QUERY OK source="media_items" db=1.8ms 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] 22:28:13.331 [info] Sent 200 in 12ms 22:28:24.366 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:54.367 [info] {"source":"oban","duration":841,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:00.426 [info] {"source":"oban","duration":249,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:29:08.063 [info] GET / 22:29:08.063 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 22:29:08.063 [debug] QUERY OK source="settings" db=0.1ms idle=1981.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.064 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1982.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 22:29:08.064 [debug] QUERY OK source="sources" db=0.1ms idle=1982.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 22:29:08.065 [debug] QUERY OK source="media_items" db=0.4ms idle=984.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:29:08.065 [debug] QUERY OK source="media_items" db=0.2ms idle=983.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:29:08.065 [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 [] 22:29:08.066 [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 [] 22:29:08.066 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.067 [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"] 22:29:08.068 [debug] QUERY OK source="media_items" db=0.3ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 22:29:08.069 [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] 22:29:08.069 [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 (?,?,?,?)) [4, 2, 1, 3] 22:29:08.072 [debug] QUERY OK source="media_items" db=1.5ms idle=3.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"))) [] 22:29:08.074 [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] 22:29:08.075 [info] Sent 200 in 11ms 22:29:08.502 [info] GET /sources 22:29:08.502 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 22:29:08.502 [debug] QUERY OK source="settings" db=0.1ms idle=433.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.503 [debug] QUERY OK source="settings" db=0.1ms idle=433.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.504 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=431.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.505 [debug] QUERY OK source="settings" db=0.1ms idle=431.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.505 [debug] QUERY OK source="settings" db=0.2ms idle=424.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.509 [debug] QUERY OK source="sources" db=2.9ms idle=3.4ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 22:29:08.514 [info] GET /media_profiles 22:29:08.514 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 22:29:08.515 [info] GET /settings 22:29:08.515 [debug] QUERY OK source="sources" db=4.8ms queue=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", 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] 22:29:08.515 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 22:29:08.516 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=10.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (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" [] 22:29:08.517 [debug] QUERY OK source="settings" db=1.7ms idle=10.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.518 [debug] QUERY OK source="settings" db=1.1ms queue=0.7ms 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 [] 22:29:08.518 [debug] QUERY OK source="settings" db=0.8ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.518 [debug] QUERY OK db=0.2ms queue=0.4ms idle=2.9ms SELECT regexp_like('', ?) ["(?i).*Freitagsgebet.*"] 22:29:08.519 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.520 [debug] QUERY OK source="settings" db=1.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 [] 22:29:08.522 [info] Sent 200 in 7ms 22:29:08.522 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:29:08.523 [debug] QUERY OK source="settings" db=0.4ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.523 [info] Sent 200 in 21ms 22:29:08.525 [info] Sent 200 in 10ms 22:29:08.543 [info] GET /app_info 22:29:08.544 [info] GET /sources/3/media/115304 22:29:08.544 [info] GET /sources/3/media/115357 22:29:08.544 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 22:29:08.544 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "115304", "source_id" => "3"} Pipelines: [:browser] 22:29:08.544 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "115357", "source_id" => "3"} Pipelines: [:browser] 22:29:08.545 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=26.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.548 [debug] QUERY OK source="media_items" db=3.6ms idle=25.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" = ?) [115357] 22:29:08.549 [info] GET /sources/3 22:29:08.549 [debug] QUERY OK source="settings" db=0.6ms queue=3.1ms 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 [] 22:29:08.550 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 22:29:08.550 [debug] QUERY OK source="tasks" db=0.7ms idle=25.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" [115357] 22:29:08.550 [debug] QUERY OK source="media_items" db=1.4ms idle=28.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" = ?) [115304] 22:29:08.550 [debug] QUERY OK source="sources" db=1.0ms queue=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" = ?) [3] 22:29:08.551 [debug] QUERY OK source="settings" db=0.9ms 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 [] 22:29:08.552 [debug] QUERY OK source="oban_jobs" db=0.3ms 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" = ?) [9496] 22:29:08.552 [debug] QUERY OK source="tasks" db=0.9ms 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" [115304] 22:29:08.553 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:29:08.553 [debug] QUERY OK source="sources" db=1.6ms queue=1.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" = ?) [3] 22:29:08.553 [debug] QUERY OK source="settings" db=1.0ms 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 [] 22:29:08.553 [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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:29:08.554 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms 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 [] 22:29:08.554 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:29:08.554 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms 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", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:29:08.555 [debug] QUERY OK source="oban_jobs" db=0.5ms queue=0.2ms 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" = ?) [9495] 22:29:08.555 [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 [] 22:29:08.555 [info] Sent 200 in 11ms 22:29:08.556 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms 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 [] 22:29:08.556 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:29:08.557 [debug] QUERY OK source="tasks" db=2.1ms idle=0.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 22:29:08.557 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:29:08.559 [debug] QUERY OK source="oban_jobs" db=0.9ms queue=0.3ms idle=2.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" = ?) [9497] 22:29:08.559 [info] GET /sources/1/media/113855 22:29:08.560 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "113855", "source_id" => "1"} Pipelines: [:browser] 22:29:08.560 [info] Sent 200 in 16ms 22:29:08.561 [debug] QUERY OK source="settings" db=1.6ms 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 [] 22:29:08.561 [debug] QUERY OK source="media_items" db=1.1ms 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 WHERE (m0."id" = ?) [113855] 22:29:08.562 [debug] QUERY OK source="settings" db=0.8ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.562 [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" = ?) [1] 22:29:08.562 [debug] QUERY OK source="tasks" db=0.4ms idle=4.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" [113855] 22:29:08.562 [debug] QUERY OK source="settings" db=0.4ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.563 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 22:29:08.563 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=0.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" = ?) [9474] 22:29:08.563 [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 [] 22:29:08.563 [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 [] 22:29:08.564 [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 [] 22:29:08.564 [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 [] 22:29:08.566 [debug] QUERY OK source="media_profiles" db=0.4ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:29:08.566 [info] Sent 200 in 22ms 22:29:08.567 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [3] 22:29:08.568 [debug] QUERY OK source="media_items" db=0.4ms 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")))) [3] 22:29:08.569 [debug] QUERY OK source="media_items" db=0.7ms idle=4.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 22:29:08.569 [info] Sent 200 in 10ms 22:29:08.571 [debug] QUERY OK source="sources" db=1.6ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:29:08.572 [debug] QUERY OK source="media_items" db=0.2ms idle=5.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 22:29:08.573 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=4.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 22:29:08.574 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:29:08.575 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=5.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [3] 22:29:08.576 [debug] QUERY OK source="media_items" db=0.4ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 22:29:08.577 [info] Sent 200 in 28ms 22:29:08.639 [info] GET /sources/1 22:29:08.640 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:29:08.640 [debug] QUERY OK source="sources" db=0.3ms idle=67.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:29:08.641 [debug] QUERY OK source="media_profiles" db=0.5ms idle=67.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] 22:29:08.642 [debug] QUERY OK source="tasks" db=0.3ms idle=67.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 22:29:08.643 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=66.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" = ?) [9489] 22:29:08.643 [debug] QUERY OK source="settings" db=0.4ms idle=66.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.644 [debug] QUERY OK source="settings" db=0.3ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.645 [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 [] 22:29:08.647 [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" = ?) [1] 22:29:08.648 [debug] QUERY OK source="media_items" db=0.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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 22:29:08.649 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=4.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:29:08.650 [debug] QUERY OK source="sources" db=0.1ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:29:08.650 [debug] QUERY OK source="media_items" db=0.1ms idle=5.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 22:29:08.651 [debug] QUERY OK source="media_items" db=0.7ms idle=3.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:29:08.653 [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" = ?) [1] 22:29:08.653 [debug] QUERY OK source="media_items" db=0.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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 22:29:08.654 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:29:08.655 [info] Sent 200 in 15ms 22:29:08.756 [info] GET /sources/2/media/113281 22:29:08.756 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "113281", "source_id" => "2"} Pipelines: [:browser] 22:29:08.757 [debug] QUERY OK source="media_items" db=0.2ms idle=106.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" = ?) [113281] 22:29:08.757 [debug] QUERY OK source="tasks" db=0.2ms idle=106.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" [113281] 22:29:08.758 [debug] QUERY OK source="sources" db=0.2ms idle=104.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:29:08.758 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=104.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" = ?) [9466] 22:29:08.758 [debug] QUERY OK source="settings" db=0.1ms idle=104.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.759 [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 [] 22:29:08.759 [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 [] 22:29:08.760 [info] GET /sources/2 22:29:08.760 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:29:08.761 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:29:08.761 [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" = ?) [2] 22:29:08.762 [debug] QUERY OK source="media_profiles" db=0.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] 22:29:08.763 [info] Sent 200 in 6ms 22:29:08.763 [debug] QUERY OK source="tasks" db=0.9ms idle=3.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 (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 22:29:08.764 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=3.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" = ?) [9491] 22:29:08.764 [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 [] 22:29:08.764 [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 [] 22:29:08.765 [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 [] 22:29:08.767 [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" = ?) [2] 22:29:08.768 [debug] QUERY OK source="media_items" db=0.2ms idle=3.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")))) [2] 22:29:08.769 [debug] QUERY OK source="media_items" db=0.5ms idle=3.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 ? [2, 10, 0] 22:29:08.769 [debug] QUERY OK source="sources" db=0.1ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:29:08.770 [debug] QUERY OK source="media_items" db=0.1ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 22:29:08.770 [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 ? [2, 10, 0] 22:29:08.772 [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" = ?) [2] 22:29:08.773 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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"))))) [2] 22:29:08.774 [debug] QUERY OK source="media_items" db=0.5ms idle=3.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 22:29:08.775 [info] Sent 200 in 14ms 22:29:08.780 [info] GET /sources/4/media/109769 22:29:08.780 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "109769", "source_id" => "4"} Pipelines: [:browser] 22:29:08.781 [debug] QUERY OK source="media_items" db=0.3ms idle=10.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [109769] 22:29:08.781 [debug] QUERY OK source="tasks" db=0.2ms idle=10.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" [109769] 22:29:08.782 [debug] QUERY OK source="sources" db=0.2ms idle=9.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 22:29:08.782 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=9.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" = ?) [9423] 22:29:08.782 [debug] QUERY OK source="settings" db=0.1ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.783 [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 [] 22:29:08.783 [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 [] 22:29:08.784 [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] 22:29:08.786 [info] Sent 200 in 6ms 22:29:08.814 [info] GET /sources/4 22:29:08.814 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "4"} Pipelines: [:browser] 22:29:08.815 [debug] QUERY OK source="sources" db=0.2ms idle=32.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 22:29:08.816 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=32.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:29:08.816 [debug] QUERY OK source="tasks" db=0.2ms queue=0.1ms idle=33.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 (?,?,?,?)) [4, "executing", "available", "scheduled", "retryable"] 22:29:08.817 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=33.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" = ?) [9492] 22:29:08.817 [debug] QUERY OK source="settings" db=0.1ms idle=32.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.817 [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 [] 22:29:08.818 [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 [] 22:29:08.820 [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" = ?) [4] 22:29:08.820 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [4] 22:29:08.821 [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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 22:29:08.822 [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" = ?) [4] 22:29:08.822 [debug] QUERY OK source="media_items" db=0.1ms queue=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)) [4] 22:29:08.823 [debug] QUERY OK source="media_items" db=0.3ms 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 ? [4, 10, 0] 22:29:08.824 [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" = ?) [4] 22:29:08.825 [debug] QUERY OK source="media_items" db=0.2ms 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"))))) [4] 22:29:08.826 [debug] QUERY OK source="media_items" db=0.4ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 22:29:08.827 [info] Sent 200 in 12ms 22:29:08.911 [info] GET /sources/7/ 22:29:08.911 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 22:29:08.912 [debug] QUERY OK source="sources" db=0.4ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:29:08.912 [debug] QUERY OK source="media_profiles" db=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", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:29:08.913 [debug] QUERY OK source="tasks" db=0.1ms idle=88.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [7, "executing", "available", "scheduled", "retryable"] 22:29:08.913 [debug] QUERY OK source="settings" db=0.1ms idle=88.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.913 [debug] QUERY OK source="settings" db=0.0ms idle=87.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.914 [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 [] 22:29:08.916 [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" = ?) [7] 22:29:08.917 [debug] QUERY OK source="media_items" db=0.3ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 22:29:08.917 [debug] QUERY OK source="media_items" db=0.5ms idle=3.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 ? [7, 10, 0] 22:29:08.918 [debug] QUERY OK source="sources" db=0.1ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:29:08.919 [debug] QUERY OK source="media_items" db=0.1ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 22:29:08.919 [debug] QUERY OK source="media_items" db=0.2ms 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 ? [7, 10, 0] 22:29:08.921 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [7] 22:29:08.921 [debug] QUERY OK source="media_items" db=0.4ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [7] 22:29:08.922 [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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 22:29:08.924 [info] Sent 200 in 12ms 22:29:08.935 [info] GET /sources/1/ 22:29:08.935 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:29:08.936 [debug] QUERY OK source="sources" db=0.2ms idle=17.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:29:08.936 [debug] QUERY OK source="media_profiles" db=0.1ms idle=17.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:29:08.937 [debug] QUERY OK source="tasks" db=0.2ms idle=16.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 22:29:08.937 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=15.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" = ?) [9489] 22:29:08.938 [debug] QUERY OK source="settings" db=0.1ms idle=15.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.938 [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 [] 22:29:08.939 [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 [] 22:29:08.940 [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" = ?) [1] 22:29:08.941 [info] GET /sources/opml.xml 22:29:08.942 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.opml_feed/2 Parameters: %{"route_token" => "5fc7be59-81fa-49f5-8b33-c8b3245f6c6b"} Pipelines: [:maybe_basic_auth, :token_protected_route] 22:29:08.942 [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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 22:29:08.942 [debug] QUERY OK source="settings" db=0.3ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.943 [debug] QUERY OK source="sources" db=0.2ms idle=3.4ms SELECT s0."custom_name", s0."uuid" FROM "sources" AS s0 WHERE (s0."marked_for_deletion_at" IS NULL) ORDER BY s0."custom_name" [] 22:29:08.943 [info] Sent 200 in 1ms 22:29:08.944 [debug] QUERY OK source="media_items" db=1.4ms idle=3.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:29:08.945 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [1] 22:29:08.945 [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)) [1] 22:29:08.946 [debug] QUERY OK source="media_items" db=0.4ms 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 ? [1, 10, 0] 22:29:08.946 [info] GET /sources/7/ 22:29:08.946 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 22:29:08.947 [debug] QUERY OK source="sources" db=0.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" = ?) [7] 22:29:08.948 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 22:29:08.948 [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" = ?) [1] 22:29:08.948 [debug] QUERY OK source="tasks" db=0.2ms idle=2.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [7, "executing", "available", "scheduled", "retryable"] 22:29:08.949 [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 [] 22:29:08.949 [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 [] 22:29:08.950 [debug] QUERY OK source="media_items" db=1.2ms 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"))))) [1] 22:29:08.950 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.951 [debug] QUERY OK source="media_items" db=1.1ms idle=1.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 ? [1, 10, 0] 22:29:08.952 [info] Sent 200 in 16ms 22:29:08.952 [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" = ?) [7] 22:29:08.954 [debug] QUERY OK source="media_items" db=1.2ms 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")))) [7] 22:29:08.955 [debug] QUERY OK source="media_items" db=0.8ms idle=4.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 22:29:08.955 [debug] QUERY OK source="sources" db=0.1ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:29:08.956 [debug] QUERY OK source="media_items" db=0.1ms idle=4.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 22:29:08.957 [debug] QUERY OK source="media_items" db=0.6ms idle=3.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 ? [7, 10, 0] 22:29:08.957 [info] GET /sources/2/ 22:29:08.957 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:29:08.958 [debug] QUERY OK source="sources" db=0.4ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:29:08.958 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [7] 22:29:08.959 [debug] QUERY OK source="media_profiles" db=0.8ms 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] 22:29:08.959 [debug] QUERY OK source="media_items" db=0.7ms 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"))))) [7] 22:29:08.960 [debug] QUERY OK source="tasks" db=0.6ms idle=2.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 (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 22:29:08.960 [debug] QUERY OK source="oban_jobs" db=0.3ms 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" = ?) [9491] 22:29:08.961 [debug] QUERY OK source="media_items" db=1.0ms 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 ? [7, 10, 0] 22:29:08.961 [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 [] 22:29:08.962 [debug] QUERY OK source="settings" db=0.3ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.963 [info] Sent 200 in 16ms 22:29:08.963 [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 [] 22:29:08.965 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:29:08.965 [info] GET /sources/7/edit 22:29:08.965 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 22:29:08.966 [debug] QUERY OK source="media_items" db=0.6ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 22:29:08.966 [debug] QUERY OK source="sources" db=0.4ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:29:08.967 [debug] QUERY OK source="media_profiles" db=0.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" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:29:08.967 [debug] QUERY OK source="media_items" db=1.2ms idle=3.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 22:29:08.968 [debug] QUERY OK source="settings" db=0.9ms 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 [] 22:29:08.969 [debug] QUERY OK source="settings" db=0.4ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.970 [debug] QUERY OK source="sources" db=2.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:29:08.971 [debug] QUERY OK source="media_items" db=0.2ms idle=3.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 22:29:08.971 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:29:08.972 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms 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 ? [2, 10, 0] 22:29:08.974 [info] Sent 200 in 9ms 22:29:08.975 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:29:08.976 [debug] QUERY OK source="media_items" db=0.6ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 22:29:08.978 [debug] QUERY OK source="media_items" db=1.2ms idle=5.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 ? [2, 10, 0] 22:29:08.980 [info] Sent 200 in 23ms 22:29:08.983 [info] GET /sources/2/ 22:29:08.983 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:29:08.984 [debug] QUERY OK source="sources" db=0.5ms idle=12.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:29:08.985 [debug] QUERY OK source="media_profiles" db=0.7ms 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" = ?) [2] 22:29:08.986 [debug] QUERY OK source="tasks" db=0.5ms idle=10.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 (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 22:29:08.987 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=10.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" = ?) [9491] 22:29:08.988 [debug] QUERY OK source="settings" db=0.5ms idle=9.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.989 [debug] QUERY OK source="settings" db=0.2ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:08.990 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:29:08.992 [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" = ?) [2] 22:29:08.993 [debug] QUERY OK source="media_items" db=0.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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [2] 22:29:08.994 [debug] QUERY OK source="media_items" db=0.6ms idle=5.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 22:29:08.996 [debug] QUERY OK source="sources" db=0.7ms idle=6.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:29:08.996 [debug] QUERY OK source="media_items" db=0.3ms idle=6.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 22:29:08.997 [debug] QUERY OK source="media_items" db=0.2ms idle=3.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 ? [2, 10, 0] 22:29:08.998 [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" = ?) [2] 22:29:09.000 [debug] QUERY OK source="media_items" db=0.4ms queue=0.2ms idle=4.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [2] 22:29:09.001 [debug] QUERY OK source="media_items" db=0.7ms queue=0.6ms 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 ? [2, 10, 0] 22:29:09.003 [info] Sent 200 in 19ms 22:29:09.064 [info] GET /sources/6 22:29:09.064 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 22:29:09.065 [debug] QUERY OK source="sources" db=0.2ms idle=68.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:29:09.065 [debug] QUERY OK source="media_profiles" db=0.1ms idle=68.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] 22:29:09.066 [debug] QUERY OK source="tasks" db=0.1ms idle=67.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 (?,?,?,?)) [6, "executing", "available", "scheduled", "retryable"] 22:29:09.066 [debug] QUERY OK source="oban_jobs" db=0.1ms queue=0.1ms idle=66.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" = ?) [9490] 22:29:09.067 [debug] QUERY OK source="settings" db=0.1ms idle=64.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.067 [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 [] 22:29:09.067 [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 [] 22:29:09.069 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [6] 22:29:09.070 [info] GET /sources/2/edit 22:29:09.070 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:29:09.071 [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" = ?) [2] 22:29:09.072 [debug] QUERY OK source="media_items" db=2.0ms 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")))) [6] 22:29:09.072 [debug] QUERY OK source="media_profiles" db=0.8ms 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" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:29:09.073 [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 [] 22:29:09.074 [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 [] 22:29:09.075 [debug] QUERY OK source="media_items" db=3.2ms queue=0.1ms idle=4.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:29:09.076 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 22:29:09.077 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [6] 22:29:09.078 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 22:29:09.079 [info] Sent 200 in 8ms 22:29:09.079 [debug] QUERY OK source="media_items" db=1.2ms idle=4.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 ? [6, 10, 0] 22:29:09.082 [debug] QUERY OK source="sources" db=0.2ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:29:09.084 [debug] QUERY OK source="media_items" db=1.9ms idle=5.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [6] 22:29:09.086 [debug] QUERY OK source="media_items" db=1.7ms 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 ? [6, 10, 0] 22:29:09.088 [info] GET /sources/6/ 22:29:09.088 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 22:29:09.089 [info] Sent 200 in 24ms 22:29:09.089 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [6] 22:29:09.090 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 22:29:09.091 [debug] QUERY OK source="tasks" db=0.2ms idle=7.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 (?,?,?,?)) [6, "executing", "available", "scheduled", "retryable"] 22:29:09.092 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=7.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" = ?) [9490] 22:29:09.092 [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 [] 22:29:09.093 [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 [] 22:29:09.093 [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 [] 22:29:09.095 [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" = ?) [6] 22:29:09.097 [debug] QUERY OK source="media_items" db=1.3ms idle=3.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")))) [6] 22:29:09.099 [debug] QUERY OK source="media_items" db=1.7ms idle=5.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:29:09.100 [debug] QUERY OK source="sources" db=0.1ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:29:09.100 [debug] QUERY OK source="media_items" db=0.2ms idle=6.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 22:29:09.101 [debug] QUERY OK source="media_items" db=0.5ms idle=5.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:29:09.102 [info] GET /sources/new 22:29:09.102 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 22:29:09.103 [debug] QUERY OK source="media_profiles" db=0.5ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:29:09.103 [debug] QUERY OK source="sources" db=0.3ms queue=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" = ?) [6] 22:29:09.104 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:29:09.105 [debug] QUERY OK source="settings" db=0.9ms 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 [] 22:29:09.105 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.106 [debug] QUERY OK source="media_items" db=2.1ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [6] 22:29:09.106 [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 [] 22:29:09.107 [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 [] 22:29:09.108 [debug] QUERY OK source="media_items" db=2.1ms 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 ? [6, 10, 0] 22:29:09.109 [info] Sent 200 in 7ms 22:29:09.110 [info] Sent 200 in 21ms 22:29:09.118 [info] GET /sources/4/ 22:29:09.118 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "4"} Pipelines: [:browser] 22:29:09.119 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [4] 22:29:09.119 [debug] QUERY OK source="media_profiles" db=0.2ms idle=13.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:29:09.120 [debug] QUERY OK source="tasks" db=0.3ms idle=13.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 (?,?,?,?)) [4, "executing", "available", "scheduled", "retryable"] 22:29:09.120 [debug] QUERY OK source="oban_jobs" db=0.1ms 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" = ?) [9492] 22:29:09.121 [debug] QUERY OK source="settings" db=0.3ms idle=12.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.121 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.122 [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 [] 22:29:09.124 [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" = ?) [4] 22:29:09.125 [debug] QUERY OK source="media_items" db=0.5ms 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")))) [4] 22:29:09.125 [debug] QUERY OK source="media_items" db=0.6ms idle=3.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 22:29:09.126 [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" = ?) [4] 22:29:09.127 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=4.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [4] 22:29:09.128 [debug] QUERY OK source="media_items" db=0.8ms idle=3.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 22:29:09.129 [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" = ?) [4] 22:29:09.131 [debug] QUERY OK source="media_items" db=0.8ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [4] 22:29:09.132 [debug] QUERY OK source="media_items" db=0.9ms idle=4.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 22:29:09.133 [info] GET /sources/6/ 22:29:09.133 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 22:29:09.133 [info] Sent 200 in 15ms 22:29:09.134 [debug] QUERY OK source="sources" db=0.4ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:29:09.134 [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] 22:29:09.135 [debug] QUERY OK source="tasks" db=0.5ms idle=5.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 (?,?,?,?)) [6, "executing", "available", "scheduled", "retryable"] 22:29:09.136 [debug] QUERY OK source="oban_jobs" db=0.1ms 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" = ?) [9490] 22:29:09.136 [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 [] 22:29:09.137 [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 [] 22:29:09.138 [debug] QUERY OK source="settings" db=0.5ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.139 [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" = ?) [6] 22:29:09.141 [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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 22:29:09.143 [debug] QUERY OK source="media_items" db=1.4ms idle=4.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:29:09.143 [debug] QUERY OK source="sources" db=0.1ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:29:09.144 [debug] QUERY OK source="media_items" db=0.1ms idle=5.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 22:29:09.144 [debug] QUERY OK source="media_items" db=0.5ms idle=4.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:29:09.146 [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" = ?) [6] 22:29:09.147 [info] GET /sources/11 22:29:09.147 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "11"} Pipelines: [:browser] 22:29:09.148 [debug] QUERY OK source="media_items" db=1.5ms 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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [6] 22:29:09.149 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [11] 22:29:09.149 [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] 22:29:09.150 [debug] QUERY OK source="tasks" db=0.2ms idle=3.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 (?,?,?,?)) [11, "executing", "available", "scheduled", "retryable"] 22:29:09.150 [debug] QUERY OK source="oban_jobs" db=0.1ms queue=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" = ?) [9494] 22:29:09.151 [debug] QUERY OK source="media_items" db=2.5ms idle=4.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:29:09.151 [debug] QUERY OK source="settings" db=0.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 [] 22:29:09.151 [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 [] 22:29:09.152 [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 [] 22:29:09.153 [info] Sent 200 in 19ms 22:29:09.154 [debug] QUERY OK source="sources" db=0.3ms queue=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" = ?) [11] 22:29:09.154 [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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [11] 22:29:09.156 [debug] QUERY OK source="media_items" db=1.4ms idle=3.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 ? [11, 10, 0] 22:29:09.157 [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" = ?) [11] 22:29:09.157 [debug] QUERY OK source="media_items" db=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)) [11] 22:29:09.159 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=3.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 ? [11, 10, 0] 22:29:09.160 [debug] QUERY OK source="sources" db=0.6ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 22:29:09.161 [debug] QUERY OK source="media_items" db=0.4ms idle=4.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [11] 22:29:09.163 [debug] QUERY OK source="media_items" db=0.9ms idle=4.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [11, 10, 0] 22:29:09.165 [info] Sent 200 in 17ms 22:29:09.215 [info] GET /sources/4/ 22:29:09.215 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "4"} Pipelines: [:browser] 22:29:09.216 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [4] 22:29:09.217 [debug] QUERY OK source="media_profiles" db=0.1ms idle=57.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] 22:29:09.217 [debug] QUERY OK source="tasks" db=0.4ms idle=56.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [4, "executing", "available", "scheduled", "retryable"] 22:29:09.218 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=56.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" = ?) [9492] 22:29:09.219 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:29:09.219 [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 [] 22:29:09.220 [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 [] 22:29:09.221 [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" = ?) [4] 22:29:09.222 [info] GET /sources/6/edit 22:29:09.222 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 22:29:09.222 [debug] QUERY OK source="media_items" db=0.6ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [4] 22:29:09.223 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [6] 22:29:09.223 [debug] QUERY OK source="media_items" db=0.7ms idle=3.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 22:29:09.224 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:29:09.224 [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" = ?) [4] 22:29:09.225 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.225 [debug] QUERY OK source="media_items" db=0.3ms queue=0.2ms idle=1.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [4] 22:29:09.226 [debug] QUERY OK source="settings" db=1.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 [] 22:29:09.227 [debug] QUERY OK source="media_items" db=1.7ms idle=1.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 ? [4, 10, 0] 22:29:09.227 [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 [] 22:29:09.229 [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" = ?) [4] 22:29:09.230 [debug] QUERY OK source="media_items" db=0.3ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [4] 22:29:09.231 [info] Sent 200 in 8ms 22:29:09.231 [debug] QUERY OK source="media_items" db=0.5ms idle=3.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 22:29:09.232 [info] Sent 200 in 16ms 22:29:09.236 [info] GET /sources/11/ 22:29:09.236 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "11"} Pipelines: [:browser] 22:29:09.237 [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" = ?) [11] 22:29:09.238 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:29:09.238 [debug] QUERY OK source="tasks" db=0.2ms idle=8.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 (?,?,?,?)) [11, "executing", "available", "scheduled", "retryable"] 22:29:09.238 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=8.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" = ?) [9494] 22:29:09.239 [debug] QUERY OK source="settings" db=0.2ms idle=7.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.239 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:29:09.240 [debug] QUERY OK source="settings" db=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 [] 22:29:09.242 [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" = ?) [11] 22:29:09.243 [debug] QUERY OK source="media_items" db=0.7ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [11] 22:29:09.244 [debug] QUERY OK source="media_items" db=0.9ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [11, 10, 0] 22:29:09.245 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [11] 22:29:09.246 [debug] QUERY OK source="media_items" db=0.1ms idle=5.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [11] 22:29:09.246 [debug] QUERY OK source="media_items" db=0.2ms idle=4.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 ? [11, 10, 0] 22:29:09.247 [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" = ?) [11] 22:29:09.248 [debug] QUERY OK source="media_items" db=0.3ms 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"))))) [11] 22:29:09.249 [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 ? [11, 10, 0] 22:29:09.250 [info] Sent 200 in 13ms 22:29:09.258 [info] GET /sources/1/ 22:29:09.258 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:29:09.259 [debug] QUERY OK source="sources" db=0.2ms idle=12.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:29:09.259 [debug] QUERY OK source="media_profiles" db=0.1ms idle=12.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] 22:29:09.260 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=12.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 22:29:09.260 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=12.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" = ?) [9489] 22:29:09.261 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:29:09.261 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.262 [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 [] 22:29:09.263 [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" = ?) [1] 22:29:09.264 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 22:29:09.265 [debug] QUERY OK source="media_items" db=0.7ms idle=3.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 ? [1, 10, 0] 22:29:09.266 [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" = ?) [1] 22:29:09.266 [debug] QUERY OK source="media_items" db=0.3ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 22:29:09.267 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:29:09.268 [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" = ?) [1] 22:29:09.269 [debug] QUERY OK source="media_items" db=0.4ms 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"))))) [1] 22:29:09.270 [debug] QUERY OK source="media_items" db=0.9ms 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 ? [1, 10, 0] 22:29:09.271 [info] Sent 200 in 13ms 22:29:09.279 [info] GET /sources/4/edit 22:29:09.280 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "4"} Pipelines: [:browser] 22:29:09.280 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 22:29:09.281 [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" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:29:09.282 [debug] QUERY OK source="settings" db=0.3ms idle=13.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.282 [debug] QUERY OK source="settings" db=0.1ms idle=12.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.283 [debug] QUERY OK source="settings" db=0.2ms idle=12.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.285 [info] Sent 200 in 5ms 22:29:09.329 [info] GET /sources/3/ 22:29:09.329 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 22:29:09.330 [debug] QUERY OK source="sources" db=0.2ms idle=49.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:29:09.330 [debug] QUERY OK source="media_profiles" db=0.1ms idle=48.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] 22:29:09.331 [debug] QUERY OK source="tasks" db=0.3ms idle=48.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 (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 22:29:09.331 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=48.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" = ?) [9497] 22:29:09.332 [debug] QUERY OK source="settings" db=0.1ms idle=48.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.332 [debug] QUERY OK source="settings" db=0.3ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.333 [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 [] 22:29:09.334 [debug] QUERY OK source="sources" db=0.3ms queue=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" = ?) [3] 22:29:09.335 [debug] QUERY OK source="media_items" db=0.7ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 22:29:09.336 [debug] QUERY OK source="media_items" db=0.6ms idle=3.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 ? [3, 10, 0] 22:29:09.337 [debug] QUERY OK source="sources" db=0.5ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:29:09.338 [debug] QUERY OK source="media_items" db=0.3ms idle=4.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 22:29:09.339 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 ? [3, 10, 0] 22:29:09.340 [debug] QUERY OK source="sources" db=0.1ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:29:09.341 [debug] QUERY OK source="media_items" db=0.5ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [3] 22:29:09.342 [debug] QUERY OK source="media_items" db=0.8ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 22:29:09.343 [info] Sent 200 in 13ms 22:29:09.347 [info] GET /sources/1/edit 22:29:09.348 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:29:09.348 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:29:09.348 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:29:09.349 [debug] QUERY OK source="settings" db=0.2ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.349 [debug] QUERY OK source="settings" db=0.1ms idle=8.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.350 [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 [] 22:29:09.352 [info] Sent 200 in 4ms 22:29:09.356 [info] GET /media_profiles/1 22:29:09.356 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:29:09.357 [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" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:29:09.357 [debug] QUERY OK source="sources" db=0.1ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 22:29:09.358 [debug] QUERY OK source="settings" db=0.8ms 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 [] 22:29:09.359 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.360 [debug] QUERY OK source="settings" db=0.1ms idle=9.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.360 [info] GET /sources/7 22:29:09.361 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 22:29:09.363 [info] GET /sources/3/ 22:29:09.363 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 22:29:09.363 [debug] QUERY OK source="sources" db=1.0ms 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" = ?) [7] 22:29:09.363 [info] Sent 200 in 6ms 22:29:09.365 [debug] QUERY OK source="sources" db=1.5ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:29:09.365 [debug] QUERY OK source="media_profiles" db=1.3ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:29:09.366 [info] GET /media_profiles/2 22:29:09.366 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 22:29:09.366 [debug] QUERY OK source="tasks" db=0.9ms idle=5.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 (?,?,?,?)) [7, "executing", "available", "scheduled", "retryable"] 22:29:09.366 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:29:09.368 [debug] QUERY OK source="settings" db=0.9ms queue=0.4ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.368 [debug] QUERY OK source="media_profiles" db=1.0ms 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" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:29:09.369 [debug] QUERY OK source="tasks" db=1.8ms queue=0.3ms 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 (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 22:29:09.369 [debug] QUERY OK source="settings" db=0.8ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.370 [debug] QUERY OK source="oban_jobs" db=1.0ms 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" = ?) [9497] 22:29:09.372 [debug] QUERY OK source="sources" db=2.5ms 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."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 22:29:09.372 [debug] QUERY OK source="settings" db=2.3ms 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 [] 22:29:09.372 [debug] QUERY OK source="settings" db=1.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 [] 22:29:09.373 [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 [] 22:29:09.373 [debug] QUERY OK source="settings" db=0.9ms 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 [] 22:29:09.374 [debug] QUERY OK source="settings" db=1.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.375 [debug] QUERY OK source="settings" db=0.9ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.375 [debug] QUERY OK source="sources" db=1.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" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:29:09.376 [debug] QUERY OK source="settings" db=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 [] 22:29:09.378 [debug] QUERY OK source="media_items" db=2.1ms 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")))) [7] 22:29:09.380 [info] Sent 200 in 13ms 22:29:09.381 [debug] QUERY OK source="sources" db=3.3ms queue=0.4ms 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" = ?) [3] 22:29:09.384 [debug] QUERY OK source="media_items" db=5.5ms queue=0.1ms 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 ? [7, 10, 0] 22:29:09.384 [debug] QUERY OK source="media_items" db=2.2ms idle=6.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 22:29:09.385 [debug] QUERY OK source="sources" db=0.7ms idle=8.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:29:09.386 [debug] QUERY OK source="media_items" db=0.9ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 22:29:09.387 [debug] QUERY OK source="media_items" db=1.5ms queue=0.3ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 22:29:09.388 [debug] QUERY OK source="sources" db=0.5ms 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" = ?) [3] 22:29:09.388 [debug] QUERY OK source="media_items" db=0.1ms idle=2.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 22:29:09.388 [debug] QUERY OK source="media_items" db=1.8ms 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 ? [7, 10, 0] 22:29:09.390 [debug] QUERY OK source="media_items" db=1.3ms queue=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 ? [3, 10, 0] 22:29:09.392 [debug] QUERY OK source="sources" db=1.9ms 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" = ?) [7] 22:29:09.392 [debug] QUERY OK source="sources" db=0.4ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:29:09.393 [debug] QUERY OK source="media_items" db=1.1ms queue=0.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"))))) [7] 22:29:09.394 [debug] QUERY OK source="media_items" db=0.7ms idle=4.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [3] 22:29:09.394 [debug] QUERY OK source="media_items" db=1.0ms idle=3.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [7, 10, 0] 22:29:09.397 [info] Sent 200 in 36ms 22:29:09.397 [debug] QUERY OK source="media_items" db=3.1ms idle=2.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 22:29:09.398 [info] Sent 200 in 35ms 22:29:09.400 [info] GET /sources/8 22:29:09.400 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "8"} Pipelines: [:browser] 22:29:09.401 [debug] QUERY OK source="sources" db=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" = ?) [8] 22:29:09.401 [debug] QUERY OK source="media_profiles" db=0.4ms idle=7.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:29:09.402 [debug] QUERY OK source="tasks" db=0.3ms idle=7.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 (?,?,?,?)) [8, "executing", "available", "scheduled", "retryable"] 22:29:09.402 [debug] QUERY OK source="settings" db=0.1ms idle=7.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.403 [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 [] 22:29:09.403 [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 [] 22:29:09.404 [info] GET /sources/3/edit 22:29:09.404 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 22:29:09.405 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [3] 22:29:09.405 [debug] QUERY OK source="sources" db=0.4ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 22:29:09.406 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:29:09.406 [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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [8] 22:29:09.406 [debug] QUERY OK source="settings" db=0.4ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.407 [debug] QUERY OK source="settings" db=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 [] 22:29:09.407 [debug] QUERY OK source="media_items" db=1.0ms 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 ? [8, 10, 0] 22:29:09.407 [debug] QUERY OK source="settings" db=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 [] 22:29:09.408 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 22:29:09.409 [debug] QUERY OK source="media_items" db=0.1ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [8] 22:29:09.409 [debug] QUERY OK source="media_items" db=0.3ms 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 ? [8, 10, 0] 22:29:09.410 [info] Sent 200 in 5ms 22:29:09.411 [debug] QUERY OK source="sources" db=0.7ms 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" = ?) [8] 22:29:09.412 [debug] QUERY OK source="media_items" db=0.3ms idle=3.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [8] 22:29:09.413 [debug] QUERY OK source="media_items" db=0.6ms idle=3.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [8, 10, 0] 22:29:09.413 [info] Sent 200 in 13ms 22:29:09.493 [info] GET /sources/11/edit 22:29:09.493 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "11"} Pipelines: [:browser] 22:29:09.494 [debug] QUERY OK source="sources" db=0.4ms idle=84.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 22:29:09.495 [debug] QUERY OK source="media_profiles" db=0.5ms idle=85.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:29:09.497 [debug] QUERY OK source="settings" db=0.8ms idle=84.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.497 [debug] QUERY OK source="settings" db=0.1ms idle=85.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.498 [debug] QUERY OK source="settings" db=0.1ms idle=84.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.500 [info] Sent 200 in 7ms 22:29:09.502 [info] GET /sources/8/ 22:29:09.502 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "8"} Pipelines: [:browser] 22:29:09.503 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 22:29:09.504 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 22:29:09.505 [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" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [8, "executing", "available", "scheduled", "retryable"] 22:29:09.506 [debug] QUERY OK source="settings" db=0.1ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.506 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:29:09.506 [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 [] 22:29:09.508 [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" = ?) [8] 22:29:09.509 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms 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")))) [8] 22:29:09.509 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [8, 10, 0] 22:29:09.510 [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" = ?) [8] 22:29:09.510 [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)) [8] 22:29:09.511 [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 ? [8, 10, 0] 22:29:09.512 [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" = ?) [8] 22:29:09.513 [debug] QUERY OK source="media_items" db=0.2ms idle=3.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [8] 22:29:09.514 [debug] QUERY OK source="media_items" db=0.9ms 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 ? [8, 10, 0] 22:29:09.515 [info] Sent 200 in 13ms 22:29:09.521 [info] GET /sources/8/ 22:29:09.521 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "8"} Pipelines: [:browser] 22:29:09.521 [debug] QUERY OK source="sources" db=0.3ms idle=10.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 22:29:09.522 [debug] QUERY OK source="media_profiles" db=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] 22:29:09.522 [debug] QUERY OK source="tasks" db=0.2ms idle=9.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 (?,?,?,?)) [8, "executing", "available", "scheduled", "retryable"] 22:29:09.523 [debug] QUERY OK source="settings" db=0.1ms idle=9.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.523 [debug] QUERY OK source="settings" db=0.1ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.524 [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 [] 22:29:09.525 [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" = ?) [8] 22:29:09.526 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [8] 22:29:09.527 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [8, 10, 0] 22:29:09.527 [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" = ?) [8] 22:29:09.528 [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)) [8] 22:29:09.528 [debug] QUERY OK source="media_items" db=0.5ms 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 ? [8, 10, 0] 22:29:09.529 [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" = ?) [8] 22:29:09.530 [debug] QUERY OK source="media_items" db=0.2ms 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"))))) [8] 22:29:09.531 [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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [8, 10, 0] 22:29:09.532 [info] Sent 200 in 11ms 22:29:09.555 [info] GET /sources/8/edit 22:29:09.555 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "8"} Pipelines: [:browser] 22:29:09.555 [debug] QUERY OK source="sources" db=0.3ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 22:29:09.556 [debug] QUERY OK source="media_profiles" db=0.3ms idle=27.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" [] 22:29:09.557 [debug] QUERY OK source="settings" db=0.5ms idle=26.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.557 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:29:09.558 [debug] QUERY OK source="settings" db=0.1ms idle=26.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.559 [info] GET /sources/9 22:29:09.560 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "9"} Pipelines: [:browser] 22:29:09.560 [info] GET /sources/11/ 22:29:09.560 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "11"} Pipelines: [:browser] 22:29:09.560 [info] Sent 200 in 5ms 22:29:09.561 [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" = ?) [11] 22:29:09.561 [debug] QUERY OK source="sources" db=0.6ms decode=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" = ?) [9] 22:29:09.562 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 22:29:09.562 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 22:29:09.563 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=4.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 (?,?,?,?)) [11, "executing", "available", "scheduled", "retryable"] 22:29:09.563 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=2.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" = ?) [9494] 22:29:09.563 [debug] QUERY OK source="tasks" db=0.5ms 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 (?,?,?,?)) [9, "executing", "available", "scheduled", "retryable"] 22:29:09.564 [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" = ?) [9493] 22:29:09.564 [debug] QUERY OK source="settings" db=0.5ms 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 [] 22:29:09.564 [debug] QUERY OK source="settings" db=0.2ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.565 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:29:09.565 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:29:09.566 [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 [] 22:29:09.566 [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 [] 22:29:09.568 [debug] QUERY OK source="sources" db=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" = ?) [11] 22:29:09.568 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 22:29:09.569 [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")))) [11] 22:29:09.569 [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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 22:29:09.570 [debug] QUERY OK source="media_items" db=1.2ms idle=1.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 ? [9, 10, 0] 22:29:09.571 [debug] QUERY OK source="media_items" db=1.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 ? [11, 10, 0] 22:29:09.572 [debug] QUERY OK source="sources" db=0.4ms queue=0.4ms 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" = ?) [9] 22:29:09.572 [info] GET /sources/9/ 22:29:09.573 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "9"} Pipelines: [:browser] 22:29:09.573 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 22:29:09.573 [debug] QUERY OK source="sources" db=1.3ms 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" = ?) [11] 22:29:09.573 [debug] QUERY OK source="media_items" db=0.2ms idle=1.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [11] 22:29:09.573 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [9] 22:29:09.574 [debug] QUERY OK source="media_items" db=0.9ms 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 ? [9, 10, 0] 22:29:09.575 [debug] QUERY OK source="media_items" db=1.4ms queue=0.1ms 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 ? [11, 10, 0] 22:29:09.575 [debug] QUERY OK source="media_profiles" db=1.4ms queue=0.2ms 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] 22:29:09.576 [debug] QUERY OK source="sources" db=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" = ?) [9] 22:29:09.576 [debug] QUERY OK source="tasks" db=0.3ms idle=2.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [9, "executing", "available", "scheduled", "retryable"] 22:29:09.577 [debug] QUERY OK source="media_items" db=0.5ms 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"))))) [9] 22:29:09.577 [debug] QUERY OK source="oban_jobs" db=0.6ms 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" = ?) [9493] 22:29:09.577 [debug] QUERY OK source="sources" db=1.0ms 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" = ?) [11] 22:29:09.578 [debug] QUERY OK source="settings" db=0.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 [] 22:29:09.578 [debug] QUERY OK source="media_items" db=0.7ms queue=0.3ms 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"))))) [11] 22:29:09.579 [debug] QUERY OK source="settings" db=0.4ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.579 [debug] QUERY OK source="media_items" db=2.0ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [9, 10, 0] 22:29:09.580 [debug] QUERY OK source="media_items" db=1.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 ? [11, 10, 0] 22:29:09.580 [info] Sent 200 in 20ms 22:29:09.581 [debug] QUERY OK source="settings" db=1.7ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.583 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 22:29:09.583 [info] Sent 200 in 23ms 22:29:09.584 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 22:29:09.585 [debug] QUERY OK source="media_items" db=1.2ms idle=5.0ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [9, 10, 0] 22:29:09.586 [debug] QUERY OK source="sources" db=0.1ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 22:29:09.586 [debug] QUERY OK source="media_items" db=0.0ms idle=5.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 22:29:09.587 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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 ? [9, 10, 0] 22:29:09.588 [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" = ?) [9] 22:29:09.589 [debug] QUERY OK source="media_items" db=0.2ms 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"))))) [9] 22:29:09.589 [debug] QUERY OK source="media_items" db=0.6ms 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 ? [9, 10, 0] 22:29:09.590 [info] Sent 200 in 17ms 22:29:09.624 [info] GET /sources/9/ 22:29:09.625 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "9"} Pipelines: [:browser] 22:29:09.625 [debug] QUERY OK source="sources" db=0.3ms idle=38.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 22:29:09.626 [debug] QUERY OK source="media_profiles" db=0.1ms idle=38.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] 22:29:09.626 [debug] QUERY OK source="tasks" db=0.3ms idle=37.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 (?,?,?,?)) [9, "executing", "available", "scheduled", "retryable"] 22:29:09.627 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=37.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" = ?) [9493] 22:29:09.627 [debug] QUERY OK source="settings" db=0.1ms idle=37.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.627 [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 [] 22:29:09.628 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:29:09.630 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [9] 22:29:09.631 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 22:29:09.631 [debug] QUERY OK source="media_items" db=0.5ms idle=3.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [9, 10, 0] 22:29:09.632 [debug] QUERY OK source="sources" db=0.4ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 22:29:09.633 [debug] QUERY OK source="media_items" db=0.1ms idle=4.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 22:29:09.633 [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 ? [9, 10, 0] 22:29:09.635 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 22:29:09.635 [debug] QUERY OK source="media_items" db=0.3ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [9] 22:29:09.636 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [9, 10, 0] 22:29:09.637 [info] Sent 200 in 12ms 22:29:09.641 [info] GET /sources/9/edit 22:29:09.641 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "9"} Pipelines: [:browser] 22:29:09.642 [debug] QUERY OK source="sources" db=0.3ms idle=8.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 22:29:09.642 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:29:09.643 [debug] QUERY OK source="settings" db=0.2ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.643 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:29:09.644 [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 [] 22:29:09.646 [info] Sent 200 in 5ms 22:29:09.650 [info] GET /sources/5 22:29:09.650 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "5"} Pipelines: [:browser] 22:29:09.650 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 22:29:09.651 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:29:09.651 [debug] QUERY OK source="tasks" db=0.2ms idle=7.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 (?,?,?,?)) [5, "executing", "available", "scheduled", "retryable"] 22:29:09.652 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=8.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" = ?) [9486] 22:29:09.652 [debug] QUERY OK source="settings" db=0.2ms idle=7.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.652 [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 [] 22:29:09.653 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:29:09.655 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [5] 22:29:09.656 [debug] QUERY OK source="media_items" db=0.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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [5] 22:29:09.657 [debug] QUERY OK source="media_items" db=0.5ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [5, 10, 0] 22:29:09.657 [debug] QUERY OK source="sources" db=0.2ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 22:29:09.658 [debug] QUERY OK source="media_items" db=0.1ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [5] 22:29:09.658 [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 ? [5, 10, 0] 22:29:09.660 [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" = ?) [5] 22:29:09.660 [debug] QUERY OK source="media_items" db=0.3ms 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"))))) [5] 22:29:09.661 [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 ? [5, 10, 0] 22:29:09.663 [info] Sent 200 in 13ms 22:29:09.673 [info] GET /sources/5/ 22:29:09.673 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "5"} Pipelines: [:browser] 22:29:09.673 [debug] QUERY OK source="sources" db=0.2ms idle=15.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 22:29:09.674 [debug] QUERY OK source="media_profiles" db=0.1ms idle=15.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] 22:29:09.674 [debug] QUERY OK source="tasks" db=0.1ms idle=14.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 (?,?,?,?)) [5, "executing", "available", "scheduled", "retryable"] 22:29:09.675 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=14.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" = ?) [9486] 22:29:09.675 [debug] QUERY OK source="settings" db=0.0ms idle=13.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.675 [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 [] 22:29:09.676 [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 [] 22:29:09.678 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [5] 22:29:09.679 [debug] QUERY OK source="media_items" db=0.8ms 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")))) [5] 22:29:09.680 [debug] QUERY OK source="media_items" db=0.9ms idle=4.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 ? [5, 10, 0] 22:29:09.681 [debug] QUERY OK source="sources" db=0.2ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 22:29:09.682 [debug] QUERY OK source="media_items" db=0.2ms idle=5.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [5] 22:29:09.682 [debug] QUERY OK source="media_items" db=0.4ms idle=4.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [5, 10, 0] 22:29:09.684 [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" = ?) [5] 22:29:09.685 [debug] QUERY OK source="media_items" db=0.3ms idle=4.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [5] 22:29:09.686 [debug] QUERY OK source="media_items" db=0.6ms idle=4.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [5, 10, 0] 22:29:09.688 [info] Sent 200 in 14ms 22:29:09.714 [info] GET /sources/5/ 22:29:09.714 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "5"} Pipelines: [:browser] 22:29:09.715 [debug] QUERY OK source="sources" db=0.4ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 22:29:09.716 [debug] QUERY OK source="media_profiles" db=0.1ms idle=32.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:29:09.716 [debug] QUERY OK source="tasks" db=0.4ms idle=31.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 (?,?,?,?)) [5, "executing", "available", "scheduled", "retryable"] 22:29:09.717 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=31.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" = ?) [9486] 22:29:09.717 [debug] QUERY OK source="settings" db=0.1ms idle=30.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.717 [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 [] 22:29:09.718 [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 [] 22:29:09.720 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [5] 22:29:09.721 [debug] QUERY OK source="media_items" db=0.3ms 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")))) [5] 22:29:09.721 [debug] QUERY OK source="media_items" db=0.5ms idle=3.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [5, 10, 0] 22:29:09.722 [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" = ?) [5] 22:29:09.723 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [5] 22:29:09.724 [debug] QUERY OK source="media_items" db=0.5ms idle=3.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [5, 10, 0] 22:29:09.725 [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" = ?) [5] 22:29:09.726 [debug] QUERY OK source="media_items" db=0.3ms 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"))))) [5] 22:29:09.727 [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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [5, 10, 0] 22:29:09.728 [info] Sent 200 in 13ms 22:29:09.729 [info] GET /sources/5/edit 22:29:09.729 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "5"} Pipelines: [:browser] 22:29:09.730 [debug] QUERY OK source="sources" db=0.4ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 22:29:09.731 [debug] QUERY OK source="media_profiles" db=0.3ms 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" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:29:09.731 [debug] QUERY OK source="settings" db=0.1ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.731 [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 [] 22:29:09.732 [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 [] 22:29:09.733 [info] GET /media_profiles/new 22:29:09.734 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 22:29:09.734 [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 [] 22:29:09.734 [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 [] 22:29:09.735 [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 [] 22:29:09.735 [info] Sent 200 in 5ms 22:29:09.736 [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 [] 22:29:09.737 [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 [] 22:29:09.738 [info] Sent 200 in 5ms 22:29:09.787 [info] GET /media_profiles/2/ 22:29:09.787 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:29:09.788 [debug] QUERY OK source="media_profiles" db=0.2ms idle=53.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] 22:29:09.788 [debug] QUERY OK source="sources" db=0.2ms idle=53.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 22:29:09.789 [debug] QUERY OK source="settings" db=0.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 [] 22:29:09.790 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:29:09.791 [debug] QUERY OK source="settings" db=0.5ms idle=53.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.793 [info] Sent 200 in 5ms 22:29:09.798 [info] GET /media_profiles/2/edit 22:29:09.798 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:29:09.798 [debug] QUERY OK source="media_profiles" db=0.2ms idle=10.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:29:09.799 [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 [] 22:29:09.799 [debug] QUERY OK source="settings" db=0.2ms idle=10.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.800 [debug] QUERY OK source="settings" db=0.2ms idle=10.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.802 [info] Sent 200 in 4ms 22:29:09.827 [info] GET /media_profiles/1/ 22:29:09.827 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:29:09.828 [debug] QUERY OK source="media_profiles" db=0.2ms idle=37.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] 22:29:09.828 [debug] QUERY OK source="sources" db=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" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 22:29:09.829 [debug] QUERY OK source="settings" db=0.1ms idle=29.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.829 [debug] QUERY OK source="settings" db=0.0ms idle=29.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.830 [debug] QUERY OK source="settings" db=0.1ms idle=29.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.831 [info] Sent 200 in 3ms 22:29:09.865 [info] GET /media_profiles/1/edit 22:29:09.865 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:29:09.866 [debug] QUERY OK source="media_profiles" db=0.2ms idle=37.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] 22:29:09.867 [debug] QUERY OK source="settings" db=0.6ms idle=38.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.868 [debug] QUERY OK source="settings" db=0.3ms idle=38.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.868 [debug] QUERY OK source="settings" db=0.1ms idle=38.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.870 [info] Sent 200 in 4ms 22:29:09.883 [info] GET /sources/1/force_redownload 22:29:09.884 [debug] QUERY OK source="settings" db=0.2ms idle=54.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.885 [debug] QUERY OK source="settings" db=0.2ms idle=18.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.885 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:29:09.885 [error] #PID<0.9778.0> running PinchflatWeb.Endpoint (connection #PID<0.9703.0>, stream id 12) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9703.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36558}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9778.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.82"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.82"} ], request_path: "/sources/1/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtq_yrjJAwE7QAASth"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9703.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36558}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, 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/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9703.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36558}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 12, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_ (truncated) 22:29:09.892 [info] GET /sources/4d7eff6a-de25-416f-92e5-1b45387ca7ff/feed.xml 22:29:09.893 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "4d7eff6a-de25-416f-92e5-1b45387ca7ff"} Pipelines: [:maybe_basic_auth] 22:29:09.893 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=25.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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" = ?) ["4d7eff6a-de25-416f-92e5-1b45387ca7ff"] 22:29:09.896 [debug] QUERY OK source="media_items" db=2.0ms idle=26.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [1, 2000] 22:29:09.901 [debug] QUERY OK source="source_metadata" db=0.1ms idle=33.1ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [1] 22:29:09.902 [debug] QUERY OK source="media_metadata" db=0.1ms idle=17.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [37771] 22:29:09.902 [info] Sent 200 in 9ms 22:29:09.930 [info] GET /sources/1/force_download_pending 22:29:09.931 [debug] QUERY OK source="settings" db=0.1ms idle=45.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.931 [debug] QUERY OK source="settings" db=0.1ms idle=37.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.931 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:29:09.932 [error] #PID<0.9780.0> running PinchflatWeb.Endpoint (connection #PID<0.9705.0>, stream id 27) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36570}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 27, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9780.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.82"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.82"} ], request_path: "/sources/1/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtq_91ckkxj50AAIjC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36570}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, 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 /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36570}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 27, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{} (truncated) 22:29:09.937 [info] GET /sources/new 22:29:09.937 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "1"} Pipelines: [:browser] 22:29:09.938 [debug] QUERY OK source="sources" db=0.5ms idle=41.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:29:09.938 [debug] QUERY OK source="media_profiles" db=0.2ms idle=36.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:29:09.939 [debug] QUERY OK source="settings" db=0.1ms idle=36.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.939 [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 [] 22:29:09.940 [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 [] 22:29:09.940 [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 [] 22:29:09.941 [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 [] 22:29:09.941 [info] GET /sources/1/sync_files_on_disk 22:29:09.943 [debug] QUERY OK source="settings" db=0.8ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.943 [info] Sent 200 in 6ms 22:29:09.943 [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 [] 22:29:09.944 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:29:09.944 [error] #PID<0.9782.0> running PinchflatWeb.Endpoint (connection #PID<0.9699.0>, stream id 7) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9699.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36546}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9782.0>, params: %{}, path_info: ["sources", "1", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.82"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.82"} ], request_path: "/sources/1/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtrAAfDt9_twQAAIji"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9699.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36546}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, 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/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9699.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36546}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 7, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 22:29:09.956 [info] GET /sources/1/force_index 22:29:09.956 [debug] QUERY OK source="settings" db=0.1ms idle=16.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.957 [debug] QUERY OK source="settings" db=0.2ms idle=16.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:09.957 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:29:09.957 [error] #PID<0.9783.0> running PinchflatWeb.Endpoint (connection #PID<0.9705.0>, stream id 29) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36570}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 29, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9783.0>, params: %{}, path_info: ["sources", "1", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.82"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.82"} ], request_path: "/sources/1/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtrAD8uK_M-KsAASvh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36570}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 29, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_index", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36570}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 29, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl9 (truncated) 22:29:10.002 [info] GET /sources/1/force_metadata_refresh 22:29:10.003 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:29:10.003 [debug] QUERY OK source="settings" db=0.1ms idle=60.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.003 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:29:10.003 [error] #PID<0.9784.0> running PinchflatWeb.Endpoint (connection #PID<0.9705.0>, stream id 30) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36570}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 30, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9784.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.82"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.82"} ], request_path: "/sources/1/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtrAO8cAEMdmUAASwB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36570}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 30, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36570}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 30, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{} (truncated) 22:29:10.102 [info] GET /sources/1/sync_files_on_disk 22:29:10.104 [debug] QUERY OK source="settings" db=0.7ms idle=146.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.104 [debug] QUERY OK source="settings" db=0.5ms idle=146.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.105 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:29:10.106 [error] #PID<0.9785.0> running PinchflatWeb.Endpoint (connection #PID<0.9703.0>, stream id 14) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9703.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36558}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 14, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9785.0>, params: %{}, path_info: ["sources", "1", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.82"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.82"} ], request_path: "/sources/1/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtrAm5QSmbPTUAASwh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9703.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36558}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, 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/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9703.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/sync_files_on_disk", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36558}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 14, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 22:29:10.245 [info] GET /sources/1/media/37770/edit 22:29:10.246 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "37770", "source_id" => "1"} Pipelines: [:browser] 22:29:10.246 [debug] QUERY OK source="media_items" db=0.2ms idle=243.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" = ?) [37770] 22:29:10.247 [debug] QUERY OK source="settings" db=0.1ms idle=243.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.247 [debug] QUERY OK source="settings" db=0.1ms idle=162.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.248 [debug] QUERY OK source="settings" db=0.4ms idle=144.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.250 [info] Sent 200 in 4ms 22:29:10.302 [info] GET /sources/1/media/37771 22:29:10.302 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37771", "source_id" => "1"} Pipelines: [:browser] 22:29:10.303 [debug] QUERY OK source="media_items" db=0.5ms idle=198.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" = ?) [37771] 22:29:10.305 [debug] QUERY OK source="tasks" db=1.4ms idle=57.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" [37771] 22:29:10.306 [debug] QUERY OK source="sources" db=0.9ms idle=57.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:29:10.309 [debug] QUERY OK source="settings" db=0.9ms idle=61.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.310 [debug] QUERY OK source="settings" db=0.9ms idle=61.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.311 [debug] QUERY OK source="settings" db=0.5ms idle=7.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.313 [debug] QUERY OK source="media_profiles" db=0.7ms idle=6.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:29:10.321 [info] Sent 200 in 19ms 22:29:10.403 [info] GET /sources/1/media/10780 22:29:10.403 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "10780", "source_id" => "1"} Pipelines: [:browser] 22:29:10.403 [debug] QUERY OK source="media_items" db=0.2ms idle=97.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" = ?) [10780] 22:29:10.404 [debug] QUERY OK source="tasks" db=0.2ms idle=94.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" [10780] 22:29:10.404 [debug] QUERY OK source="sources" db=0.4ms idle=93.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:29:10.405 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:29:10.406 [debug] QUERY OK source="settings" db=0.2ms idle=92.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.406 [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 [] 22:29:10.407 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:29:10.409 [info] Sent 200 in 6ms 22:29:10.502 [info] GET /sources/1/media/7 22:29:10.502 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "7", "source_id" => "1"} Pipelines: [:browser] 22:29:10.504 [debug] QUERY OK source="media_items" db=1.2ms idle=98.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" = ?) [7] 22:29:10.506 [debug] QUERY OK source="tasks" db=1.1ms queue=0.1ms idle=99.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" [7] 22:29:10.506 [debug] QUERY OK source="sources" db=1.3ms idle=98.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:29:10.507 [debug] QUERY OK source="settings" db=1.0ms idle=99.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.508 [debug] QUERY OK source="settings" db=0.4ms idle=100.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.509 [debug] QUERY OK source="settings" db=0.6ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.510 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:29:10.512 [info] Sent 200 in 9ms 22:29:10.602 [info] GET /sources/1/media/7/edit 22:29:10.602 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "7", "source_id" => "1"} Pipelines: [:browser] 22:29:10.603 [debug] QUERY OK source="media_items" db=0.6ms idle=96.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" = ?) [7] 22:29:10.604 [debug] QUERY OK source="settings" db=0.5ms idle=96.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.605 [debug] QUERY OK source="settings" db=0.4ms idle=96.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.605 [debug] QUERY OK source="settings" db=0.2ms idle=96.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.607 [info] Sent 200 in 4ms 22:29:10.749 [info] GET /sources/1/media/37770 22:29:10.749 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37770", "source_id" => "1"} Pipelines: [:browser] 22:29:10.750 [debug] QUERY OK source="media_items" db=0.7ms idle=239.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" = ?) [37770] 22:29:10.751 [debug] QUERY OK source="tasks" db=0.1ms idle=147.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" [37770] 22:29:10.751 [debug] QUERY OK source="sources" db=0.3ms idle=146.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:29:10.752 [debug] QUERY OK source="settings" db=0.1ms idle=146.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.752 [debug] QUERY OK source="settings" db=0.0ms idle=146.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.752 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.754 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:29:10.756 [info] Sent 200 in 6ms 22:29:10.803 [info] GET /sources/1/media/37769 22:29:10.803 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37769", "source_id" => "1"} Pipelines: [:browser] 22:29:10.803 [debug] QUERY OK source="media_items" db=0.2ms idle=51.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" = ?) [37769] 22:29:10.804 [debug] QUERY OK source="sources" db=0.2ms idle=52.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:29:10.804 [debug] QUERY OK source="tasks" db=0.5ms idle=52.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" [37769] 22:29:10.805 [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 [] 22:29:10.805 [debug] QUERY OK source="settings" db=0.2ms idle=51.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.807 [debug] QUERY OK source="settings" db=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 [] 22:29:10.808 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.2ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:29:10.809 [info] Sent 200 in 6ms 22:29:10.903 [info] GET /sources/1/media/37772 22:29:10.903 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37772", "source_id" => "1"} Pipelines: [:browser] 22:29:10.904 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=98.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" = ?) [37772] 22:29:10.904 [debug] QUERY OK source="tasks" db=0.2ms queue=0.2ms idle=98.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" [37772] 22:29:10.905 [debug] QUERY OK source="sources" db=0.7ms idle=98.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:29:10.906 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:29:10.907 [debug] QUERY OK source="settings" db=0.3ms idle=98.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:10.907 [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 [] 22:29:10.909 [debug] QUERY OK source="media_profiles" db=0.6ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:29:10.911 [info] Sent 200 in 8ms 22:29:11.002 [info] GET /sources/1/media/10 22:29:11.002 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "10", "source_id" => "1"} Pipelines: [:browser] 22:29:11.003 [debug] QUERY OK source="media_items" db=0.2ms idle=97.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" = ?) [10] 22:29:11.003 [debug] QUERY OK source="tasks" db=0.1ms idle=96.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" [10] 22:29:11.003 [debug] QUERY OK source="sources" db=0.3ms idle=96.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:29:11.004 [debug] QUERY OK source="settings" db=0.1ms idle=96.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:11.004 [debug] QUERY OK source="settings" db=0.0ms 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 [] 22:29:11.005 [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 [] 22:29:11.006 [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] 22:29:11.007 [info] Sent 200 in 5ms 22:29:11.102 [info] GET /sources/1/media/13 22:29:11.102 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13", "source_id" => "1"} Pipelines: [:browser] 22:29:11.103 [debug] QUERY OK source="media_items" db=0.6ms idle=98.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" = ?) [13] 22:29:11.104 [debug] QUERY OK source="tasks" db=0.5ms idle=99.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" [13] 22:29:11.105 [debug] QUERY OK source="sources" db=0.9ms idle=99.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:29:11.108 [debug] QUERY OK source="settings" db=2.0ms idle=99.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:11.109 [debug] QUERY OK source="settings" db=1.4ms 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 [] 22:29:11.111 [debug] QUERY OK source="settings" db=0.8ms 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 [] 22:29:11.112 [debug] QUERY OK source="media_profiles" db=0.6ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:29:11.115 [info] Sent 200 in 12ms 22:29:11.212 [info] GET /sources/1/media/37835/edit 22:29:11.213 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "37835", "source_id" => "1"} Pipelines: [:browser] 22:29:11.213 [debug] QUERY OK source="media_items" db=0.2ms idle=108.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" = ?) [37835] 22:29:11.214 [debug] QUERY OK source="settings" db=0.1ms idle=106.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:11.214 [debug] QUERY OK source="settings" db=0.2ms idle=104.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:11.215 [debug] QUERY OK source="settings" db=0.1ms idle=103.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:11.216 [info] Sent 200 in 3ms 22:29:11.302 [info] GET /sources/4/media/109769/force_download 22:29:11.303 [debug] QUERY OK source="settings" db=0.1ms idle=190.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:11.303 [debug] QUERY OK source="settings" db=0.1ms idle=89.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:11.303 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:29:11.303 [error] #PID<0.9821.0> running PinchflatWeb.Endpoint (connection #PID<0.9703.0>, stream id 26) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/4/media/109769/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/109769/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9703.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/109769/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36558}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 26, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9821.0>, params: %{}, path_info: ["sources", "4", "media", "109769", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.82"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.82"} ], request_path: "/sources/4/media/109769/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtrFE7D-cpDjcAAS5B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9703.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/109769/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36558}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, 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 /sources/4/media/109769/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9703.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/109769/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36558}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 26, has_body: false, host_info: :undefined }}, (truncated) 22:29:11.402 [info] GET /download_logs 22:29:11.402 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 22:29:11.403 [info] Sent 200 in 463µs 22:29:11.502 [info] GET /sources/4/media/109769 22:29:11.502 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "109769", "prevent_download" => "true", "source_id" => "4"} Pipelines: [:browser] 22:29:11.503 [debug] QUERY OK source="media_items" db=0.2ms idle=288.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" = ?) [109769] 22:29:11.503 [debug] QUERY OK source="tasks" db=0.1ms idle=288.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" [109769] 22:29:11.503 [debug] QUERY OK source="sources" db=0.4ms idle=288.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 22:29:11.504 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=201.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" = ?) [9423] 22:29:11.505 [debug] QUERY OK source="settings" db=0.2ms idle=201.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:11.505 [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 [] 22:29:11.506 [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 [] 22:29:11.507 [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] 22:29:11.509 [info] Sent 200 in 6ms 22:29:11.602 [info] GET /sources/3/media/115357 22:29:11.602 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "115357", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 22:29:11.604 [debug] QUERY OK source="media_items" db=1.2ms idle=98.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" = ?) [115357] 22:29:11.605 [debug] QUERY OK source="tasks" db=0.2ms idle=99.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" [115357] 22:29:11.605 [debug] QUERY OK source="sources" db=0.3ms idle=99.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:29:11.605 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=99.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" = ?) [9496] 22:29:11.606 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:29:11.606 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:11.607 [debug] QUERY OK source="settings" db=0.3ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:11.608 [debug] QUERY OK source="media_profiles" db=0.6ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:29:11.610 [info] Sent 200 in 8ms 22:29:11.702 [info] GET /sources/3/media/115304/force_download 22:29:11.703 [debug] QUERY OK source="settings" db=0.3ms idle=97.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:11.703 [debug] QUERY OK source="settings" db=0.1ms idle=97.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:11.704 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:29:11.704 [error] #PID<0.9831.0> running PinchflatWeb.Endpoint (connection #PID<0.9705.0>, stream id 33) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/media/115304/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/115304/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36570}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 33, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9831.0>, params: %{}, path_info: ["sources", "3", "media", "115304", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.82"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.82"} ], request_path: "/sources/3/media/115304/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtrGkUhhRhszoAAS7h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36570}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 33, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/115304/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36570}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 33, has_body: false, host_info: :undefined }}, (truncated) 22:29:11.816 [info] GET /sources/3/media/115304/force_download 22:29:11.816 [debug] QUERY OK source="settings" db=0.1ms idle=210.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:11.817 [debug] QUERY OK source="settings" db=0.1ms idle=209.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:29:11.817 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:29:11.817 [error] #PID<0.9832.0> running PinchflatWeb.Endpoint (connection #PID<0.9705.0>, stream id 34) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/media/115304/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/115304/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36570}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 34, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.9832.0>, params: %{}, path_info: ["sources", "3", "media", "115304", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"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", "158.69.55.82"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "158.69.55.82"} ], request_path: "/sources/3/media/115304/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXtrG_ZaXMxI3QAAHuD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36570}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 34, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/115304/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.9705.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 36570}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYVTZ1bjlGcWhSeUJ3ODh2TldzZUZOTzNW.0lyR9FoRodkxzKufCTuMLN2U3uE7rbDKmG0AxaCjPzo", "host" => "pinchflat.homelab.simonjonas.eu", "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" => "158.69.55.82", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "158.69.55.82" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 34, has_body: false, host_info: :undefined }}, (truncated) 22:29:24.369 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:54.371 [info] {"source":"oban","duration":1216,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:00.427 [info] {"source":"oban","duration":177,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:30:24.372 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:54.373 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:00.428 [info] {"source":"oban","duration":215,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:31:24.374 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:54.375 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:00.429 [info] {"source":"oban","duration":203,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:32:24.376 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:54.377 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:00.430 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:33:24.379 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:54.380 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:00.431 [info] {"source":"oban","duration":195,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:34:24.382 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:54.383 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:00.432 [info] {"source":"oban","duration":216,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:35:24.384 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:54.385 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:00.433 [info] {"source":"oban","duration":237,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:36:24.386 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:54.387 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:00.434 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:37:24.388 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:54.389 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:00.435 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:38:24.390 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:54.391 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:00.436 [info] {"source":"oban","duration":219,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:39:24.393 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:54.148 [info] GET /sources/2/media/113281 22:39:54.148 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "113281", "source_id" => "2"} Pipelines: [:browser] 22:39:54.149 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=288.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" = ?) [113281] 22:39:54.151 [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" [113281] 22:39:54.151 [debug] QUERY OK source="sources" db=1.6ms idle=67.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:39:54.153 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.1ms idle=71.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" = ?) [9466] 22:39:54.154 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=72.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:39:54.155 [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 [] 22:39:54.156 [debug] QUERY OK source="settings" db=0.5ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:39:54.157 [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] 22:39:54.161 [info] Sent 200 in 13ms 22:39:54.394 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:58.938 [info] GET /sources 22:39:58.938 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 22:39:58.939 [debug] QUERY OK source="settings" db=0.2ms idle=856.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:39:58.939 [debug] QUERY OK source="settings" db=0.0ms idle=857.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:39:58.939 [debug] QUERY OK source="settings" db=0.1ms idle=857.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:39:58.940 [debug] QUERY OK source="settings" db=0.0ms idle=858.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:39:58.940 [debug] QUERY OK source="settings" db=0.1ms idle=75.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:39:58.943 [debug] QUERY OK source="sources" db=1.9ms 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)) [] 22:39:59.029 [debug] QUERY OK source="sources" db=3.1ms queue=82.4ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 22:39:59.031 [debug] QUERY OK db=0.1ms idle=91.6ms SELECT regexp_like('', ?) ["(?i).*Freitagsgebet.*"] 22:39:59.033 [info] Sent 200 in 95ms 22:40:00.437 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:40:24.396 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:51.101 [info] GET /sources/3/media/115357 22:40:51.102 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "115357", "source_id" => "3"} Pipelines: [:browser] 22:40:51.102 [debug] QUERY OK source="media_items" db=0.2ms idle=1020.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" = ?) [115357] 22:40:51.103 [debug] QUERY OK source="tasks" db=0.2ms idle=1020.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" [115357] 22:40:51.103 [debug] QUERY OK source="sources" db=0.4ms idle=1020.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:40:51.104 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=1021.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" = ?) [9496] 22:40:51.105 [debug] QUERY OK source="settings" db=0.2ms idle=186.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:40:51.105 [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 [] 22:40:51.106 [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 [] 22:40:51.107 [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] 22:40:51.109 [info] Sent 200 in 7ms 22:40:54.397 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:58.609 [info] GET /media_profiles 22:40:58.609 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 22:40:58.609 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1527.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 22:40:58.610 [debug] QUERY OK source="settings" db=0.1ms idle=1528.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:40:58.610 [debug] QUERY OK source="settings" db=0.1ms idle=1528.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:40:58.611 [debug] QUERY OK source="settings" db=0.1ms idle=685.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:40:58.612 [info] Sent 200 in 3ms 22:40:58.831 [info] GET /sources/3/media/115304 22:40:58.831 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "115304", "source_id" => "3"} Pipelines: [:browser] 22:40:58.831 [debug] QUERY OK source="media_items" db=0.2ms idle=749.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" = ?) [115304] 22:40:58.860 [debug] QUERY OK source="tasks" db=0.3ms idle=249.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" [115304] 22:40:58.860 [debug] QUERY OK source="sources" db=0.4ms idle=249.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:40:58.861 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=249.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" = ?) [9495] 22:40:58.861 [debug] QUERY OK source="settings" db=0.1ms idle=250.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:40:58.861 [debug] QUERY OK source="settings" db=0.2ms idle=29.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:40:58.862 [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 [] 22:40:58.863 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [2] 22:40:58.865 [info] Sent 200 in 34ms 22:40:59.344 [info] GET /sources/1/media/113855 22:40:59.345 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "113855", "source_id" => "1"} Pipelines: [:browser] 22:40:59.345 [debug] QUERY OK source="media_items" db=0.3ms idle=483.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" = ?) [113855] 22:40:59.346 [debug] QUERY OK source="tasks" db=0.1ms idle=484.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" [113855] 22:40:59.346 [debug] QUERY OK source="sources" db=0.3ms idle=483.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:40:59.346 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=483.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" = ?) [9474] 22:40:59.347 [debug] QUERY OK source="settings" db=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 [] 22:40:59.347 [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 [] 22:40:59.348 [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 [] 22:40:59.348 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:40:59.350 [info] Sent 200 in 5ms 22:41:00.438 [info] {"source":"oban","duration":204,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:41:12.671 [info] GET /settings 22:41:12.671 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 22:41:12.672 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1589.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:41:12.672 [debug] QUERY OK source="settings" db=0.1ms idle=1590.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:41:12.672 [debug] QUERY OK source="settings" db=0.0ms idle=1590.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:41:12.673 [debug] QUERY OK source="settings" db=0.1ms idle=728.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:41:12.674 [info] Sent 200 in 3ms 22:41:17.281 [info] GET /sources/4/media/109769 22:41:17.282 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "109769", "source_id" => "4"} Pipelines: [:browser] 22:41:17.282 [debug] QUERY OK source="media_items" db=0.3ms idle=1200.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" = ?) [109769] 22:41:17.283 [debug] QUERY OK source="tasks" db=0.4ms idle=1201.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" [109769] 22:41:17.283 [debug] QUERY OK source="sources" db=0.3ms idle=1201.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 22:41:17.284 [debug] QUERY OK source="oban_jobs" db=0.6ms idle=1202.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" = ?) [9423] 22:41:17.285 [debug] QUERY OK source="settings" db=0.2ms idle=333.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:41:17.286 [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 [] 22:41:17.286 [debug] QUERY OK source="settings" db=0.4ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:41:17.324 [debug] QUERY OK source="media_profiles" db=0.2ms idle=40.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] 22:41:17.327 [info] Sent 200 in 46ms 22:41:24.398 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:36.164 [info] GET /sources/2 22:41:36.164 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:41:36.164 [debug] QUERY OK source="sources" db=0.2ms idle=1082.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:41:36.165 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1083.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] 22:41:36.165 [debug] QUERY OK source="tasks" db=0.2ms idle=1083.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 (?,?,?,?)) [2, "executing", "available", "scheduled", "retryable"] 22:41:36.166 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=187.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" = ?) [9491] 22:41:36.166 [debug] QUERY OK source="settings" db=0.1ms idle=84.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:41:36.166 [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 [] 22:41:36.167 [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 [] 22:41:36.168 [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" = ?) [2] 22:41:36.169 [debug] QUERY OK source="media_items" db=0.2ms 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")))) [2] 22:41:36.170 [debug] QUERY OK source="media_items" db=0.4ms 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 ? [2, 10, 0] 22:41:36.171 [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" = ?) [2] 22:41:36.171 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [2] 22:41:36.172 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 22:41:36.173 [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" = ?) [2] 22:41:36.174 [debug] QUERY OK source="media_items" db=0.2ms 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"))))) [2] 22:41:36.174 [debug] QUERY OK source="media_items" db=0.4ms 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 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [2, 10, 0] 22:41:36.175 [info] Sent 200 in 11ms 22:41:54.400 [info] {"source":"oban","duration":1204,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:00.439 [info] {"source":"oban","duration":197,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:42:15.024 [info] GET /app_info 22:42:15.024 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 22:42:15.025 [debug] QUERY OK source="settings" db=0.1ms idle=942.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:42:15.025 [debug] QUERY OK source="settings" db=0.1ms idle=943.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:42:15.026 [debug] QUERY OK source="settings" db=0.2ms idle=943.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:42:15.026 [debug] QUERY OK source="settings" db=0.1ms idle=944.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:42:15.027 [debug] QUERY OK source="settings" db=0.2ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:42:15.027 [info] Sent 200 in 3ms 22:42:24.401 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:28.753 [info] GET /sources/1 22:42:28.753 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:42:28.754 [debug] QUERY OK source="sources" db=0.2ms idle=719.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:42:28.754 [debug] QUERY OK source="media_profiles" db=0.1ms idle=672.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] 22:42:28.755 [debug] QUERY OK source="tasks" db=0.2ms idle=673.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 (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 22:42:28.755 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=673.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" = ?) [9489] 22:42:28.756 [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 [] 22:42:28.756 [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 [] 22:42:28.757 [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 [] 22:42:28.758 [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" = ?) [1] 22:42:28.759 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=3.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 22:42:28.760 [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 ? [1, 10, 0] 22:42:28.760 [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" = ?) [1] 22:42:28.761 [debug] QUERY OK source="media_items" db=0.1ms idle=3.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 22:42:28.761 [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 ? [1, 10, 0] 22:42:28.763 [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" = ?) [1] 22:42:28.763 [debug] QUERY OK source="media_items" db=0.3ms 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"))))) [1] 22:42:28.764 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 22:42:28.765 [info] Sent 200 in 11ms 22:42:33.665 [info] GET /sources/3 22:42:33.665 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 22:42:33.666 [debug] QUERY OK source="sources" db=0.2ms idle=1584.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:42:33.666 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1584.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] 22:42:33.667 [debug] QUERY OK source="tasks" db=0.2ms idle=1584.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 (?,?,?,?)) [3, "executing", "available", "scheduled", "retryable"] 22:42:33.667 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1585.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" = ?) [9497] 22:42:33.667 [debug] QUERY OK source="settings" db=0.1ms idle=627.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:42:33.668 [debug] QUERY OK source="settings" db=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 [] 22:42:33.669 [debug] QUERY OK source="settings" db=0.5ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:42:33.671 [debug] QUERY OK source="sources" db=0.7ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:42:33.672 [debug] QUERY OK source="media_items" db=0.8ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 22:42:33.674 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=5.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [3, 10, 0] 22:42:33.674 [debug] QUERY OK source="sources" db=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" = ?) [3] 22:42:33.675 [debug] QUERY OK source="media_items" db=0.1ms idle=5.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 22:42:33.675 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 ? [3, 10, 0] 22:42:33.677 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:42:33.677 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=3.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [3] 22:42:33.678 [debug] QUERY OK source="media_items" db=0.4ms 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 ? [3, 10, 0] 22:42:33.679 [info] Sent 200 in 13ms 22:42:33.882 [info] GET /sources/4 22:42:33.882 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "4"} Pipelines: [:browser] 22:42:33.883 [debug] QUERY OK source="sources" db=0.2ms idle=207.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 22:42:33.883 [debug] QUERY OK source="media_profiles" db=0.1ms idle=207.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] 22:42:33.884 [debug] QUERY OK source="tasks" db=0.5ms idle=206.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 (?,?,?,?)) [4, "executing", "available", "scheduled", "retryable"] 22:42:33.884 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=206.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" = ?) [9492] 22:42:33.885 [debug] QUERY OK source="settings" db=0.3ms idle=206.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:42:33.885 [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 [] 22:42:33.886 [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 [] 22:42:33.888 [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" = ?) [4] 22:42:33.888 [debug] QUERY OK source="media_items" db=0.3ms 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")))) [4] 22:42:33.890 [debug] QUERY OK source="media_items" db=0.8ms idle=3.6ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 22:42:33.890 [debug] QUERY OK source="sources" db=0.1ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 22:42:33.891 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [4] 22:42:33.891 [debug] QUERY OK source="media_items" db=0.5ms idle=3.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 22:42:33.893 [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" = ?) [4] 22:42:33.894 [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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [4] 22:42:33.894 [debug] QUERY OK source="media_items" db=0.4ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [4, 10, 0] 22:42:33.895 [info] Sent 200 in 13ms 22:42:54.402 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:00.440 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:43:24.403 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:54.404 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:00.441 [info] {"source":"oban","duration":243,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:44:24.406 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:54.408 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:00.442 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:45:24.409 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:54.411 [info] {"source":"oban","duration":1151,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:00.443 [info] {"source":"oban","duration":196,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:46:24.412 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:54.413 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:00.444 [info] {"source":"oban","duration":213,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:47:24.414 [info] {"source":"oban","duration":917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:54.416 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:00.445 [info] {"source":"oban","duration":206,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:48:24.417 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:54.418 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:00.446 [info] {"source":"oban","duration":223,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:49:24.419 [info] {"source":"oban","duration":811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:54.421 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:00.447 [info] {"source":"oban","duration":199,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:50:24.423 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:54.424 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:00.448 [info] {"source":"oban","duration":211,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:51:24.425 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:54.426 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:00.449 [info] {"source":"oban","duration":221,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:52:24.428 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:54.429 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:00.450 [info] {"source":"oban","duration":209,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:53:22.693 [info] GET /sources/9/edit 22:53:22.693 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "9"} Pipelines: [:browser] 22:53:22.693 [info] GET /sources/9 22:53:22.693 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "9"} Pipelines: [:browser] 22:53:22.694 [debug] QUERY OK source="sources" db=0.4ms queue=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" = ?) [9] 22:53:22.694 [debug] QUERY OK source="sources" db=0.3ms idle=609.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 22:53:22.694 [debug] QUERY OK source="media_profiles" db=0.2ms idle=610.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 22:53:22.695 [debug] QUERY OK source="media_profiles" db=0.5ms idle=610.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] 22:53:22.695 [debug] QUERY OK source="settings" db=0.2ms idle=610.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:22.695 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:53:22.695 [debug] QUERY OK source="tasks" db=0.3ms 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 (?,?,?,?)) [9, "executing", "available", "scheduled", "retryable"] 22:53:22.696 [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 [] 22:53:22.696 [debug] QUERY OK source="oban_jobs" db=0.6ms 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" = ?) [9493] 22:53:22.697 [debug] QUERY OK source="settings" db=1.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 [] 22:53:22.698 [debug] QUERY OK source="settings" db=0.3ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:22.698 [info] Sent 200 in 5ms 22:53:22.699 [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 [] 22:53:22.700 [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" = ?) [9] 22:53:22.701 [debug] QUERY OK source="media_items" db=0.2ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 22:53:22.702 [debug] QUERY OK source="media_items" db=0.4ms idle=3.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 ? [9, 10, 0] 22:53:22.702 [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" = ?) [9] 22:53:22.703 [debug] QUERY OK source="media_items" db=0.1ms idle=3.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 22:53:22.703 [debug] QUERY OK source="media_items" db=0.2ms 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 ? [9, 10, 0] 22:53:22.704 [debug] QUERY OK source="sources" db=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 22:53:22.705 [debug] QUERY OK source="media_items" db=0.6ms 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"))))) [9] 22:53:22.706 [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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [9, 10, 0] 22:53:22.707 [info] Sent 200 in 14ms 22:53:23.090 [info] GET /sources/11 22:53:23.091 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "11"} Pipelines: [:browser] 22:53:23.091 [debug] QUERY OK source="sources" db=0.3ms idle=387.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 22:53:23.092 [debug] QUERY OK source="media_profiles" db=0.2ms idle=387.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] 22:53:23.092 [debug] QUERY OK source="tasks" db=0.2ms idle=386.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 (?,?,?,?)) [11, "executing", "available", "scheduled", "retryable"] 22:53:23.093 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=386.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" = ?) [9494] 22:53:23.093 [debug] QUERY OK source="settings" db=0.1ms idle=273.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:23.094 [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 [] 22:53:23.094 [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 [] 22:53:23.096 [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" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 22:53:23.096 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [11] 22:53:23.098 [debug] QUERY OK source="media_items" db=1.0ms 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 ? [11, 10, 0] 22:53:23.098 [debug] QUERY OK source="sources" db=0.1ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 22:53:23.099 [debug] QUERY OK source="media_items" db=0.1ms idle=4.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [11] 22:53:23.099 [debug] QUERY OK source="media_items" db=0.2ms 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 ? [11, 10, 0] 22:53:23.100 [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" = ?) [11] 22:53:23.100 [debug] QUERY OK source="media_items" db=0.3ms 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"))))) [11] 22:53:23.101 [debug] QUERY OK source="media_items" db=0.5ms 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 (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) 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 ? [11, 10, 0] 22:53:23.103 [info] Sent 200 in 12ms 22:53:23.592 [info] GET /sources/11/edit 22:53:23.592 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "11"} Pipelines: [:browser] 22:53:23.593 [debug] QUERY OK source="sources" db=0.2ms idle=493.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [11] 22:53:23.593 [debug] QUERY OK source="media_profiles" db=0.1ms idle=493.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" [] 22:53:23.593 [debug] QUERY OK source="settings" db=0.1ms idle=493.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:23.594 [debug] QUERY OK source="settings" db=0.1ms idle=493.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:23.595 [debug] QUERY OK source="settings" db=0.3ms idle=493.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:23.597 [info] Sent 200 in 4ms 22:53:24.092 [info] GET /sources/1/force_redownload 22:53:24.093 [debug] QUERY OK source="settings" db=0.2ms idle=499.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:24.093 [debug] QUERY OK source="settings" db=0.1ms idle=499.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:24.093 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:53:24.093 [error] #PID<0.10010.0> running PinchflatWeb.Endpoint (connection #PID<0.10005.0>, stream id 4) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 47888}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYN0hIQlJjWHNZVjZ3NXFUTmE0dElHVW5j.7_8D_pt62do_nN9U1JDO7-s_0hpsdYT4BxUtKWNzhuY", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYN0hIQlJjWHNZVjZ3NXFUTmE0dElHVW5j.7_8D_pt62do_nN9U1JDO7-s_0hpsdYT4BxUtKWNzhuY" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.10010.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYN0hIQlJjWHNZVjZ3NXFUTmE0dElHVW5j.7_8D_pt62do_nN9U1JDO7-s_0hpsdYT4BxUtKWNzhuY" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYN0hIQlJjWHNZVjZ3NXFUTmE0dElHVW5j.7_8D_pt62do_nN9U1JDO7-s_0hpsdYT4BxUtKWNzhuY"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.151"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "216.73.217.151"} ], request_path: "/sources/1/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXu_pI_2cns3JgAATth"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 47888}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYN0hIQlJjWHNZVjZ3NXFUTmE0dElHVW5j.7_8D_pt62do_nN9U1JDO7-s_0hpsdYT4BxUtKWNzhuY", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, 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/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10005.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_redownload", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 47888}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYN0hIQlJjWHNZVjZ3NXFUTmE0dElHVW5j.7_8D_pt62do_nN9U1JDO7-s_0hpsdYT4BxUtKWNzhuY", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 4, has_body: false, host_info: :undefined }}, assigns: %{}, bo (truncated) 22:53:24.430 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:25.814 [info] GET /sources/1/media/13/edit 22:53:25.815 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "13", "source_id" => "1"} Pipelines: [:browser] 22:53:25.815 [debug] QUERY OK source="media_items" db=0.2ms idle=1722.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" = ?) [13] 22:53:25.816 [debug] QUERY OK source="settings" db=0.1ms idle=1722.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:25.816 [debug] QUERY OK source="settings" db=0.1ms idle=1385.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:25.817 [debug] QUERY OK source="settings" db=0.1ms idle=994.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:25.818 [info] Sent 200 in 3ms 22:53:26.012 [info] GET /sources/1/media/13 22:53:26.012 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "13", "source_id" => "1"} Pipelines: [:browser] 22:53:26.013 [debug] QUERY OK source="media_items" db=0.2ms idle=197.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" = ?) [13] 22:53:26.013 [debug] QUERY OK source="tasks" db=0.1ms idle=197.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" [13] 22:53:26.014 [debug] QUERY OK source="sources" db=0.3ms idle=197.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:53:26.014 [debug] QUERY OK source="settings" db=0.2ms idle=197.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:26.015 [debug] QUERY OK source="settings" db=0.1ms idle=191.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:26.015 [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 [] 22:53:26.016 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:53:26.018 [info] Sent 200 in 6ms 22:53:26.526 [info] GET /sources/2/media/113281/edit 22:53:26.526 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "113281", "source_id" => "2"} Pipelines: [:browser] 22:53:26.527 [debug] QUERY OK source="media_items" db=0.2ms idle=513.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [113281] 22:53:26.527 [debug] QUERY OK source="settings" db=0.1ms idle=512.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:26.528 [debug] QUERY OK source="settings" db=0.1ms idle=512.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:26.528 [debug] QUERY OK source="settings" db=0.1ms idle=512.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:26.530 [info] Sent 200 in 3ms 22:53:27.026 [info] GET /sources/1/media/37772/edit 22:53:27.026 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "37772", "source_id" => "1"} Pipelines: [:browser] 22:53:27.027 [debug] QUERY OK source="media_items" db=0.3ms idle=499.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" = ?) [37772] 22:53:27.028 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:53:27.028 [debug] QUERY OK source="settings" db=0.1ms queue=0.5ms 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 [] 22:53:27.029 [debug] QUERY OK source="settings" db=0.1ms idle=500.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:27.030 [info] Sent 200 in 4ms 22:53:27.528 [info] GET /sources/4/media/109769/edit 22:53:27.528 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "109769", "source_id" => "4"} Pipelines: [:browser] 22:53:27.529 [debug] QUERY OK source="media_items" db=0.2ms idle=704.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" = ?) [109769] 22:53:27.529 [debug] QUERY OK source="settings" db=0.2ms idle=502.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:27.530 [debug] QUERY OK source="settings" db=0.1ms idle=501.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:27.531 [debug] QUERY OK source="settings" db=0.1ms idle=501.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:27.532 [info] Sent 200 in 3ms 22:53:32.234 [info] GET /sources/1/media/37772 22:53:32.234 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37772", "source_id" => "1"} Pipelines: [:browser] 22:53:32.235 [info] GET /sources/3/media/115304/edit 22:53:32.235 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "115304", "source_id" => "3"} Pipelines: [:browser] 22:53:32.235 [debug] QUERY OK source="media_items" db=0.2ms idle=1150.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" = ?) [37772] 22:53:32.236 [debug] QUERY OK source="tasks" db=0.4ms idle=1151.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" [37772] 22:53:32.236 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=1151.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" = ?) [115304] 22:53:32.236 [debug] QUERY OK source="sources" db=0.3ms idle=1151.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:53:32.237 [debug] QUERY OK source="settings" db=0.4ms idle=406.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:32.237 [debug] QUERY OK source="settings" db=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 [] 22:53:32.237 [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 [] 22:53:32.237 [debug] QUERY OK source="settings" db=0.3ms queue=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 [] 22:53:32.238 [debug] QUERY OK source="settings" db=0.5ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:32.238 [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 [] 22:53:32.239 [info] Sent 200 in 4ms 22:53:32.240 [debug] QUERY OK source="media_profiles" db=0.9ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:53:32.242 [info] Sent 200 in 7ms 22:53:32.620 [info] GET /sources/3/media/115357/edit 22:53:32.620 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "115357", "source_id" => "3"} Pipelines: [:browser] 22:53:32.621 [debug] QUERY OK source="media_items" db=0.6ms idle=383.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" = ?) [115357] 22:53:32.622 [debug] QUERY OK source="settings" db=0.2ms idle=384.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:32.622 [debug] QUERY OK source="settings" db=0.0ms idle=383.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:32.623 [debug] QUERY OK source="settings" db=0.2ms idle=384.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:32.624 [info] Sent 200 in 4ms 22:53:33.121 [info] GET /sources/1/media/37769/edit 22:53:33.121 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "37769", "source_id" => "1"} Pipelines: [:browser] 22:53:33.122 [debug] QUERY OK source="media_items" db=0.2ms 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" = ?) [37769] 22:53:33.122 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:53:33.123 [debug] QUERY OK source="settings" db=0.2ms idle=500.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:33.124 [debug] QUERY OK source="settings" db=0.6ms idle=500.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:33.125 [info] Sent 200 in 4ms 22:53:33.621 [info] GET /sources/1/media/37835/edit 22:53:33.621 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "37835", "source_id" => "1"} Pipelines: [:browser] 22:53:33.622 [debug] QUERY OK source="media_items" db=0.2ms idle=791.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" = ?) [37835] 22:53:33.622 [debug] QUERY OK source="settings" db=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 [] 22:53:33.623 [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 [] 22:53:33.623 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:53:33.624 [info] Sent 200 in 3ms 22:53:36.468 [info] GET /sources/1/media/37835 22:53:36.468 [info] GET /sources/1/media/37771/edit 22:53:36.468 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37835", "source_id" => "1"} Pipelines: [:browser] 22:53:36.468 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "37771", "source_id" => "1"} Pipelines: [:browser] 22:53:36.469 [debug] QUERY OK source="media_items" db=0.4ms idle=1384.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" = ?) [37835] 22:53:36.469 [debug] QUERY OK source="media_items" db=0.5ms idle=1384.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" = ?) [37771] 22:53:36.469 [debug] QUERY OK source="tasks" db=0.1ms idle=1385.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" [37835] 22:53:36.470 [debug] QUERY OK source="settings" db=0.2ms idle=1385.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:36.470 [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 [] 22:53:36.470 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=636.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:53:36.471 [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 [] 22:53:36.471 [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 [] 22:53:36.472 [info] Sent 200 in 3ms 22:53:36.472 [debug] QUERY OK source="settings" db=0.8ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:36.473 [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 [] 22:53:36.474 [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] 22:53:36.476 [info] Sent 200 in 7ms 22:53:37.163 [info] GET /sources/1/media/37769 22:53:37.163 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37769", "source_id" => "1"} Pipelines: [:browser] 22:53:37.164 [debug] QUERY OK source="media_items" db=0.3ms idle=692.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" = ?) [37769] 22:53:37.166 [debug] QUERY OK source="sources" db=0.2ms idle=692.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:53:37.196 [debug] QUERY OK source="tasks" db=30.6ms idle=692.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" [37769] 22:53:37.197 [debug] QUERY OK source="settings" db=0.4ms idle=722.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:37.197 [debug] QUERY OK source="settings" db=0.2ms idle=362.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:37.198 [debug] QUERY OK source="settings" db=0.1ms idle=33.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:37.199 [debug] QUERY OK source="media_profiles" db=0.1ms idle=32.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] 22:53:37.200 [info] Sent 200 in 37ms 22:53:37.663 [info] GET /sources/1/media/10780/edit 22:53:37.663 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "10780", "source_id" => "1"} Pipelines: [:browser] 22:53:37.664 [debug] QUERY OK source="media_items" db=0.4ms idle=467.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" = ?) [10780] 22:53:37.664 [debug] QUERY OK source="settings" db=0.1ms idle=467.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:37.665 [debug] QUERY OK source="settings" db=0.1ms idle=467.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:37.666 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=467.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:37.669 [info] Sent 200 in 6ms 22:53:38.168 [info] GET /sources/1/media/37770/edit 22:53:38.168 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "37770", "source_id" => "1"} Pipelines: [:browser] 22:53:38.168 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=504.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [37770] 22:53:38.169 [debug] QUERY OK source="settings" db=0.1ms idle=504.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:38.169 [debug] QUERY OK source="settings" db=0.1ms idle=504.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:38.170 [debug] QUERY OK source="settings" db=0.1ms idle=503.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:38.171 [info] Sent 200 in 3ms 22:53:43.650 [info] GET /sources/1/force_download_pending 22:53:43.651 [info] GET /sources/1/media/37771 22:53:43.651 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37771", "source_id" => "1"} Pipelines: [:browser] 22:53:43.651 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:53:43.651 [debug] QUERY OK source="media_items" db=0.4ms idle=1567.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" = ?) [37771] 22:53:43.652 [debug] QUERY OK source="settings" db=0.4ms idle=1567.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:43.652 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:53:43.652 [debug] QUERY OK source="tasks" db=0.2ms queue=0.1ms idle=1568.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" [37771] 22:53:43.653 [debug] QUERY OK source="sources" db=0.5ms idle=811.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:53:43.653 [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 [] 22:53:43.654 [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 [] 22:53:43.655 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:43.652 [error] #PID<0.10043.0> running PinchflatWeb.Endpoint (connection #PID<0.10041.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10041.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 47202}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.10043.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.151"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "216.73.217.151"} ], request_path: "/sources/1/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXvAyAHJMiw-6cAAT4h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10041.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 47202}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, 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/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10041.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_download_pending", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 47202}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.10043.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, (truncated) 22:53:43.655 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:53:43.657 [info] Sent 200 in 6ms 22:53:43.968 [info] GET /sources/1/media/10780 22:53:43.968 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "10780", "source_id" => "1"} Pipelines: [:browser] 22:53:43.969 [debug] QUERY OK source="media_items" db=0.2ms idle=315.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" = ?) [10780] 22:53:43.970 [debug] QUERY OK source="tasks" db=0.6ms idle=315.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" [10780] 22:53:43.970 [debug] QUERY OK source="sources" db=0.7ms idle=314.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:53:43.971 [debug] QUERY OK source="settings" db=0.2ms idle=315.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:43.971 [debug] QUERY OK source="settings" db=0.1ms idle=129.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:43.972 [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 [] 22:53:43.973 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:53:43.975 [info] Sent 200 in 6ms 22:53:44.469 [info] GET /sources/1/media/37770 22:53:44.469 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "37770", "source_id" => "1"} Pipelines: [:browser] 22:53:44.471 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=499.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" = ?) [37770] 22:53:44.473 [debug] QUERY OK source="sources" db=1.0ms idle=499.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:53:44.473 [debug] QUERY OK source="tasks" db=1.5ms idle=500.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" [37770] 22:53:44.479 [debug] QUERY OK source="settings" db=5.0ms idle=501.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:44.479 [debug] QUERY OK source="settings" db=0.3ms idle=506.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:53:44.481 [debug] QUERY OK source="settings" db=1.0ms 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 [] 22:53:44.483 [debug] QUERY OK source="media_profiles" db=1.3ms idle=9.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:53:44.487 [info] Sent 200 in 17ms 22:53:54.431 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:00.451 [info] {"source":"oban","duration":220,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:54:12.389 [info] GET /media/3f06faa2-877e-4dbc-871e-5d9bc4b17faa/stream 22:54:12.389 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "3f06faa2-877e-4dbc-871e-5d9bc4b17faa"} Pipelines: [:maybe_basic_auth] 22:54:12.389 [info] GET /sources/1/media/113855/edit 22:54:12.390 [debug] QUERY OK source="media_items" db=0.3ms idle=510.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" = ?) ["3f06faa2-877e-4dbc-871e-5d9bc4b17faa"] 22:54:12.390 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "113855", "source_id" => "1"} Pipelines: [:browser] 22:54:12.390 [debug] Invalid range request for media item: 3f06faa2-877e-4dbc-871e-5d9bc4b17faa - serving full file 22:54:12.390 [info] Sent 200 in 1ms 22:54:12.391 [debug] QUERY OK source="media_items" db=0.4ms idle=306.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" = ?) [113855] 22:54:12.391 [debug] QUERY OK source="settings" db=0.1ms idle=307.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:12.392 [debug] QUERY OK source="settings" db=0.1ms idle=307.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:12.392 [debug] QUERY OK source="settings" db=0.1ms idle=308.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:12.393 [info] Sent 200 in 4ms 22:54:12.723 [info] GET /sources/4d7eff6a-de25-416f-92e5-1b45387ca7ff/feed.xml 22:54:12.723 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "4d7eff6a-de25-416f-92e5-1b45387ca7ff"} Pipelines: [:maybe_basic_auth] 22:54:12.724 [debug] QUERY OK source="sources" db=0.2ms idle=333.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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" = ?) ["4d7eff6a-de25-416f-92e5-1b45387ca7ff"] 22:54:12.725 [debug] QUERY OK source="media_items" db=1.4ms idle=333.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" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [1, 2000] 22:54:12.730 [debug] QUERY OK source="source_metadata" db=0.2ms idle=338.0ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [1] 22:54:12.731 [debug] QUERY OK source="media_metadata" db=0.2ms queue=0.1ms idle=338.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" = ?) [37771] 22:54:12.731 [info] Sent 200 in 8ms 22:54:13.229 [info] GET /media/05591b21-e6e5-421b-b0a9-878ca2cc2252/stream 22:54:13.230 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "05591b21-e6e5-421b-b0a9-878ca2cc2252"} Pipelines: [:maybe_basic_auth] 22:54:13.230 [debug] QUERY OK source="media_items" db=0.5ms idle=506.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" = ?) ["05591b21-e6e5-421b-b0a9-878ca2cc2252"] 22:54:13.231 [debug] Invalid range request for media item: 05591b21-e6e5-421b-b0a9-878ca2cc2252 - serving full file 22:54:13.231 [info] Sent 200 in 1ms 22:54:16.550 [info] GET /sources/2/media/113281/force_download 22:54:16.551 [debug] QUERY OK source="settings" db=0.3ms idle=1467.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:16.552 [debug] QUERY OK source="settings" db=0.4ms idle=667.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:16.552 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:54:16.553 [error] #PID<0.10064.0> running PinchflatWeb.Endpoint (connection #PID<0.10059.0>, stream id 4) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/2/media/113281/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/2/media/113281/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/113281/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 53140}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.10064.0>, params: %{}, path_info: ["sources", "2", "media", "113281", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.151"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "216.73.217.151"} ], request_path: "/sources/2/media/113281/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXvCskE3Ua6rbQAAT9h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/113281/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 53140}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, 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/2/media/113281/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/2/media/113281/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 53140}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.10064.0>, params: %{}, path_info: ["sources", "2", "media", "113281", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_st (truncated) 22:54:16.783 [info] GET /sources/4/media/109769/force_download 22:54:16.783 [debug] QUERY OK source="settings" db=0.1ms idle=699.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:16.783 [debug] QUERY OK source="settings" db=0.1ms idle=699.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:16.784 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:54:16.784 [error] #PID<0.10065.0> running PinchflatWeb.Endpoint (connection #PID<0.10059.0>, stream id 5) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/4/media/109769/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/4/media/109769/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/109769/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 53140}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.10065.0>, params: %{}, path_info: ["sources", "4", "media", "109769", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.151"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "216.73.217.151"} ], request_path: "/sources/4/media/109769/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXvCtbarzAWVDAAAT-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.10059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/109769/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 53140}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, 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/4/media/109769/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/4/media/109769/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 53140}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.10065.0>, params: %{}, path_info: ["sources", "4", "media", "109769", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_st (truncated) 22:54:17.285 [info] GET /sources/3/media/115304/force_download 22:54:17.285 [debug] QUERY OK source="settings" db=0.1ms idle=733.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:17.286 [debug] QUERY OK source="settings" db=0.1ms idle=733.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:17.286 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:54:17.286 [error] #PID<0.10066.0> running PinchflatWeb.Endpoint (connection #PID<0.10059.0>, stream id 6) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/media/115304/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/115304/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 53140}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.10066.0>, params: %{}, path_info: ["sources", "3", "media", "115304", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.151"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "216.73.217.151"} ], request_path: "/sources/3/media/115304/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXvCvTK7YHugnMAAT-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.10059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 53140}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, 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/3/media/115304/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115304/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 53140}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.10066.0>, params: %{}, path_info: ["sources", "3", "media", "115304", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_st (truncated) 22:54:17.788 [info] GET /sources/3/media/115357/force_download 22:54:17.788 [debug] QUERY OK source="settings" db=0.1ms idle=1004.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:17.788 [debug] QUERY OK source="settings" db=0.1ms idle=1004.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:17.789 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:54:17.789 [error] #PID<0.10067.0> running PinchflatWeb.Endpoint (connection #PID<0.10059.0>, stream id 7) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/3/media/115357/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/3/media/115357/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115357/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 53140}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.10067.0>, params: %{}, path_info: ["sources", "3", "media", "115357", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.151"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "216.73.217.151"} ], request_path: "/sources/3/media/115357/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXvCxLCBYGao6QAAT_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.10059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115357/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 53140}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, 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/3/media/115357/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10059.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/3/media/115357/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 53140}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, 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.homelab.simonjonas.eu", method: "GET", owner: #PID<0.10067.0>, params: %{}, path_info: ["sources", "3", "media", "115357", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_st (truncated) 22:54:24.432 [info] {"source":"oban","duration":962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:40.592 [info] GET /sources/1/media/113855/force_download 22:54:40.593 [info] GET /sources/opml.xml 22:54:40.593 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.opml_feed/2 Parameters: %{"route_token" => "5fc7be59-81fa-49f5-8b33-c8b3245f6c6b"} Pipelines: [:maybe_basic_auth, :token_protected_route] 22:54:40.593 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1509.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:40.593 [debug] QUERY OK source="settings" db=0.2ms idle=1509.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:40.594 [debug] QUERY OK source="sources" db=0.2ms idle=681.2ms SELECT s0."custom_name", s0."uuid" FROM "sources" AS s0 WHERE (s0."marked_for_deletion_at" IS NULL) ORDER BY s0."custom_name" [] 22:54:40.594 [debug] QUERY OK source="settings" db=0.4ms idle=1509.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:40.594 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:54:40.594 [info] Sent 200 in 1ms 22:54:40.594 [error] #PID<0.10073.0> running PinchflatWeb.Endpoint (connection #PID<0.10071.0>, stream id 1) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/media/113855/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/113855/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10071.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/113855/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 46184}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.10073.0>, params: %{}, path_info: ["sources", "1", "media", "113855", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.151"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "216.73.217.151"} ], request_path: "/sources/1/media/113855/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXvEGIHlC9UhIgAAUAB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10071.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/113855/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 46184}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, 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/1/media/113855/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10071.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/media/113855/force_download", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 46184}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.10073.0>, params: %{}, path_info: ["sources", "1", "media", "113855", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_st (truncated) 22:54:41.178 [info] GET /media/9bb91475-1247-47b2-bf79-1ba8dc0f6265/stream 22:54:41.178 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "9bb91475-1247-47b2-bf79-1ba8dc0f6265"} Pipelines: [:maybe_basic_auth] 22:54:41.180 [debug] QUERY OK source="media_items" db=1.2ms idle=585.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" = ?) ["9bb91475-1247-47b2-bf79-1ba8dc0f6265"] 22:54:41.180 [debug] Invalid range request for media item: 9bb91475-1247-47b2-bf79-1ba8dc0f6265 - serving full file 22:54:41.180 [info] Sent 200 in 2ms 22:54:41.687 [info] GET /media/4150a3e8-7258-4de9-ba10-2288cbc031b6/stream 22:54:41.687 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "4150a3e8-7258-4de9-ba10-2288cbc031b6"} Pipelines: [:maybe_basic_auth] 22:54:41.688 [debug] QUERY OK source="media_items" db=0.4ms idle=1093.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" = ?) ["4150a3e8-7258-4de9-ba10-2288cbc031b6"] 22:54:41.688 [debug] Invalid range request for media item: 4150a3e8-7258-4de9-ba10-2288cbc031b6 - serving full file 22:54:41.688 [info] Sent 200 in 1ms 22:54:48.504 [info] GET /sources/2/media/113281 22:54:48.504 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "113281", "prevent_download" => "true", "source_id" => "2"} Pipelines: [:browser] 22:54:48.505 [info] GET /media/03d00808-6ef2-43ae-8c6c-51d222b2a951/stream 22:54:48.505 [debug] QUERY OK source="media_items" db=0.9ms idle=1420.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" = ?) [113281] 22:54:48.506 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "03d00808-6ef2-43ae-8c6c-51d222b2a951"} Pipelines: [:maybe_basic_auth] 22:54:48.507 [debug] QUERY OK source="tasks" db=0.8ms idle=583.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" [113281] 22:54:48.508 [debug] QUERY OK source="sources" db=1.4ms idle=422.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:54:48.508 [debug] QUERY OK source="media_items" db=1.7ms idle=1422.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" = ?) ["03d00808-6ef2-43ae-8c6c-51d222b2a951"] 22:54:48.508 [debug] Invalid range request for media item: 03d00808-6ef2-43ae-8c6c-51d222b2a951 - serving full file 22:54:48.509 [info] Sent 200 in 3ms 22:54:48.509 [debug] QUERY OK source="oban_jobs" db=0.9ms idle=424.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" = ?) [9466] 22:54:48.509 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:54:48.512 [debug] QUERY OK source="settings" db=2.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 [] 22:54:48.514 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:54:48.515 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 22:54:48.518 [info] Sent 200 in 14ms 22:54:49.456 [info] GET /sources/1/media/113855 22:54:49.456 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "113855", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 22:54:49.457 [debug] QUERY OK source="media_items" db=0.2ms idle=946.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" = ?) [113855] 22:54:49.457 [debug] QUERY OK source="tasks" db=0.1ms queue=0.1ms idle=944.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" [113855] 22:54:49.457 [debug] QUERY OK source="sources" db=0.2ms idle=943.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:54:49.458 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=942.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" = ?) [9474] 22:54:49.458 [debug] QUERY OK source="settings" db=0.1ms idle=533.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:49.459 [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 [] 22:54:49.459 [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 [] 22:54:49.461 [debug] QUERY OK source="media_profiles" db=0.7ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 22:54:49.462 [info] Sent 200 in 6ms 22:54:50.958 [info] GET /sources/4/media/109769 22:54:50.958 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "109769", "prevent_download" => "true", "source_id" => "4"} Pipelines: [:browser] 22:54:50.959 [debug] QUERY OK source="media_items" db=0.6ms idle=1499.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" = ?) [109769] 22:54:50.960 [debug] QUERY OK source="tasks" db=0.3ms idle=1500.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" [109769] 22:54:50.960 [debug] QUERY OK source="sources" db=0.6ms idle=1498.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 22:54:50.961 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=1032.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" = ?) [9423] 22:54:50.962 [debug] QUERY OK source="settings" db=0.2ms idle=31.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:54:50.962 [debug] QUERY OK source="settings" db=0.2ms 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 [] 22:54:50.963 [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 [] 22:54:50.964 [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" = ?) [2] 22:54:50.966 [info] Sent 200 in 8ms 22:54:54.434 [info] {"source":"oban","duration":932,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:00.452 [info] {"source":"oban","duration":310,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:55:03.587 [info] GET /sources/7 22:55:03.587 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 22:55:03.587 [info] GET /sources/2/edit 22:55:03.587 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:55:03.588 [debug] QUERY OK source="sources" db=0.4ms idle=1503.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:55:03.588 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1504.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] 22:55:03.589 [debug] QUERY OK source="sources" db=1.0ms idle=1503.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [2] 22:55:03.589 [debug] QUERY OK source="tasks" db=0.3ms queue=0.3ms idle=1504.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 (?,?,?,?)) [7, "executing", "available", "scheduled", "retryable"] 22:55:03.589 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=639.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" [] 22:55:03.590 [debug] QUERY OK source="settings" db=0.4ms 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 [] 22:55:03.592 [debug] QUERY OK source="settings" db=0.5ms queue=0.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 [] 22:55:03.592 [debug] QUERY OK source="settings" db=2.5ms 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 [] 22:55:03.595 [debug] QUERY OK source="settings" db=2.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 [] 22:55:03.597 [debug] QUERY OK source="settings" db=5.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 [] 22:55:03.599 [debug] QUERY OK source="settings" db=3.5ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:03.601 [info] Sent 200 in 13ms 22:55:03.603 [debug] QUERY OK source="sources" db=0.6ms idle=10.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:55:03.604 [debug] QUERY OK source="media_items" db=0.4ms idle=11.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")))) [7] 22:55:03.605 [debug] QUERY OK source="media_items" db=0.6ms idle=9.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 ? [7, 10, 0] 22:55:03.606 [debug] QUERY OK source="sources" db=0.3ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:55:03.607 [debug] QUERY OK source="media_items" db=0.1ms idle=7.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 22:55:03.607 [debug] QUERY OK source="media_items" db=0.3ms idle=3.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 ? [7, 10, 0] 22:55:03.609 [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" = ?) [7] 22:55:03.610 [debug] QUERY OK source="media_items" db=0.4ms 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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [7] 22:55:03.611 [debug] QUERY OK source="media_items" db=0.6ms idle=3.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 ? [7, 10, 0] 22:55:03.613 [info] Sent 200 in 26ms 22:55:04.019 [info] GET /sources/3/media/115357 22:55:04.019 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "115357", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 22:55:04.020 [debug] QUERY OK source="media_items" db=0.3ms idle=412.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" = ?) [115357] 22:55:04.021 [debug] QUERY OK source="tasks" db=0.1ms idle=411.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" [115357] 22:55:04.021 [debug] QUERY OK source="sources" db=0.1ms idle=410.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:55:04.021 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=410.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" = ?) [9496] 22:55:04.022 [debug] QUERY OK source="settings" db=0.1ms idle=71.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:04.022 [debug] QUERY OK source="settings" db=0.2ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:04.023 [debug] QUERY OK source="settings" db=0.1ms queue=0.4ms 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 [] 22:55:04.024 [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] 22:55:04.026 [info] Sent 200 in 6ms 22:55:04.652 [info] GET /sources/3/media/115304 22:55:04.652 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "115304", "prevent_download" => "true", "source_id" => "3"} Pipelines: [:browser] 22:55:04.653 [debug] QUERY OK source="media_items" db=0.3ms idle=630.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" = ?) [115304] 22:55:04.653 [debug] QUERY OK source="tasks" db=0.2ms idle=631.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" [115304] 22:55:04.653 [debug] QUERY OK source="sources" db=0.3ms idle=630.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:55:04.655 [debug] QUERY OK source="oban_jobs" db=0.8ms idle=630.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" = ?) [9495] 22:55:04.655 [debug] QUERY OK source="settings" db=0.2ms idle=630.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:04.656 [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 [] 22:55:04.656 [debug] QUERY OK source="settings" db=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:04.658 [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] 22:55:04.660 [info] Sent 200 in 8ms 22:55:24.436 [info] {"source":"oban","duration":940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:43.860 [info] GET /sources/5 22:55:43.860 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "5"} Pipelines: [:browser] 22:55:43.860 [info] GET /sources/8 22:55:43.861 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "8"} Pipelines: [:browser] 22:55:43.862 [debug] QUERY OK source="sources" db=1.2ms idle=1776.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 22:55:43.862 [debug] QUERY OK source="sources" db=1.1ms idle=1777.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 22:55:43.863 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1778.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] 22:55:43.863 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1778.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] 22:55:43.863 [debug] QUERY OK source="tasks" db=0.4ms idle=864.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 (?,?,?,?)) [5, "executing", "available", "scheduled", "retryable"] 22:55:43.864 [debug] QUERY OK source="tasks" db=0.8ms idle=1.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 (?,?,?,?)) [8, "executing", "available", "scheduled", "retryable"] 22:55:43.865 [debug] QUERY OK source="oban_jobs" db=0.8ms queue=0.1ms idle=1.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" = ?) [9486] 22:55:43.865 [debug] QUERY OK source="settings" db=0.7ms queue=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 [] 22:55:43.866 [debug] QUERY OK source="settings" db=1.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 [] 22:55:43.866 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:55:43.867 [debug] QUERY OK source="settings" db=0.5ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:43.867 [debug] QUERY OK source="settings" db=0.1ms queue=0.2ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:43.868 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:43.869 [debug] QUERY OK source="sources" db=0.4ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 22:55:43.870 [debug] QUERY OK source="media_items" db=0.3ms 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")))) [5] 22:55:43.870 [debug] QUERY OK source="sources" db=1.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" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 22:55:43.871 [debug] QUERY OK source="media_items" db=0.2ms 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")))) [8] 22:55:43.871 [debug] QUERY OK source="media_items" db=1.0ms 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 ? [5, 10, 0] 22:55:43.872 [debug] QUERY OK source="sources" db=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" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 22:55:43.872 [debug] QUERY OK source="media_items" db=1.1ms 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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [8, 10, 0] 22:55:43.873 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [5] 22:55:43.873 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 22:55:43.874 [debug] QUERY OK source="media_items" db=0.4ms idle=1.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [8] 22:55:43.874 [debug] QUERY OK source="media_items" db=1.1ms idle=1.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 ? [5, 10, 0] 22:55:43.875 [debug] QUERY OK source="media_items" db=0.8ms idle=1.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 ? [8, 10, 0] 22:55:43.876 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [5] 22:55:43.876 [debug] QUERY OK source="sources" db=0.4ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 22:55:43.877 [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"))))) [5] 22:55:43.877 [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"))))) [8] 22:55:43.877 [debug] QUERY OK source="media_items" db=0.6ms 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 ? [5, 10, 0] 22:55:43.878 [debug] QUERY OK source="media_items" db=0.8ms 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 ? [8, 10, 0] 22:55:43.879 [info] Sent 200 in 18ms 22:55:43.879 [info] Sent 200 in 18ms 22:55:44.638 [info] GET /sources/3/edit 22:55:44.638 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "3"} Pipelines: [:browser] 22:55:44.639 [debug] QUERY OK source="sources" db=0.3ms idle=761.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 22:55:44.639 [debug] QUERY OK source="media_profiles" db=0.1ms idle=761.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" [] 22:55:44.640 [debug] QUERY OK source="settings" db=0.4ms idle=761.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:44.640 [debug] QUERY OK source="settings" db=0.2ms idle=761.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:44.641 [debug] QUERY OK source="settings" db=0.3ms idle=641.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:44.643 [info] Sent 200 in 5ms 22:55:45.139 [info] GET /sources/4/edit 22:55:45.140 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "4"} Pipelines: [:browser] 22:55:45.141 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=501.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [4] 22:55:45.142 [debug] QUERY OK source="media_profiles" db=0.3ms idle=501.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" [] 22:55:45.143 [debug] QUERY OK source="settings" db=0.7ms idle=502.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:45.144 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:55:45.145 [debug] QUERY OK source="settings" db=0.7ms idle=144.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:45.148 [info] Sent 200 in 8ms 22:55:51.345 [info] GET /sources/6 22:55:51.345 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 22:55:51.345 [info] GET /sources/7/edit 22:55:51.346 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "7"} Pipelines: [:browser] 22:55:51.346 [debug] QUERY OK source="sources" db=0.3ms idle=262.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 22:55:51.346 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=335.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:55:51.347 [debug] QUERY OK source="media_profiles" db=0.6ms idle=263.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" [] 22:55:51.347 [debug] QUERY OK source="media_profiles" db=0.6ms idle=263.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] 22:55:51.348 [debug] QUERY OK source="tasks" db=0.5ms idle=264.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 (?,?,?,?)) [6, "executing", "available", "scheduled", "retryable"] 22:55:51.348 [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 [] 22:55:51.349 [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 [] 22:55:51.349 [debug] QUERY OK source="oban_jobs" db=0.5ms queue=0.1ms idle=1.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" = ?) [9490] 22:55:51.349 [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 [] 22:55:51.350 [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 [] 22:55:51.350 [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 [] 22:55:51.353 [debug] QUERY OK source="settings" db=1.6ms 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 [] 22:55:51.353 [info] Sent 200 in 7ms 22:55:51.355 [debug] QUERY OK source="sources" db=0.6ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:55:51.356 [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 (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [6] 22:55:51.358 [debug] QUERY OK source="media_items" db=1.4ms idle=6.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:55:51.359 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [6] 22:55:51.359 [debug] QUERY OK source="media_items" db=0.2ms idle=6.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [6] 22:55:51.361 [debug] QUERY OK source="media_items" db=1.0ms idle=4.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [6, 10, 0] 22:55:51.362 [debug] QUERY OK source="sources" db=0.2ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:55:51.364 [debug] QUERY OK source="media_items" db=1.5ms 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 ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [6] 22:55:51.366 [debug] QUERY OK source="media_items" db=2.0ms 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 ? [6, 10, 0] 22:55:51.368 [info] Sent 200 in 22ms 22:55:51.776 [info] GET /sources/8/edit 22:55:51.776 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "8"} Pipelines: [:browser] 22:55:51.777 [debug] QUERY OK source="sources" db=0.3ms idle=417.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 22:55:51.777 [debug] QUERY OK source="media_profiles" db=0.1ms idle=416.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" [] 22:55:51.778 [debug] QUERY OK source="settings" db=0.1ms idle=415.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:51.778 [debug] QUERY OK source="settings" db=0.1ms idle=413.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:51.779 [debug] QUERY OK source="settings" db=0.1ms idle=411.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:51.781 [info] Sent 200 in 4ms 22:55:52.278 [info] GET /sources/6/edit 22:55:52.279 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "6"} Pipelines: [:browser] 22:55:52.282 [debug] QUERY OK source="sources" db=2.7ms idle=501.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [6] 22:55:52.285 [debug] QUERY OK source="media_profiles" db=2.9ms queue=0.1ms idle=504.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" [] 22:55:52.288 [debug] QUERY OK source="settings" db=2.6ms idle=507.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:52.290 [debug] QUERY OK source="settings" db=1.8ms idle=509.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:52.293 [debug] QUERY OK source="settings" db=2.4ms idle=279.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:52.296 [info] Sent 200 in 17ms 22:55:54.438 [info] {"source":"oban","duration":903,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:58.728 [info] GET /sources/5/edit 22:55:58.728 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "5"} Pipelines: [:browser] 22:55:58.728 [info] GET /sources/1/edit 22:55:58.730 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:55:58.730 [debug] QUERY OK source="sources" db=0.4ms queue=1.2ms idle=709.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 22:55:58.731 [debug] QUERY OK source="sources" db=0.4ms idle=646.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 22:55:58.731 [debug] QUERY OK source="media_profiles" db=0.2ms idle=647.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" [] 22:55:58.731 [debug] QUERY OK source="media_profiles" db=0.9ms idle=646.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" [] 22:55:58.732 [debug] QUERY OK source="settings" db=0.5ms idle=647.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:58.732 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:55:58.733 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:55:58.733 [debug] QUERY OK source="settings" db=0.7ms 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 [] 22:55:58.734 [debug] QUERY OK source="settings" db=0.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 [] 22:55:58.734 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:58.737 [info] Sent 200 in 8ms 22:55:58.738 [info] Sent 200 in 9ms 22:55:59.428 [info] GET /sources/new 22:55:59.429 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 22:55:59.429 [debug] QUERY OK source="media_profiles" db=0.2ms idle=696.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" [] 22:55:59.430 [debug] QUERY OK source="settings" db=0.1ms idle=696.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:59.430 [debug] QUERY OK source="settings" db=0.1ms idle=695.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:59.430 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=695.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:59.431 [debug] QUERY OK source="settings" db=0.1ms 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 [] 22:55:59.432 [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 [] 22:55:59.434 [info] Sent 200 in 5ms 22:55:59.927 [info] GET /sources/1/force_metadata_refresh 22:55:59.928 [debug] QUERY OK source="settings" db=0.2ms idle=498.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:55:59.928 [debug] QUERY OK source="settings" db=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 [] 22:55:59.928 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 22:55:59.929 [error] #PID<0.10127.0> running PinchflatWeb.Endpoint (connection #PID<0.10123.0>, stream id 3) terminated Server: pinchflat.homelab.simonjonas.eu:80 (http) Request: GET /sources/1/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10123.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 57128}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbnpsOWd3ell4U1lfNnItUjlnX3B4bms0.Q7DawaAJ0MwhWc8GlD9ICLtdQYzKQ1BOQu4jsaaiSb0", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbnpsOWd3ell4U1lfNnItUjlnX3B4bms0.Q7DawaAJ0MwhWc8GlD9ICLtdQYzKQ1BOQu4jsaaiSb0" }, halted: false, host: "pinchflat.homelab.simonjonas.eu", method: "GET", owner: #PID<0.10127.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://pinchflat.homelab.simonjonas.eu", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 8}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbnpsOWd3ell4U1lfNnItUjlnX3B4bms0.Q7DawaAJ0MwhWc8GlD9ICLtdQYzKQ1BOQu4jsaaiSb0" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, zstd, deflate"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbnpsOWd3ell4U1lfNnItUjlnX3B4bms0.Q7DawaAJ0MwhWc8GlD9ICLtdQYzKQ1BOQu4jsaaiSb0"}, {"host", "pinchflat.homelab.simonjonas.eu"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.217.151"}, {"x-forwarded-host", "pinchflat.homelab.simonjonas.eu"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "06bf9bd4ce7c"}, {"x-real-ip", "216.73.217.151"} ], request_path: "/sources/1/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GNXvItrBzAg_23EAAUXB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10123.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 57128}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbnpsOWd3ell4U1lfNnItUjlnX3B4bms0.Q7DawaAJ0MwhWc8GlD9ICLtdQYzKQ1BOQu4jsaaiSb0", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, 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/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.10123.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/1/force_metadata_refresh", host: "pinchflat.homelab.simonjonas.eu", peer: {{172, 18, 0, 8}, 57128}, bindings: %{}, sock: {{172, 18, 0, 12}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, zstd, deflate", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYbnpsOWd3ell4U1lfNnItUjlnX3B4bms0.Q7DawaAJ0MwhWc8GlD9ICLtdQYzKQ1BOQu4jsaaiSb0", "host" => "pinchflat.homelab.simonjonas.eu", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.217.151", "x-forwarded-host" => "pinchflat.homelab.simonjonas.eu", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "06bf9bd4ce7c", "x-real-ip" => "216.73.217.151" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 3, has_body: false, host_info: :undefined (truncated) 22:56:00.453 [info] {"source":"oban","duration":382,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 22:56:24.440 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:39.184 [info] GET /media_profiles/2/edit 22:56:39.184 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:56:39.184 [info] GET /media_profiles/2 22:56:39.184 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "2"} Pipelines: [:browser] 22:56:39.185 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1100.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] 22:56:39.185 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1100.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] 22:56:39.186 [debug] QUERY OK source="settings" db=0.4ms idle=122.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:56:39.186 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=102.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:56:39.187 [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 [] 22:56:39.190 [info] Sent 200 in 6ms 22:56:39.215 [debug] QUERY OK source="sources" db=29.4ms 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."media_profile_id" = ?) ORDER BY s0."custom_name" [2] 22:56:39.216 [debug] QUERY OK source="settings" db=0.2ms idle=30.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:56:39.216 [debug] QUERY OK source="settings" db=0.0ms idle=30.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:56:39.216 [debug] QUERY OK source="settings" db=0.2ms idle=29.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:56:39.218 [info] Sent 200 in 34ms 22:56:39.672 [info] GET /media_profiles/1 22:56:39.672 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:56:39.673 [debug] QUERY OK source="media_profiles" db=0.3ms idle=485.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] 22:56:39.674 [debug] QUERY OK source="sources" db=0.4ms idle=458.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 22:56:39.674 [debug] QUERY OK source="settings" db=0.2ms idle=458.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:56:39.675 [debug] QUERY OK source="settings" db=0.1ms idle=458.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:56:39.675 [debug] QUERY OK source="settings" db=0.2ms idle=458.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 22:56:39.677 [info] Sent 200 in 4ms 22:56:40.173 [info] GET /media_profiles/1/edit 22:56:40.173 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 22:56:40.174 [debug] QUERY OK source="media_profiles" db=0.5ms idle=499.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] 22:56:40.175 [debug] QUERY OK source="settings" db=0.6ms 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 [] 22:56:40.176 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:56:40.177 [debug] QUERY OK source="settings" db=0.3ms 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 [] 22:56:40.179 [info] Sent 200 in 6ms